diff -Nru glm-0.9.4.6/CMakeLists.txt glm-0.9.5.1/CMakeLists.txt --- glm-0.9.4.6/CMakeLists.txt 2013-09-19 19:58:08.000000000 +0000 +++ glm-0.9.5.1/CMakeLists.txt 2013-12-25 23:01:14.000000000 +0000 @@ -23,13 +23,21 @@ endif() if(GLM_TEST_ENABLE_CXX_1Y) - add_definitions(-std=c++1y) + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++1y") + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++") + set(CMAKE_CXX_FLAGS "-std=c++1y") elseif(GLM_TEST_ENABLE_CXX_11) - add_definitions(-std=c++11) + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11") + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++") + set(CMAKE_CXX_FLAGS "-std=c++11") elseif(GLM_TEST_ENABLE_CXX_0X) - add_definitions(-std=c++0x) + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x") + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++") + set(CMAKE_CXX_FLAGS "-std=c++0x") elseif(GLM_TEST_ENABLE_CXX_98) - add_definitions(-std=c++98) + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++98") + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++") + set(CMAKE_CXX_FLAGS "-std=c++98") endif() endif() @@ -41,23 +49,53 @@ endif() endif() -#set(GLM_SIMD_INSTRUCTION_SET "" CACHE STRING "Instruction set. Possible values are SSE1, SSE2") +option(GLM_TEST_ENABLE_SIMD_SSE2 "Enable SSE2 optimizations" OFF) +option(GLM_TEST_ENABLE_SIMD_SSE3 "Enable SSE3 optimizations" OFF) +option(GLM_TEST_ENABLE_SIMD_AVX "Enable AVX optimizations" OFF) +option(GLM_TEST_ENABLE_SIMD_AVX2 "Enable AVX2 optimizations" OFF) +option(GLM_TEST_FORCE_PURE "Force 'pure' instructions" OFF) + +if(GLM_TEST_FORCE_PURE) + add_definitions(-DGLM_FORCE_PURE) -option(GLM_TEST_ENABLE_SIMD "Enable SIMD optimizations" OFF) -if(GLM_TEST_ENABLE_SIMD) if(CMAKE_COMPILER_IS_GNUCXX) - add_definitions(-msse2) - elseif(MSVC10) + add_definitions(-mfpmath=387) + elseif(MSVC) + add_definitions(/arch:IA32) + endif() +elseif(GLM_TEST_ENABLE_AVX2) + if(CMAKE_COMPILER_IS_GNUCXX) + add_definitions(-mavx2) + elseif(GLM_USE_INTEL) + add_definitions(/QxAVX2) + elseif(MSVC) + add_definitions(/arch:AVX2) + endif() +elseif(GLM_TEST_ENABLE_AVX) + if(CMAKE_COMPILER_IS_GNUCXX) + add_definitions(-mavx) + elseif(GLM_USE_INTEL) + add_definitions(/QxAVX) + elseif(MSVC) add_definitions(/arch:AVX) + endif() +elseif(GLM_TEST_ENABLE_SSE3) + if(CMAKE_COMPILER_IS_GNUCXX) + add_definitions(-msse3) + elseif(GLM_USE_INTEL) + add_definitions(/QxSSE3) elseif(MSVC) - add_definitions(/arch:SSE2) + add_definitions(/arch:SSE2) # VC doesn't support /arch:SSE3 endif() -elseif(NOT GLM_TEST_ENABLE_SIMD) - - add_definitions(-DGLM_FORCE_PURE) - +elseif(GLM_TEST_ENABLE_SSE2) if(CMAKE_COMPILER_IS_GNUCXX) - add_definitions(-mfpmath=387) + add_definitions(-msse2) + elseif(GLM_USE_INTEL) + add_definitions(/QxSSE2) + elseif(MSVC) + if(NOT CMAKE_CL_64) + add_definitions(/arch:SSE2) + endif() endif() endif() diff -Nru glm-0.9.4.6/debian/changelog glm-0.9.5.1/debian/changelog --- glm-0.9.4.6/debian/changelog 2013-10-09 21:07:22.000000000 +0000 +++ glm-0.9.5.1/debian/changelog 2014-02-05 15:47:46.000000000 +0000 @@ -1,3 +1,19 @@ +glm (0.9.5.1-1) unstable; urgency=medium + + * New upstream release. + - Fixes attempt to access private class members. Closes: #736264 + * Apply commit d7862e4 from upstream to prevent the tests from trying to use + SSE2 instructions on platforms that don't support them. Closes: #735270 + + -- Guus Sliepen Wed, 05 Feb 2014 16:47:42 +0100 + +glm (0.9.5.0-1) unstable; urgency=medium + + * New upstream release. + * Bump Standards-Version. + + -- Guus Sliepen Tue, 07 Jan 2014 14:49:22 +0100 + glm (0.9.4.6-2) unstable; urgency=low [ Steve Langasek ] diff -Nru glm-0.9.4.6/debian/control glm-0.9.5.1/debian/control --- glm-0.9.4.6/debian/control 2013-10-09 21:04:09.000000000 +0000 +++ glm-0.9.5.1/debian/control 2014-01-07 13:49:02.000000000 +0000 @@ -2,7 +2,7 @@ Priority: extra Maintainer: Guus Sliepen Build-Depends: debhelper (>= 7.0.50~), cmake -Standards-Version: 3.9.4 +Standards-Version: 3.9.5 Section: libs Homepage: http://glm.g-truc.net/ diff -Nru glm-0.9.4.6/debian/libglm-dev.install glm-0.9.5.1/debian/libglm-dev.install --- glm-0.9.4.6/debian/libglm-dev.install 2011-05-16 13:06:28.000000000 +0000 +++ glm-0.9.5.1/debian/libglm-dev.install 2014-01-07 13:39:10.000000000 +0000 @@ -1,5 +1,5 @@ glm/*.hpp usr/include/glm/ -glm/core usr/include/glm/ +glm/detail usr/include/glm/ glm/gtc usr/include/glm/ glm/gtx usr/include/glm/ glm/virtrev usr/include/glm/ diff -Nru glm-0.9.4.6/debian/libglm-doc.install glm-0.9.5.1/debian/libglm-doc.install --- glm-0.9.4.6/debian/libglm-doc.install 2013-04-19 13:31:16.000000000 +0000 +++ glm-0.9.5.1/debian/libglm-doc.install 2014-01-07 13:45:37.000000000 +0000 @@ -2,4 +2,3 @@ doc/api/*.css usr/share/doc/libglm-doc/html/ doc/api/*.html usr/share/doc/libglm-doc/html/ doc/api/*.png usr/share/doc/libglm-doc/html/ -doc/api/*.jpg usr/share/doc/libglm-doc/html/ diff -Nru glm-0.9.4.6/debian/patches/Fixed-SSE-code-included-in-GLM-tests-on-pure-platfor.patch glm-0.9.5.1/debian/patches/Fixed-SSE-code-included-in-GLM-tests-on-pure-platfor.patch --- glm-0.9.4.6/debian/patches/Fixed-SSE-code-included-in-GLM-tests-on-pure-platfor.patch 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/debian/patches/Fixed-SSE-code-included-in-GLM-tests-on-pure-platfor.patch 2014-02-05 15:38:24.000000000 +0000 @@ -0,0 +1,98 @@ +From d7862e4bb5d58415dd8697b99f85969759dea7b6 Mon Sep 17 00:00:00 2001 +From: Christophe Riccio +Date: Tue, 14 Jan 2014 14:07:09 +0100 +Subject: [PATCH] Fixed SSE code included in GLM tests on pure platforms + +--- + readme.txt | 1 + + test/gtx/gtx_bit.cpp | 14 +++++++++----- + test/gtx/gtx_int_10_10_10_2.cpp | 3 --- + test/gtx/gtx_mixed_product.cpp | 3 --- + 4 files changed, 10 insertions(+), 11 deletions(-) + +--- a/test/gtx/gtx_bit.cpp ++++ b/test/gtx/gtx_bit.cpp +@@ -11,7 +11,6 @@ + #include + #include + +-#include + #if(GLM_ARCH != GLM_ARCH_PURE) + # include + #endif +@@ -152,6 +151,7 @@ + return REG1 | (REG2 << 1); + } + ++#if(GLM_ARCH != GLM_ARCH_PURE) + inline glm::uint64 sseBitfieldInterleave(glm::uint32 x, glm::uint32 y) + { + GLM_ALIGN(16) glm::uint32 const Array[4] = {x, 0, y, 0}; +@@ -267,6 +267,7 @@ + + return Result[0]; + } ++#endif//(GLM_ARCH != GLM_ARCH_PURE) + + int test() + { +@@ -287,16 +288,17 @@ + glm::uint64 B = fastBitfieldInterleave(x, y); + glm::uint64 C = loopBitfieldInterleave(x, y); + glm::uint64 D = interleaveBitfieldInterleave(x, y); +- glm::uint64 E = sseBitfieldInterleave(x, y); +- glm::uint64 F = sseUnalignedBitfieldInterleave(x, y); + + assert(A == B); + assert(A == C); + assert(A == D); +- assert(A == E); +- assert(A == F); + + # if(GLM_ARCH != GLM_ARCH_PURE) ++ glm::uint64 E = sseBitfieldInterleave(x, y); ++ glm::uint64 F = sseUnalignedBitfieldInterleave(x, y); ++ assert(A == E); ++ assert(A == F); ++ + __m128i G = glm::detail::_mm_bit_interleave_si128(_mm_set_epi32(0, y, 0, x)); + glm::uint64 Result[2]; + _mm_storeu_si128((__m128i*)Result, G); +@@ -366,6 +368,7 @@ + std::cout << "interleaveBitfieldInterleave Time " << Time << " clocks" << std::endl; + } + ++# if(GLM_ARCH != GLM_ARCH_PURE) + { + std::clock_t LastTime = std::clock(); + +@@ -387,6 +390,7 @@ + + std::cout << "sseUnalignedBitfieldInterleave Time " << Time << " clocks" << std::endl; + } ++# endif//(GLM_ARCH != GLM_ARCH_PURE) + + { + std::clock_t LastTime = std::clock(); +--- a/test/gtx/gtx_int_10_10_10_2.cpp ++++ b/test/gtx/gtx_int_10_10_10_2.cpp +@@ -7,8 +7,6 @@ + // File : test/gtx/associated_min_max.cpp + /////////////////////////////////////////////////////////////////////////////////////////////////// + +-#include +- + #include + #include + #include +--- a/test/gtx/gtx_mixed_product.cpp ++++ b/test/gtx/gtx_mixed_product.cpp +@@ -7,8 +7,6 @@ + // File : test/gtx/associated_min_max.cpp + /////////////////////////////////////////////////////////////////////////////////////////////////// + +-#include +- + #include + #include + #include diff -Nru glm-0.9.4.6/debian/patches/series glm-0.9.5.1/debian/patches/series --- glm-0.9.4.6/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/debian/patches/series 2014-02-05 15:34:04.000000000 +0000 @@ -0,0 +1 @@ +Fixed-SSE-code-included-in-GLM-tests-on-pure-platfor.patch diff -Nru glm-0.9.4.6/doc/api/a00001.html glm-0.9.5.1/doc/api/a00001.html --- glm-0.9.4.6/doc/api/a00001.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00001.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,55 +0,0 @@ - - - - - -Differences between GLSL and GLM core - - - - - - -
-
- - - - - - -
-
- - - -
-
-
-
Differences between GLSL and GLM core
-
-
-

GLM comes very close to replicating GLSL, but it is not exact. Here is a list of differences between GLM and GLSL:

-
    -
  • -

    Precision qualifiers. In GLSL numeric types can have qualifiers that define the precision of that type. While OpenGL's GLSL ignores these qualifiers, OpenGL ES's version of GLSL uses them.

    -

    C++ has no language equivalent to precision qualifiers. Instead, GLM provides a set of typedefs for each kind of precision qualifier and type. These types can be found in their own section.

    -

    Functions that take types tend to be templated on those types, so they can take these qualified types just as well as the regular ones.

    -
  • -
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00002.html glm-0.9.5.1/doc/api/a00002.html --- glm-0.9.4.6/doc/api/a00002.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00002.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,68 +1,61 @@ - - - - - -_detail.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
_detail.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-07-24 / 2011-06-14
-
Author
Christophe Riccio
- -

Definition in file _detail.hpp.

-
- - - - + + + + + + +GLM: Differences between GLSL and GLM core + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+
+
Differences between GLSL and GLM core
+
+
+

GLM comes very close to replicating GLSL, but it is not exact. Here is a list of differences between GLM and GLSL:

+
    +
  • +

    Precision qualifiers. In GLSL numeric types can have qualifiers that define the precision of that type. While OpenGL's GLSL ignores these qualifiers, OpenGL ES's version of GLSL uses them.

    +

    C++ has no language equivalent to precision qualifiers. Instead, GLM provides a set of typedefs for each kind of precision qualifier and type. These types can be found in their own section.

    +

    Functions that take types tend to be templated on those types, so they can take these qualified types just as well as the regular ones.

    +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00002_source.html glm-0.9.5.1/doc/api/a00002_source.html --- glm-0.9.4.6/doc/api/a00002_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00002_source.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,522 +0,0 @@ - - - - - -_detail.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
_detail.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_detail
-
30 #define glm_core_detail
-
31 
-
32 #include "setup.hpp"
-
33 #include <cassert>
-
34 #if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))
-
35 #include <cstdint>
-
36 #endif
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  class half;
-
42 
-
43 #if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available
-
44  typedef int64_t sint64;
-
45  typedef uint64_t uint64;
-
46 #elif(GLM_COMPILER & GLM_COMPILER_VC)
-
47  typedef signed __int64 sint64;
-
48  typedef unsigned __int64 uint64;
-
49 #elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC | GLM_COMPILER_CLANG))
-
50  __extension__ typedef signed long long sint64;
-
51  __extension__ typedef unsigned long long uint64;
-
52 #elif(GLM_COMPILER & GLM_COMPILER_BC)
-
53  typedef Int64 sint64;
-
54  typedef Uint64 uint64;
-
55 #else//unknown compiler
-
56  typedef signed long long sint64;
-
57  typedef unsigned long long uint64;
-
58 #endif//GLM_COMPILER
-
59 
-
60  template<bool C>
-
61  struct If
-
62  {
-
63  template<typename F, typename T>
-
64  static GLM_FUNC_QUALIFIER T apply(F functor, const T& val)
-
65  {
-
66  return functor(val);
-
67  }
-
68  };
-
69 
-
70  template<>
-
71  struct If<false>
-
72  {
-
73  template<typename F, typename T>
-
74  static GLM_FUNC_QUALIFIER T apply(F, const T& val)
-
75  {
-
76  return val;
-
77  }
-
78  };
-
79 
-
80  //template <typename T>
-
81  //struct traits
-
82  //{
-
83  // static const bool is_signed = false;
-
84  // static const bool is_float = false;
-
85  // static const bool is_vector = false;
-
86  // static const bool is_matrix = false;
-
87  // static const bool is_genType = false;
-
88  // static const bool is_genIType = false;
-
89  // static const bool is_genUType = false;
-
90  //};
-
91 
-
92  //template <>
-
93  //struct traits<half>
-
94  //{
-
95  // static const bool is_float = true;
-
96  // static const bool is_genType = true;
-
97  //};
-
98 
-
99  //template <>
-
100  //struct traits<float>
-
101  //{
-
102  // static const bool is_float = true;
-
103  // static const bool is_genType = true;
-
104  //};
-
105 
-
106  //template <>
-
107  //struct traits<double>
-
108  //{
-
109  // static const bool is_float = true;
-
110  // static const bool is_genType = true;
-
111  //};
-
112 
-
113  //template <typename genType>
-
114  //struct desc
-
115  //{
-
116  // typedef genType type;
-
117  // typedef genType * pointer;
-
118  // typedef genType const* const_pointer;
-
119  // typedef genType const *const const_pointer_const;
-
120  // typedef genType *const pointer_const;
-
121  // typedef genType & reference;
-
122  // typedef genType const& const_reference;
-
123  // typedef genType const& param_type;
-
124 
-
125  // typedef typename genType::value_type value_type;
-
126  // typedef typename genType::size_type size_type;
-
127  // static const typename size_type value_size;
-
128  //};
-
129 
-
130  //template <typename genType>
-
131  //const typename desc<genType>::size_type desc<genType>::value_size = genType::value_size();
-
132 
-
133  union uif32
-
134  {
-
135  GLM_FUNC_QUALIFIER uif32() :
-
136  i(0)
-
137  {}
-
138 
-
139  GLM_FUNC_QUALIFIER uif32(float f) :
-
140  f(f)
-
141  {}
-
142 
-
143  GLM_FUNC_QUALIFIER uif32(unsigned int i) :
-
144  i(i)
-
145  {}
-
146 
-
147  float f;
-
148  unsigned int i;
-
149  };
-
150 
-
151  union uif64
-
152  {
-
153  GLM_FUNC_QUALIFIER uif64() :
-
154  i(0)
-
155  {}
-
156 
-
157  GLM_FUNC_QUALIFIER uif64(double f) :
-
158  f(f)
-
159  {}
-
160 
-
161  GLM_FUNC_QUALIFIER uif64(uint64 i) :
-
162  i(i)
-
163  {}
-
164 
-
165  double f;
-
166  uint64 i;
-
167  };
-
168 
-
169  typedef uif32 uif;
-
170 
-
172  // int
-
173 
-
174  template <typename T>
-
175  struct is_int
-
176  {
-
177  enum is_int_enum
-
178  {
-
179  _YES = 0,
-
180  _NO = 1
-
181  };
-
182  };
-
183 
-
184 #define GLM_DETAIL_IS_INT(T) \
-
185  template <> \
-
186  struct is_int<T> \
-
187  { \
-
188  enum is_int_enum \
-
189  { \
-
190  _YES = 1, \
-
191  _NO = 0 \
-
192  }; \
-
193  }
-
194 
-
196  // uint
-
197 
-
198  template <typename T>
-
199  struct is_uint
-
200  {
-
201  enum is_uint_enum
-
202  {
-
203  _YES = 0,
-
204  _NO = 1
-
205  };
-
206  };
-
207 
-
208 #define GLM_DETAIL_IS_UINT(T) \
-
209  template <> \
-
210  struct is_uint<T> \
-
211  { \
-
212  enum is_uint_enum \
-
213  { \
-
214  _YES = 1, \
-
215  _NO = 0 \
-
216  }; \
-
217  }
-
218 
-
219  //GLM_DETAIL_IS_UINT(unsigned long long)
-
220 
-
222  // float
-
223 
-
224  template <typename T>
-
225  struct is_float
-
226  {
-
227  enum is_float_enum
-
228  {
-
229  _YES = 0,
-
230  _NO = 1
-
231  };
-
232  };
-
233 
-
234 #define GLM_DETAIL_IS_FLOAT(T) \
-
235  template <> \
-
236  struct is_float<T> \
-
237  { \
-
238  enum is_float_enum \
-
239  { \
-
240  _YES = 1, \
-
241  _NO = 0 \
-
242  }; \
-
243  }
-
244 
-
245  GLM_DETAIL_IS_FLOAT(detail::half);
-
246  GLM_DETAIL_IS_FLOAT(float);
-
247  GLM_DETAIL_IS_FLOAT(double);
-
248  GLM_DETAIL_IS_FLOAT(long double);
-
249 
-
251  // bool
-
252 
-
253  template <typename T>
-
254  struct is_bool
-
255  {
-
256  enum is_bool_enum
-
257  {
-
258  _YES = 0,
-
259  _NO = 1
-
260  };
-
261  };
-
262 
-
263  template <>
-
264  struct is_bool<bool>
-
265  {
-
266  enum is_bool_enum
-
267  {
-
268  _YES = 1,
-
269  _NO = 0
-
270  };
-
271  };
-
272 
-
274  // vector
-
275 
-
276  template <typename T>
-
277  struct is_vector
-
278  {
-
279  enum is_vector_enum
-
280  {
-
281  _YES = 0,
-
282  _NO = 1
-
283  };
-
284  };
-
285 
-
286 # define GLM_DETAIL_IS_VECTOR(TYPE) \
-
287  template <typename T> \
-
288  struct is_vector<TYPE<T> > \
-
289  { \
-
290  enum is_vector_enum \
-
291  { \
-
292  _YES = 1, \
-
293  _NO = 0 \
-
294  }; \
-
295  }
-
296 
-
298  // matrix
-
299 
-
300  template <typename T>
-
301  struct is_matrix
-
302  {
-
303  enum is_matrix_enum
-
304  {
-
305  _YES = 0,
-
306  _NO = 1
-
307  };
-
308  };
-
309 
-
310 #define GLM_DETAIL_IS_MATRIX(T) \
-
311  template <> \
-
312  struct is_matrix \
-
313  { \
-
314  enum is_matrix_enum \
-
315  { \
-
316  _YES = 1, \
-
317  _NO = 0 \
-
318  }; \
-
319  }
-
320 
-
322  // type
-
323 
-
324  template <typename T>
-
325  struct type
-
326  {
-
327  enum type_enum
-
328  {
-
329  is_float = is_float<T>::_YES,
-
330  is_int = is_int<T>::_YES,
-
331  is_uint = is_uint<T>::_YES,
-
332  is_bool = is_bool<T>::_YES
-
333  };
-
334  };
-
335 
-
337  // type
-
338 
-
339  typedef signed char int8;
-
340  typedef signed short int16;
-
341  typedef signed int int32;
-
342  typedef detail::sint64 int64;
-
343 
-
344  typedef unsigned char uint8;
-
345  typedef unsigned short uint16;
-
346  typedef unsigned int uint32;
-
347  typedef detail::uint64 uint64;
-
348 
-
349  typedef detail::half float16;
-
350  typedef float float32;
-
351  typedef double float64;
-
352 
-
354  // float_or_int_trait
-
355 
-
356  struct float_or_int_value
-
357  {
-
358  enum
-
359  {
-
360  GLM_ERROR,
-
361  GLM_FLOAT,
-
362  GLM_INT
-
363  };
-
364  };
-
365 
-
366  template <typename T>
-
367  struct float_or_int_trait
-
368  {
-
369  enum{ID = float_or_int_value::GLM_ERROR};
-
370  };
-
371 
-
372  template <>
-
373  struct float_or_int_trait<int8>
-
374  {
-
375  enum{ID = float_or_int_value::GLM_INT};
-
376  };
-
377 
-
378  template <>
-
379  struct float_or_int_trait<int16>
-
380  {
-
381  enum{ID = float_or_int_value::GLM_INT};
-
382  };
-
383 
-
384  template <>
-
385  struct float_or_int_trait<int32>
-
386  {
-
387  enum{ID = float_or_int_value::GLM_INT};
-
388  };
-
389 
-
390  template <>
-
391  struct float_or_int_trait<int64>
-
392  {
-
393  enum{ID = float_or_int_value::GLM_INT};
-
394  };
-
395 
-
396  template <>
-
397  struct float_or_int_trait<uint8>
-
398  {
-
399  enum{ID = float_or_int_value::GLM_INT};
-
400  };
-
401 
-
402  template <>
-
403  struct float_or_int_trait<uint16>
-
404  {
-
405  enum{ID = float_or_int_value::GLM_INT};
-
406  };
-
407 
-
408  template <>
-
409  struct float_or_int_trait<uint32>
-
410  {
-
411  enum{ID = float_or_int_value::GLM_INT};
-
412  };
-
413 
-
414  template <>
-
415  struct float_or_int_trait<uint64>
-
416  {
-
417  enum{ID = float_or_int_value::GLM_INT};
-
418  };
-
419 
-
420  template <>
-
421  struct float_or_int_trait<float16>
-
422  {
-
423  enum{ID = float_or_int_value::GLM_FLOAT};
-
424  };
-
425 
-
426  template <>
-
427  struct float_or_int_trait<float32>
-
428  {
-
429  enum{ID = float_or_int_value::GLM_FLOAT};
-
430  };
-
431 
-
432  template <>
-
433  struct float_or_int_trait<float64>
-
434  {
-
435  enum{ID = float_or_int_value::GLM_FLOAT};
-
436  };
-
437 
-
438 }//namespace detail
-
439 }//namespace glm
-
440 
-
441 #if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2005))
-
442 # define GLM_DEPRECATED __declspec(deprecated)
-
443 # define GLM_ALIGN(x) __declspec(align(x))
-
444 # define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct
-
445 # define GLM_RESTRICT __declspec(restrict)
-
446 # define GLM_RESTRICT_VAR __restrict
-
447 # define GLM_CONSTEXPR
-
448 #elif((GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC)) && (GLM_COMPILER >= GLM_COMPILER_GCC31))
-
449 # define GLM_DEPRECATED __attribute__((__deprecated__))
-
450 # define GLM_ALIGN(x) __attribute__((aligned(x)))
-
451 # define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x)))
-
452 # if(GLM_COMPILER >= GLM_COMPILER_GCC33)
-
453 # define GLM_RESTRICT __restrict__
-
454 # define GLM_RESTRICT_VAR __restrict__
-
455 # else
-
456 # define GLM_RESTRICT
-
457 # define GLM_RESTRICT_VAR
-
458 # endif
-
459 # define GLM_RESTRICT __restrict__
-
460 # define GLM_RESTRICT_VAR __restrict__
-
461 # if((GLM_COMPILER >= GLM_COMPILER_GCC47) && ((GLM_LANG & GLM_LANG_CXX0X) == GLM_LANG_CXX0X))
-
462 # define GLM_CONSTEXPR constexpr
-
463 # else
-
464 # define GLM_CONSTEXPR
-
465 # endif
-
466 #else
-
467 # define GLM_DEPRECATED
-
468 # define GLM_ALIGN
-
469 # define GLM_ALIGNED_STRUCT(x)
-
470 # define GLM_RESTRICT
-
471 # define GLM_RESTRICT_VAR
-
472 # define GLM_CONSTEXPR
-
473 #endif//GLM_COMPILER
-
474 
-
475 #endif//glm_core_detail
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00003.html glm-0.9.5.1/doc/api/a00003.html --- glm-0.9.4.6/doc/api/a00003.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00003.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ - - - - - -_fixes.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
_fixes.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2011-02-21 / 2011-11-22
-
Author
Christophe Riccio
- -

Definition in file _fixes.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00003_source.html glm-0.9.5.1/doc/api/a00003_source.html --- glm-0.9.4.6/doc/api/a00003_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00003_source.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,106 +0,0 @@ - - - - - -_fixes.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
_fixes.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #include <cmath>
-
30 
-
32 #ifdef max
-
33 #undef max
-
34 #endif
-
35 
-
37 #ifdef min
-
38 #undef min
-
39 #endif
-
40 
-
42 #ifdef isnan
-
43 #undef isnan
-
44 #endif
-
45 
-
47 #ifdef isinf
-
48 #undef isinf
-
49 #endif
-
50 
-
52 #ifdef log2
-
53 #undef log2
-
54 #endif
-
55 
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00004.html glm-0.9.5.1/doc/api/a00004.html --- glm-0.9.4.6/doc/api/a00004.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00004.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ - - - - - -_swizzle.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
_swizzle.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2006-04-20 / 2011-02-16
-
Author
Christophe Riccio
- -

Definition in file _swizzle.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00004_source.html glm-0.9.5.1/doc/api/a00004_source.html --- glm-0.9.4.6/doc/api/a00004_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00004_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,892 +1,462 @@ - - - - - -_swizzle.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
_swizzle.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_swizzle
-
30 #define glm_core_swizzle
-
31 
-
32 #include "_swizzle_func.hpp"
-
33 
-
34 namespace glm
-
35 {
-
36  enum comp
-
37  {
-
38  X = 0,
-
39  R = 0,
-
40  S = 0,
-
41  Y = 1,
-
42  G = 1,
-
43  T = 1,
-
44  Z = 2,
-
45  B = 2,
-
46  P = 2,
-
47  W = 3,
-
48  A = 3,
-
49  Q = 3
-
50  };
-
51 }//namespace glm
-
52 
-
53 namespace glm{
-
54 namespace detail
-
55 {
-
56  // Internal class for implementing swizzle operators
-
57  template <typename T, int N>
-
58  struct _swizzle_base0
-
59  {
-
60  typedef T value_type;
-
61 
-
62  protected:
-
63  value_type& elem (size_t i) { return (reinterpret_cast<value_type*>(_buffer))[i]; }
-
64  const value_type& elem (size_t i) const { return (reinterpret_cast<const value_type*>(_buffer))[i]; }
-
65 
-
66  // Use an opaque buffer to *ensure* the compiler doesn't call a constructor.
-
67  // The size 1 buffer is assumed to aligned to the actual members so that the
-
68  // elem()
-
69  char _buffer[1];
-
70  };
-
71 
-
72  template <typename T, typename V, int E0, int E1, int E2, int E3, int N>
-
73  struct _swizzle_base1 : public _swizzle_base0<T,N>
-
74  {
-
75  };
-
76 
-
77  template <typename T, typename V, int E0, int E1>
-
78  struct _swizzle_base1<T,V,E0,E1,-1,-2,2> : public _swizzle_base0<T,2>
-
79  {
-
80  V operator ()() const { return V(this->elem(E0), this->elem(E1)); }
-
81  };
-
82 
-
83  template <typename T, typename V, int E0, int E1, int E2>
-
84  struct _swizzle_base1<T,V,E0,E1,E2,-1,3> : public _swizzle_base0<T,3>
-
85  {
-
86  V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2)); }
-
87  };
-
88 
-
89  template <typename T, typename V, int E0, int E1, int E2, int E3>
-
90  struct _swizzle_base1<T,V,E0,E1,E2,E3,4> : public _swizzle_base0<T,4>
-
91  {
-
92  V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }
-
93  };
-
94 
-
95  // Internal class for implementing swizzle operators
-
96  /*
-
97  Template parameters:
-
98 
-
99  ValueType = type of scalar values (e.g. float, double)
-
100  VecType = class the swizzle is applies to (e.g. tvec3<float>)
-
101  N = number of components in the vector (e.g. 3)
-
102  E0...3 = what index the n-th element of this swizzle refers to in the unswizzled vec
-
103 
-
104  DUPLICATE_ELEMENTS = 1 if there is a repeated element, 0 otherwise (used to specialize swizzles
-
105  containing duplicate elements so that they cannot be used as r-values).
-
106  */
-
107  template <typename ValueType, typename VecType, int N, int E0, int E1, int E2, int E3, int DUPLICATE_ELEMENTS>
-
108  struct _swizzle_base2 : public _swizzle_base1<ValueType,VecType,E0,E1,E2,E3,N>
-
109  {
-
110  typedef VecType vec_type;
-
111  typedef ValueType value_type;
-
112 
-
113  _swizzle_base2& operator= (const ValueType& t)
-
114  {
-
115  for (int i = 0; i < N; ++i)
-
116  (*this)[i] = t;
-
117  return *this;
-
118  }
-
119 
-
120  _swizzle_base2& operator= (const VecType& that)
-
121  {
-
122  struct op {
-
123  void operator() (value_type& e, value_type& t) { e = t; }
-
124  };
-
125  _apply_op(that, op());
-
126  return *this;
-
127  }
-
128 
-
129  void operator -= (const VecType& that)
-
130  {
-
131  struct op {
-
132  void operator() (value_type& e, value_type& t) { e -= t; }
-
133  };
-
134  _apply_op(that, op());
-
135  }
-
136 
-
137  void operator += (const VecType& that)
-
138  {
-
139  struct op {
-
140  void operator() (value_type& e, value_type& t) { e += t; }
-
141  };
-
142  _apply_op(that, op());
-
143  }
-
144 
-
145  void operator *= (const VecType& that)
-
146  {
-
147  struct op {
-
148  void operator() (value_type& e, value_type& t) { e *= t; }
-
149  };
-
150  _apply_op(that, op());
-
151  }
-
152 
-
153  void operator /= (const VecType& that)
-
154  {
-
155  struct op {
-
156  void operator() (value_type& e, value_type& t) { e /= t; }
-
157  };
-
158  _apply_op(that, op());
-
159  }
-
160 
-
161  value_type& operator[] (size_t i)
-
162  {
-
163  static const int offset_dst[4] = { E0, E1, E2, E3 };
-
164  return this->elem(offset_dst[i]);
-
165  }
-
166  value_type operator[] (size_t i) const
-
167  {
-
168  static const int offset_dst[4] = { E0, E1, E2, E3 };
-
169  return this->elem(offset_dst[i]);
-
170  }
-
171  protected:
-
172  template <typename T>
-
173  void _apply_op(const VecType& that, T op)
-
174  {
-
175  // Make a copy of the data in this == &that.
-
176  // The copier should optimize out the copy in cases where the function is
-
177  // properly inlined and the copy is not necessary.
-
178  ValueType t[N];
-
179  for (int i = 0; i < N; ++i)
-
180  t[i] = that[i];
-
181  for (int i = 0; i < N; ++i)
-
182  op( (*this)[i], t[i] );
-
183  }
-
184  };
-
185 
-
186  // Specialization for swizzles containing duplicate elements. These cannot be modified.
-
187  template <typename ValueType, typename VecType, int N, int E0, int E1, int E2, int E3>
-
188  struct _swizzle_base2<ValueType,VecType,N,E0,E1,E2,E3,1> : public _swizzle_base1<ValueType,VecType,E0,E1,E2,E3,N>
-
189  {
-
190  typedef VecType vec_type;
-
191  typedef ValueType value_type;
-
192 
-
193  struct Stub {};
-
194  _swizzle_base2& operator= (Stub const &) {}
-
195 
-
196  value_type operator[] (size_t i) const
-
197  {
-
198  static const int offset_dst[4] = { E0, E1, E2, E3 };
-
199  return this->elem(offset_dst[i]);
-
200  }
-
201  };
-
202 
-
203  template <int N,typename ValueType, typename VecType, int E0,int E1,int E2,int E3>
-
204  struct swizzle : public _swizzle_base2<ValueType,VecType,N,E0,E1,E2,E3,(E0==E1||E0==E2||E0==E3||E1==E2||E1==E3||E2==E3)>
-
205  {
-
206  typedef _swizzle_base2<ValueType,VecType,N,E0,E1,E2,E3,(E0==E1||E0==E2||E0==E3||E1==E2||E1==E3||E2==E3)> base_type;
-
207 
-
208  using base_type::operator=;
-
209 
-
210  operator VecType () const { return (*this)(); }
-
211  };
-
212 
-
213 //
-
214 // To prevent the C++ syntax from getting entirely overwhelming, define some alias macros
-
215 //
-
216 #define _GLM_SWIZZLE_TEMPLATE1 template <int N, typename T, typename V, int E0, int E1, int E2, int E3>
-
217 #define _GLM_SWIZZLE_TEMPLATE2 template <int N, typename T, typename V, int E0, int E1, int E2, int E3, int F0, int F1, int F2, int F3>
-
218 #define _GLM_SWIZZLE_TYPE1 glm::detail::swizzle<N,T,V,E0,E1,E2,E3>
-
219 #define _GLM_SWIZZLE_TYPE2 glm::detail::swizzle<N,T,V,F0,F1,F2,F3>
-
220 
-
221 //
-
222 // Wrapper for a binary operator (e.g. u.yy + v.zy)
-
223 //
-
224 #define _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
-
225  _GLM_SWIZZLE_TEMPLATE2 \
-
226  V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
-
227  { \
-
228  return a() OPERAND b(); \
-
229  } \
-
230  _GLM_SWIZZLE_TEMPLATE1 \
-
231  V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const V& b) \
-
232  { \
-
233  return a() OPERAND b; \
-
234  } \
-
235  _GLM_SWIZZLE_TEMPLATE1 \
-
236  V operator OPERAND ( const V& a, const _GLM_SWIZZLE_TYPE1& b) \
-
237  { \
-
238  return a OPERAND b(); \
-
239  }
-
240 
-
241 //
-
242 // Wrapper for a operand between a swizzle and a binary (e.g. 1.0f - u.xyz)
-
243 //
-
244 #define _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
-
245  _GLM_SWIZZLE_TEMPLATE1 \
-
246  V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const T& b) \
-
247  { \
-
248  return a() OPERAND b; \
-
249  } \
-
250  _GLM_SWIZZLE_TEMPLATE1 \
-
251  V operator OPERAND ( const T& a, const _GLM_SWIZZLE_TYPE1& b) \
-
252  { \
-
253  return a OPERAND b(); \
-
254  }
-
255 
-
256 //
-
257 // Macro for wrapping a function taking one argument (e.g. abs())
-
258 //
-
259 #define _GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION) \
-
260  _GLM_SWIZZLE_TEMPLATE1 \
-
261  typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a) \
-
262  { \
-
263  return FUNCTION(a()); \
-
264  }
-
265 
-
266 //
-
267 // Macro for wrapping a function taking two vector arguments (e.g. dot()).
-
268 //
-
269 #define _GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION) \
-
270  _GLM_SWIZZLE_TEMPLATE2 \
-
271  typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
-
272  { \
-
273  return FUNCTION(a(), b()); \
-
274  } \
-
275  _GLM_SWIZZLE_TEMPLATE1 \
-
276  typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b) \
-
277  { \
-
278  return FUNCTION(a(), b()); \
-
279  } \
-
280  _GLM_SWIZZLE_TEMPLATE1 \
-
281  typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename V& b) \
-
282  { \
-
283  return FUNCTION(a(), b); \
-
284  } \
-
285  _GLM_SWIZZLE_TEMPLATE1 \
-
286  typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const _GLM_SWIZZLE_TYPE1& b) \
-
287  { \
-
288  return FUNCTION(a, b()); \
-
289  }
-
290 
-
291 //
-
292 // Macro for wrapping a function take 2 vec arguments followed by a scalar (e.g. mix()).
-
293 //
-
294 #define _GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION) \
-
295  _GLM_SWIZZLE_TEMPLATE2 \
-
296  typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b, const T& c) \
-
297  { \
-
298  return FUNCTION(a(), b(), c); \
-
299  } \
-
300  _GLM_SWIZZLE_TEMPLATE1 \
-
301  typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
-
302  { \
-
303  return FUNCTION(a(), b(), c); \
-
304  } \
-
305  _GLM_SWIZZLE_TEMPLATE1 \
-
306  typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\
-
307  { \
-
308  return FUNCTION(a(), b, c); \
-
309  } \
-
310  _GLM_SWIZZLE_TEMPLATE1 \
-
311  typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
-
312  { \
-
313  return FUNCTION(a, b(), c); \
-
314  }
-
315 
-
316 }//namespace detail
-
317 }//namespace glm
-
318 
-
319 namespace glm
-
320 {
-
321  namespace detail
-
322  {
-
323  _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(-)
-
324  _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(*)
-
325  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(+)
-
326  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(-)
-
327  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(*)
-
328  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(/)
-
329  }
-
330 
-
331  //
-
332  // Swizzles are distinct types from the unswizzled type. The below macros will
-
333  // provide template specializations for the swizzle types for the given functions
-
334  // so that the compiler does not have any ambiguity to choosing how to handle
-
335  // the function.
-
336  //
-
337  // The alternative is to use the operator()() when calling the function in order
-
338  // to explicitly convert the swizzled type to the unswizzled type.
-
339  //
-
340 
-
341  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, abs);
-
342  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acos);
-
343  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acosh);
-
344  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, all);
-
345  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, any);
-
346 
-
347  //_GLM_SWIZZLE_FUNCTION_2_ARGS(value_type, dot);
-
348  //_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, cross);
-
349  //_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, step);
-
350  //_GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(vec_type, mix);
-
351 }
-
352 
-
353 #define _GLM_SWIZZLE2_2_MEMBERS(T,P,E0,E1) \
-
354  struct { glm::detail::swizzle<2,T,P,0,0,-1,-2> E0 ## E0; }; \
-
355  struct { glm::detail::swizzle<2,T,P,0,1,-1,-2> E0 ## E1; }; \
-
356  struct { glm::detail::swizzle<2,T,P,1,0,-1,-2> E1 ## E0; }; \
-
357  struct { glm::detail::swizzle<2,T,P,1,1,-1,-2> E1 ## E1; };
-
358 
-
359 #define _GLM_SWIZZLE2_3_MEMBERS(T,P2,E0,E1) \
-
360  struct { glm::detail::swizzle<3,T,P2,0,0,0,-1> E0 ## E0 ## E0; }; \
-
361  struct { glm::detail::swizzle<3,T,P2,0,0,1,-1> E0 ## E0 ## E1; }; \
-
362  struct { glm::detail::swizzle<3,T,P2,0,1,0,-1> E0 ## E1 ## E0; }; \
-
363  struct { glm::detail::swizzle<3,T,P2,0,1,1,-1> E0 ## E1 ## E1; }; \
-
364  struct { glm::detail::swizzle<3,T,P2,1,0,0,-1> E1 ## E0 ## E0; }; \
-
365  struct { glm::detail::swizzle<3,T,P2,1,0,1,-1> E1 ## E0 ## E1; }; \
-
366  struct { glm::detail::swizzle<3,T,P2,1,1,0,-1> E1 ## E1 ## E0; }; \
-
367  struct { glm::detail::swizzle<3,T,P2,1,1,1,-1> E1 ## E1 ## E1; };
-
368 
-
369 #define _GLM_SWIZZLE2_4_MEMBERS(T,P2,E0,E1) \
-
370  struct { glm::detail::swizzle<4,T,P2,0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
-
371  struct { glm::detail::swizzle<4,T,P2,0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
-
372  struct { glm::detail::swizzle<4,T,P2,0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
-
373  struct { glm::detail::swizzle<4,T,P2,0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
-
374  struct { glm::detail::swizzle<4,T,P2,0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
-
375  struct { glm::detail::swizzle<4,T,P2,0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
-
376  struct { glm::detail::swizzle<4,T,P2,0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
-
377  struct { glm::detail::swizzle<4,T,P2,0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
-
378  struct { glm::detail::swizzle<4,T,P2,1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
-
379  struct { glm::detail::swizzle<4,T,P2,1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
-
380  struct { glm::detail::swizzle<4,T,P2,1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
-
381  struct { glm::detail::swizzle<4,T,P2,1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
-
382  struct { glm::detail::swizzle<4,T,P2,1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
-
383  struct { glm::detail::swizzle<4,T,P2,1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
-
384  struct { glm::detail::swizzle<4,T,P2,1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
-
385  struct { glm::detail::swizzle<4,T,P2,1,1,1,1> E1 ## E1 ## E1 ## E1; };
-
386 
-
387 #define _GLM_SWIZZLE3_2_MEMBERS(T,P2,E0,E1,E2) \
-
388  struct { glm::detail::swizzle<2,T,P2,0,0,-1,-2> E0 ## E0; }; \
-
389  struct { glm::detail::swizzle<2,T,P2,0,1,-1,-2> E0 ## E1; }; \
-
390  struct { glm::detail::swizzle<2,T,P2,0,2,-1,-2> E0 ## E2; }; \
-
391  struct { glm::detail::swizzle<2,T,P2,1,0,-1,-2> E1 ## E0; }; \
-
392  struct { glm::detail::swizzle<2,T,P2,1,1,-1,-2> E1 ## E1; }; \
-
393  struct { glm::detail::swizzle<2,T,P2,1,2,-1,-2> E1 ## E2; }; \
-
394  struct { glm::detail::swizzle<2,T,P2,2,0,-1,-2> E2 ## E0; }; \
-
395  struct { glm::detail::swizzle<2,T,P2,2,1,-1,-2> E2 ## E1; }; \
-
396  struct { glm::detail::swizzle<2,T,P2,2,2,-1,-2> E2 ## E2; };
-
397 
-
398 #define _GLM_SWIZZLE3_3_MEMBERS(T,P,E0,E1,E2) \
-
399  struct { glm::detail::swizzle<3,T,P,0,0,0,-1> E0 ## E0 ## E0; }; \
-
400  struct { glm::detail::swizzle<3,T,P,0,0,1,-1> E0 ## E0 ## E1; }; \
-
401  struct { glm::detail::swizzle<3,T,P,0,0,2,-1> E0 ## E0 ## E2; }; \
-
402  struct { glm::detail::swizzle<3,T,P,0,1,0,-1> E0 ## E1 ## E0; }; \
-
403  struct { glm::detail::swizzle<3,T,P,0,1,1,-1> E0 ## E1 ## E1; }; \
-
404  struct { glm::detail::swizzle<3,T,P,0,1,2,-1> E0 ## E1 ## E2; }; \
-
405  struct { glm::detail::swizzle<3,T,P,0,2,0,-1> E0 ## E2 ## E0; }; \
-
406  struct { glm::detail::swizzle<3,T,P,0,2,1,-1> E0 ## E2 ## E1; }; \
-
407  struct { glm::detail::swizzle<3,T,P,0,2,2,-1> E0 ## E2 ## E2; }; \
-
408  struct { glm::detail::swizzle<3,T,P,1,0,0,-1> E1 ## E0 ## E0; }; \
-
409  struct { glm::detail::swizzle<3,T,P,1,0,1,-1> E1 ## E0 ## E1; }; \
-
410  struct { glm::detail::swizzle<3,T,P,1,0,2,-1> E1 ## E0 ## E2; }; \
-
411  struct { glm::detail::swizzle<3,T,P,1,1,0,-1> E1 ## E1 ## E0; }; \
-
412  struct { glm::detail::swizzle<3,T,P,1,1,1,-1> E1 ## E1 ## E1; }; \
-
413  struct { glm::detail::swizzle<3,T,P,1,1,2,-1> E1 ## E1 ## E2; }; \
-
414  struct { glm::detail::swizzle<3,T,P,1,2,0,-1> E1 ## E2 ## E0; }; \
-
415  struct { glm::detail::swizzle<3,T,P,1,2,1,-1> E1 ## E2 ## E1; }; \
-
416  struct { glm::detail::swizzle<3,T,P,1,2,2,-1> E1 ## E2 ## E2; }; \
-
417  struct { glm::detail::swizzle<3,T,P,2,0,0,-1> E2 ## E0 ## E0; }; \
-
418  struct { glm::detail::swizzle<3,T,P,2,0,1,-1> E2 ## E0 ## E1; }; \
-
419  struct { glm::detail::swizzle<3,T,P,2,0,2,-1> E2 ## E0 ## E2; }; \
-
420  struct { glm::detail::swizzle<3,T,P,2,1,0,-1> E2 ## E1 ## E0; }; \
-
421  struct { glm::detail::swizzle<3,T,P,2,1,1,-1> E2 ## E1 ## E1; }; \
-
422  struct { glm::detail::swizzle<3,T,P,2,1,2,-1> E2 ## E1 ## E2; }; \
-
423  struct { glm::detail::swizzle<3,T,P,2,2,0,-1> E2 ## E2 ## E0; }; \
-
424  struct { glm::detail::swizzle<3,T,P,2,2,1,-1> E2 ## E2 ## E1; }; \
-
425  struct { glm::detail::swizzle<3,T,P,2,2,2,-1> E2 ## E2 ## E2; };
-
426 
-
427 #define _GLM_SWIZZLE3_4_MEMBERS(T,P2,E0,E1,E2) \
-
428  struct { glm::detail::swizzle<4,T,P2,0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
-
429  struct { glm::detail::swizzle<4,T,P2,0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
-
430  struct { glm::detail::swizzle<4,T,P2,0,0,0,2> E0 ## E0 ## E0 ## E2; }; \
-
431  struct { glm::detail::swizzle<4,T,P2,0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
-
432  struct { glm::detail::swizzle<4,T,P2,0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
-
433  struct { glm::detail::swizzle<4,T,P2,0,0,1,2> E0 ## E0 ## E1 ## E2; }; \
-
434  struct { glm::detail::swizzle<4,T,P2,0,0,2,0> E0 ## E0 ## E2 ## E0; }; \
-
435  struct { glm::detail::swizzle<4,T,P2,0,0,2,1> E0 ## E0 ## E2 ## E1; }; \
-
436  struct { glm::detail::swizzle<4,T,P2,0,0,2,2> E0 ## E0 ## E2 ## E2; }; \
-
437  struct { glm::detail::swizzle<4,T,P2,0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
-
438  struct { glm::detail::swizzle<4,T,P2,0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
-
439  struct { glm::detail::swizzle<4,T,P2,0,1,0,2> E0 ## E1 ## E0 ## E2; }; \
-
440  struct { glm::detail::swizzle<4,T,P2,0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
-
441  struct { glm::detail::swizzle<4,T,P2,0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
-
442  struct { glm::detail::swizzle<4,T,P2,0,1,1,2> E0 ## E1 ## E1 ## E2; }; \
-
443  struct { glm::detail::swizzle<4,T,P2,0,1,2,0> E0 ## E1 ## E2 ## E0; }; \
-
444  struct { glm::detail::swizzle<4,T,P2,0,1,2,1> E0 ## E1 ## E2 ## E1; }; \
-
445  struct { glm::detail::swizzle<4,T,P2,0,1,2,2> E0 ## E1 ## E2 ## E2; }; \
-
446  struct { glm::detail::swizzle<4,T,P2,0,2,0,0> E0 ## E2 ## E0 ## E0; }; \
-
447  struct { glm::detail::swizzle<4,T,P2,0,2,0,1> E0 ## E2 ## E0 ## E1; }; \
-
448  struct { glm::detail::swizzle<4,T,P2,0,2,0,2> E0 ## E2 ## E0 ## E2; }; \
-
449  struct { glm::detail::swizzle<4,T,P2,0,2,1,0> E0 ## E2 ## E1 ## E0; }; \
-
450  struct { glm::detail::swizzle<4,T,P2,0,2,1,1> E0 ## E2 ## E1 ## E1; }; \
-
451  struct { glm::detail::swizzle<4,T,P2,0,2,1,2> E0 ## E2 ## E1 ## E2; }; \
-
452  struct { glm::detail::swizzle<4,T,P2,0,2,2,0> E0 ## E2 ## E2 ## E0; }; \
-
453  struct { glm::detail::swizzle<4,T,P2,0,2,2,1> E0 ## E2 ## E2 ## E1; }; \
-
454  struct { glm::detail::swizzle<4,T,P2,0,2,2,2> E0 ## E2 ## E2 ## E2; }; \
-
455  struct { glm::detail::swizzle<4,T,P2,1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
-
456  struct { glm::detail::swizzle<4,T,P2,1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
-
457  struct { glm::detail::swizzle<4,T,P2,1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
-
458  struct { glm::detail::swizzle<4,T,P2,1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
-
459  struct { glm::detail::swizzle<4,T,P2,1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
-
460  struct { glm::detail::swizzle<4,T,P2,1,0,1,2> E1 ## E0 ## E1 ## E2; }; \
-
461  struct { glm::detail::swizzle<4,T,P2,1,0,2,0> E1 ## E0 ## E2 ## E0; }; \
-
462  struct { glm::detail::swizzle<4,T,P2,1,0,2,1> E1 ## E0 ## E2 ## E1; }; \
-
463  struct { glm::detail::swizzle<4,T,P2,1,0,2,2> E1 ## E0 ## E2 ## E2; }; \
-
464  struct { glm::detail::swizzle<4,T,P2,1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
-
465  struct { glm::detail::swizzle<4,T,P2,1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
-
466  struct { glm::detail::swizzle<4,T,P2,1,1,0,2> E1 ## E1 ## E0 ## E2; }; \
-
467  struct { glm::detail::swizzle<4,T,P2,1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
-
468  struct { glm::detail::swizzle<4,T,P2,1,1,1,1> E1 ## E1 ## E1 ## E1; }; \
-
469  struct { glm::detail::swizzle<4,T,P2,1,1,1,2> E1 ## E1 ## E1 ## E2; }; \
-
470  struct { glm::detail::swizzle<4,T,P2,1,1,2,0> E1 ## E1 ## E2 ## E0; }; \
-
471  struct { glm::detail::swizzle<4,T,P2,1,1,2,1> E1 ## E1 ## E2 ## E1; }; \
-
472  struct { glm::detail::swizzle<4,T,P2,1,1,2,2> E1 ## E1 ## E2 ## E2; }; \
-
473  struct { glm::detail::swizzle<4,T,P2,1,2,0,0> E1 ## E2 ## E0 ## E0; }; \
-
474  struct { glm::detail::swizzle<4,T,P2,1,2,0,1> E1 ## E2 ## E0 ## E1; }; \
-
475  struct { glm::detail::swizzle<4,T,P2,1,2,0,2> E1 ## E2 ## E0 ## E2; }; \
-
476  struct { glm::detail::swizzle<4,T,P2,1,2,1,0> E1 ## E2 ## E1 ## E0; }; \
-
477  struct { glm::detail::swizzle<4,T,P2,1,2,1,1> E1 ## E2 ## E1 ## E1; }; \
-
478  struct { glm::detail::swizzle<4,T,P2,1,2,1,2> E1 ## E2 ## E1 ## E2; }; \
-
479  struct { glm::detail::swizzle<4,T,P2,1,2,2,0> E1 ## E2 ## E2 ## E0; }; \
-
480  struct { glm::detail::swizzle<4,T,P2,1,2,2,1> E1 ## E2 ## E2 ## E1; }; \
-
481  struct { glm::detail::swizzle<4,T,P2,1,2,2,2> E1 ## E2 ## E2 ## E2; }; \
-
482  struct { glm::detail::swizzle<4,T,P2,2,0,0,0> E2 ## E0 ## E0 ## E0; }; \
-
483  struct { glm::detail::swizzle<4,T,P2,2,0,0,1> E2 ## E0 ## E0 ## E1; }; \
-
484  struct { glm::detail::swizzle<4,T,P2,2,0,0,2> E2 ## E0 ## E0 ## E2; }; \
-
485  struct { glm::detail::swizzle<4,T,P2,2,0,1,0> E2 ## E0 ## E1 ## E0; }; \
-
486  struct { glm::detail::swizzle<4,T,P2,2,0,1,1> E2 ## E0 ## E1 ## E1; }; \
-
487  struct { glm::detail::swizzle<4,T,P2,2,0,1,2> E2 ## E0 ## E1 ## E2; }; \
-
488  struct { glm::detail::swizzle<4,T,P2,2,0,2,0> E2 ## E0 ## E2 ## E0; }; \
-
489  struct { glm::detail::swizzle<4,T,P2,2,0,2,1> E2 ## E0 ## E2 ## E1; }; \
-
490  struct { glm::detail::swizzle<4,T,P2,2,0,2,2> E2 ## E0 ## E2 ## E2; }; \
-
491  struct { glm::detail::swizzle<4,T,P2,2,1,0,0> E2 ## E1 ## E0 ## E0; }; \
-
492  struct { glm::detail::swizzle<4,T,P2,2,1,0,1> E2 ## E1 ## E0 ## E1; }; \
-
493  struct { glm::detail::swizzle<4,T,P2,2,1,0,2> E2 ## E1 ## E0 ## E2; }; \
-
494  struct { glm::detail::swizzle<4,T,P2,2,1,1,0> E2 ## E1 ## E1 ## E0; }; \
-
495  struct { glm::detail::swizzle<4,T,P2,2,1,1,1> E2 ## E1 ## E1 ## E1; }; \
-
496  struct { glm::detail::swizzle<4,T,P2,2,1,1,2> E2 ## E1 ## E1 ## E2; }; \
-
497  struct { glm::detail::swizzle<4,T,P2,2,1,2,0> E2 ## E1 ## E2 ## E0; }; \
-
498  struct { glm::detail::swizzle<4,T,P2,2,1,2,1> E2 ## E1 ## E2 ## E1; }; \
-
499  struct { glm::detail::swizzle<4,T,P2,2,1,2,2> E2 ## E1 ## E2 ## E2; }; \
-
500  struct { glm::detail::swizzle<4,T,P2,2,2,0,0> E2 ## E2 ## E0 ## E0; }; \
-
501  struct { glm::detail::swizzle<4,T,P2,2,2,0,1> E2 ## E2 ## E0 ## E1; }; \
-
502  struct { glm::detail::swizzle<4,T,P2,2,2,0,2> E2 ## E2 ## E0 ## E2; }; \
-
503  struct { glm::detail::swizzle<4,T,P2,2,2,1,0> E2 ## E2 ## E1 ## E0; }; \
-
504  struct { glm::detail::swizzle<4,T,P2,2,2,1,1> E2 ## E2 ## E1 ## E1; }; \
-
505  struct { glm::detail::swizzle<4,T,P2,2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
-
506  struct { glm::detail::swizzle<4,T,P2,2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
-
507  struct { glm::detail::swizzle<4,T,P2,2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
-
508  struct { glm::detail::swizzle<4,T,P2,2,2,2,2> E2 ## E2 ## E2 ## E2; };
-
509 
-
510 #define _GLM_SWIZZLE4_2_MEMBERS(T,P,E0,E1,E2,E3) \
-
511  struct { glm::detail::swizzle<2,T,P,0,0,-1,-2> E0 ## E0; }; \
-
512  struct { glm::detail::swizzle<2,T,P,0,1,-1,-2> E0 ## E1; }; \
-
513  struct { glm::detail::swizzle<2,T,P,0,2,-1,-2> E0 ## E2; }; \
-
514  struct { glm::detail::swizzle<2,T,P,0,3,-1,-2> E0 ## E3; }; \
-
515  struct { glm::detail::swizzle<2,T,P,1,0,-1,-2> E1 ## E0; }; \
-
516  struct { glm::detail::swizzle<2,T,P,1,1,-1,-2> E1 ## E1; }; \
-
517  struct { glm::detail::swizzle<2,T,P,1,2,-1,-2> E1 ## E2; }; \
-
518  struct { glm::detail::swizzle<2,T,P,1,3,-1,-2> E1 ## E3; }; \
-
519  struct { glm::detail::swizzle<2,T,P,2,0,-1,-2> E2 ## E0; }; \
-
520  struct { glm::detail::swizzle<2,T,P,2,1,-1,-2> E2 ## E1; }; \
-
521  struct { glm::detail::swizzle<2,T,P,2,2,-1,-2> E2 ## E2; }; \
-
522  struct { glm::detail::swizzle<2,T,P,2,3,-1,-2> E2 ## E3; }; \
-
523  struct { glm::detail::swizzle<2,T,P,3,0,-1,-2> E3 ## E0; }; \
-
524  struct { glm::detail::swizzle<2,T,P,3,1,-1,-2> E3 ## E1; }; \
-
525  struct { glm::detail::swizzle<2,T,P,3,2,-1,-2> E3 ## E2; }; \
-
526  struct { glm::detail::swizzle<2,T,P,3,3,-1,-2> E3 ## E3; };
-
527 
-
528 #define _GLM_SWIZZLE4_3_MEMBERS(T,P,E0,E1,E2,E3) \
-
529  struct { glm::detail::swizzle<3,T,P,0,0,0,-1> E0 ## E0 ## E0; }; \
-
530  struct { glm::detail::swizzle<3,T,P,0,0,1,-1> E0 ## E0 ## E1; }; \
-
531  struct { glm::detail::swizzle<3,T,P,0,0,2,-1> E0 ## E0 ## E2; }; \
-
532  struct { glm::detail::swizzle<3,T,P,0,0,3,-1> E0 ## E0 ## E3; }; \
-
533  struct { glm::detail::swizzle<3,T,P,0,1,0,-1> E0 ## E1 ## E0; }; \
-
534  struct { glm::detail::swizzle<3,T,P,0,1,1,-1> E0 ## E1 ## E1; }; \
-
535  struct { glm::detail::swizzle<3,T,P,0,1,2,-1> E0 ## E1 ## E2; }; \
-
536  struct { glm::detail::swizzle<3,T,P,0,1,3,-1> E0 ## E1 ## E3; }; \
-
537  struct { glm::detail::swizzle<3,T,P,0,2,0,-1> E0 ## E2 ## E0; }; \
-
538  struct { glm::detail::swizzle<3,T,P,0,2,1,-1> E0 ## E2 ## E1; }; \
-
539  struct { glm::detail::swizzle<3,T,P,0,2,2,-1> E0 ## E2 ## E2; }; \
-
540  struct { glm::detail::swizzle<3,T,P,0,2,3,-1> E0 ## E2 ## E3; }; \
-
541  struct { glm::detail::swizzle<3,T,P,0,3,0,-1> E0 ## E3 ## E0; }; \
-
542  struct { glm::detail::swizzle<3,T,P,0,3,1,-1> E0 ## E3 ## E1; }; \
-
543  struct { glm::detail::swizzle<3,T,P,0,3,2,-1> E0 ## E3 ## E2; }; \
-
544  struct { glm::detail::swizzle<3,T,P,0,3,3,-1> E0 ## E3 ## E3; }; \
-
545  struct { glm::detail::swizzle<3,T,P,1,0,0,-1> E1 ## E0 ## E0; }; \
-
546  struct { glm::detail::swizzle<3,T,P,1,0,1,-1> E1 ## E0 ## E1; }; \
-
547  struct { glm::detail::swizzle<3,T,P,1,0,2,-1> E1 ## E0 ## E2; }; \
-
548  struct { glm::detail::swizzle<3,T,P,1,0,3,-1> E1 ## E0 ## E3; }; \
-
549  struct { glm::detail::swizzle<3,T,P,1,1,0,-1> E1 ## E1 ## E0; }; \
-
550  struct { glm::detail::swizzle<3,T,P,1,1,1,-1> E1 ## E1 ## E1; }; \
-
551  struct { glm::detail::swizzle<3,T,P,1,1,2,-1> E1 ## E1 ## E2; }; \
-
552  struct { glm::detail::swizzle<3,T,P,1,1,3,-1> E1 ## E1 ## E3; }; \
-
553  struct { glm::detail::swizzle<3,T,P,1,2,0,-1> E1 ## E2 ## E0; }; \
-
554  struct { glm::detail::swizzle<3,T,P,1,2,1,-1> E1 ## E2 ## E1; }; \
-
555  struct { glm::detail::swizzle<3,T,P,1,2,2,-1> E1 ## E2 ## E2; }; \
-
556  struct { glm::detail::swizzle<3,T,P,1,2,3,-1> E1 ## E2 ## E3; }; \
-
557  struct { glm::detail::swizzle<3,T,P,1,3,0,-1> E1 ## E3 ## E0; }; \
-
558  struct { glm::detail::swizzle<3,T,P,1,3,1,-1> E1 ## E3 ## E1; }; \
-
559  struct { glm::detail::swizzle<3,T,P,1,3,2,-1> E1 ## E3 ## E2; }; \
-
560  struct { glm::detail::swizzle<3,T,P,1,3,3,-1> E1 ## E3 ## E3; }; \
-
561  struct { glm::detail::swizzle<3,T,P,2,0,0,-1> E2 ## E0 ## E0; }; \
-
562  struct { glm::detail::swizzle<3,T,P,2,0,1,-1> E2 ## E0 ## E1; }; \
-
563  struct { glm::detail::swizzle<3,T,P,2,0,2,-1> E2 ## E0 ## E2; }; \
-
564  struct { glm::detail::swizzle<3,T,P,2,0,3,-1> E2 ## E0 ## E3; }; \
-
565  struct { glm::detail::swizzle<3,T,P,2,1,0,-1> E2 ## E1 ## E0; }; \
-
566  struct { glm::detail::swizzle<3,T,P,2,1,1,-1> E2 ## E1 ## E1; }; \
-
567  struct { glm::detail::swizzle<3,T,P,2,1,2,-1> E2 ## E1 ## E2; }; \
-
568  struct { glm::detail::swizzle<3,T,P,2,1,3,-1> E2 ## E1 ## E3; }; \
-
569  struct { glm::detail::swizzle<3,T,P,2,2,0,-1> E2 ## E2 ## E0; }; \
-
570  struct { glm::detail::swizzle<3,T,P,2,2,1,-1> E2 ## E2 ## E1; }; \
-
571  struct { glm::detail::swizzle<3,T,P,2,2,2,-1> E2 ## E2 ## E2; }; \
-
572  struct { glm::detail::swizzle<3,T,P,2,2,3,-1> E2 ## E2 ## E3; }; \
-
573  struct { glm::detail::swizzle<3,T,P,2,3,0,-1> E2 ## E3 ## E0; }; \
-
574  struct { glm::detail::swizzle<3,T,P,2,3,1,-1> E2 ## E3 ## E1; }; \
-
575  struct { glm::detail::swizzle<3,T,P,2,3,2,-1> E2 ## E3 ## E2; }; \
-
576  struct { glm::detail::swizzle<3,T,P,2,3,3,-1> E2 ## E3 ## E3; }; \
-
577  struct { glm::detail::swizzle<3,T,P,3,0,0,-1> E3 ## E0 ## E0; }; \
-
578  struct { glm::detail::swizzle<3,T,P,3,0,1,-1> E3 ## E0 ## E1; }; \
-
579  struct { glm::detail::swizzle<3,T,P,3,0,2,-1> E3 ## E0 ## E2; }; \
-
580  struct { glm::detail::swizzle<3,T,P,3,0,3,-1> E3 ## E0 ## E3; }; \
-
581  struct { glm::detail::swizzle<3,T,P,3,1,0,-1> E3 ## E1 ## E0; }; \
-
582  struct { glm::detail::swizzle<3,T,P,3,1,1,-1> E3 ## E1 ## E1; }; \
-
583  struct { glm::detail::swizzle<3,T,P,3,1,2,-1> E3 ## E1 ## E2; }; \
-
584  struct { glm::detail::swizzle<3,T,P,3,1,3,-1> E3 ## E1 ## E3; }; \
-
585  struct { glm::detail::swizzle<3,T,P,3,2,0,-1> E3 ## E2 ## E0; }; \
-
586  struct { glm::detail::swizzle<3,T,P,3,2,1,-1> E3 ## E2 ## E1; }; \
-
587  struct { glm::detail::swizzle<3,T,P,3,2,2,-1> E3 ## E2 ## E2; }; \
-
588  struct { glm::detail::swizzle<3,T,P,3,2,3,-1> E3 ## E2 ## E3; }; \
-
589  struct { glm::detail::swizzle<3,T,P,3,3,0,-1> E3 ## E3 ## E0; }; \
-
590  struct { glm::detail::swizzle<3,T,P,3,3,1,-1> E3 ## E3 ## E1; }; \
-
591  struct { glm::detail::swizzle<3,T,P,3,3,2,-1> E3 ## E3 ## E2; }; \
-
592  struct { glm::detail::swizzle<3,T,P,3,3,3,-1> E3 ## E3 ## E3; };
-
593 
-
594 #define _GLM_SWIZZLE4_4_MEMBERS(T,P,E0,E1,E2,E3) \
-
595  struct { glm::detail::swizzle<4,T,P,0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
-
596  struct { glm::detail::swizzle<4,T,P,0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
-
597  struct { glm::detail::swizzle<4,T,P,0,0,0,2> E0 ## E0 ## E0 ## E2; }; \
-
598  struct { glm::detail::swizzle<4,T,P,0,0,0,3> E0 ## E0 ## E0 ## E3; }; \
-
599  struct { glm::detail::swizzle<4,T,P,0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
-
600  struct { glm::detail::swizzle<4,T,P,0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
-
601  struct { glm::detail::swizzle<4,T,P,0,0,1,2> E0 ## E0 ## E1 ## E2; }; \
-
602  struct { glm::detail::swizzle<4,T,P,0,0,1,3> E0 ## E0 ## E1 ## E3; }; \
-
603  struct { glm::detail::swizzle<4,T,P,0,0,2,0> E0 ## E0 ## E2 ## E0; }; \
-
604  struct { glm::detail::swizzle<4,T,P,0,0,2,1> E0 ## E0 ## E2 ## E1; }; \
-
605  struct { glm::detail::swizzle<4,T,P,0,0,2,2> E0 ## E0 ## E2 ## E2; }; \
-
606  struct { glm::detail::swizzle<4,T,P,0,0,2,3> E0 ## E0 ## E2 ## E3; }; \
-
607  struct { glm::detail::swizzle<4,T,P,0,0,3,0> E0 ## E0 ## E3 ## E0; }; \
-
608  struct { glm::detail::swizzle<4,T,P,0,0,3,1> E0 ## E0 ## E3 ## E1; }; \
-
609  struct { glm::detail::swizzle<4,T,P,0,0,3,2> E0 ## E0 ## E3 ## E2; }; \
-
610  struct { glm::detail::swizzle<4,T,P,0,0,3,3> E0 ## E0 ## E3 ## E3; }; \
-
611  struct { glm::detail::swizzle<4,T,P,0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
-
612  struct { glm::detail::swizzle<4,T,P,0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
-
613  struct { glm::detail::swizzle<4,T,P,0,1,0,2> E0 ## E1 ## E0 ## E2; }; \
-
614  struct { glm::detail::swizzle<4,T,P,0,1,0,3> E0 ## E1 ## E0 ## E3; }; \
-
615  struct { glm::detail::swizzle<4,T,P,0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
-
616  struct { glm::detail::swizzle<4,T,P,0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
-
617  struct { glm::detail::swizzle<4,T,P,0,1,1,2> E0 ## E1 ## E1 ## E2; }; \
-
618  struct { glm::detail::swizzle<4,T,P,0,1,1,3> E0 ## E1 ## E1 ## E3; }; \
-
619  struct { glm::detail::swizzle<4,T,P,0,1,2,0> E0 ## E1 ## E2 ## E0; }; \
-
620  struct { glm::detail::swizzle<4,T,P,0,1,2,1> E0 ## E1 ## E2 ## E1; }; \
-
621  struct { glm::detail::swizzle<4,T,P,0,1,2,2> E0 ## E1 ## E2 ## E2; }; \
-
622  struct { glm::detail::swizzle<4,T,P,0,1,2,3> E0 ## E1 ## E2 ## E3; }; \
-
623  struct { glm::detail::swizzle<4,T,P,0,1,3,0> E0 ## E1 ## E3 ## E0; }; \
-
624  struct { glm::detail::swizzle<4,T,P,0,1,3,1> E0 ## E1 ## E3 ## E1; }; \
-
625  struct { glm::detail::swizzle<4,T,P,0,1,3,2> E0 ## E1 ## E3 ## E2; }; \
-
626  struct { glm::detail::swizzle<4,T,P,0,1,3,3> E0 ## E1 ## E3 ## E3; }; \
-
627  struct { glm::detail::swizzle<4,T,P,0,2,0,0> E0 ## E2 ## E0 ## E0; }; \
-
628  struct { glm::detail::swizzle<4,T,P,0,2,0,1> E0 ## E2 ## E0 ## E1; }; \
-
629  struct { glm::detail::swizzle<4,T,P,0,2,0,2> E0 ## E2 ## E0 ## E2; }; \
-
630  struct { glm::detail::swizzle<4,T,P,0,2,0,3> E0 ## E2 ## E0 ## E3; }; \
-
631  struct { glm::detail::swizzle<4,T,P,0,2,1,0> E0 ## E2 ## E1 ## E0; }; \
-
632  struct { glm::detail::swizzle<4,T,P,0,2,1,1> E0 ## E2 ## E1 ## E1; }; \
-
633  struct { glm::detail::swizzle<4,T,P,0,2,1,2> E0 ## E2 ## E1 ## E2; }; \
-
634  struct { glm::detail::swizzle<4,T,P,0,2,1,3> E0 ## E2 ## E1 ## E3; }; \
-
635  struct { glm::detail::swizzle<4,T,P,0,2,2,0> E0 ## E2 ## E2 ## E0; }; \
-
636  struct { glm::detail::swizzle<4,T,P,0,2,2,1> E0 ## E2 ## E2 ## E1; }; \
-
637  struct { glm::detail::swizzle<4,T,P,0,2,2,2> E0 ## E2 ## E2 ## E2; }; \
-
638  struct { glm::detail::swizzle<4,T,P,0,2,2,3> E0 ## E2 ## E2 ## E3; }; \
-
639  struct { glm::detail::swizzle<4,T,P,0,2,3,0> E0 ## E2 ## E3 ## E0; }; \
-
640  struct { glm::detail::swizzle<4,T,P,0,2,3,1> E0 ## E2 ## E3 ## E1; }; \
-
641  struct { glm::detail::swizzle<4,T,P,0,2,3,2> E0 ## E2 ## E3 ## E2; }; \
-
642  struct { glm::detail::swizzle<4,T,P,0,2,3,3> E0 ## E2 ## E3 ## E3; }; \
-
643  struct { glm::detail::swizzle<4,T,P,1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
-
644  struct { glm::detail::swizzle<4,T,P,1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
-
645  struct { glm::detail::swizzle<4,T,P,1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
-
646  struct { glm::detail::swizzle<4,T,P,1,0,0,3> E1 ## E0 ## E0 ## E3; }; \
-
647  struct { glm::detail::swizzle<4,T,P,1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
-
648  struct { glm::detail::swizzle<4,T,P,1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
-
649  struct { glm::detail::swizzle<4,T,P,1,0,1,2> E1 ## E0 ## E1 ## E2; }; \
-
650  struct { glm::detail::swizzle<4,T,P,1,0,1,3> E1 ## E0 ## E1 ## E3; }; \
-
651  struct { glm::detail::swizzle<4,T,P,1,0,2,0> E1 ## E0 ## E2 ## E0; }; \
-
652  struct { glm::detail::swizzle<4,T,P,1,0,2,1> E1 ## E0 ## E2 ## E1; }; \
-
653  struct { glm::detail::swizzle<4,T,P,1,0,2,2> E1 ## E0 ## E2 ## E2; }; \
-
654  struct { glm::detail::swizzle<4,T,P,1,0,2,3> E1 ## E0 ## E2 ## E3; }; \
-
655  struct { glm::detail::swizzle<4,T,P,1,0,3,0> E1 ## E0 ## E3 ## E0; }; \
-
656  struct { glm::detail::swizzle<4,T,P,1,0,3,1> E1 ## E0 ## E3 ## E1; }; \
-
657  struct { glm::detail::swizzle<4,T,P,1,0,3,2> E1 ## E0 ## E3 ## E2; }; \
-
658  struct { glm::detail::swizzle<4,T,P,1,0,3,3> E1 ## E0 ## E3 ## E3; }; \
-
659  struct { glm::detail::swizzle<4,T,P,1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
-
660  struct { glm::detail::swizzle<4,T,P,1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
-
661  struct { glm::detail::swizzle<4,T,P,1,1,0,2> E1 ## E1 ## E0 ## E2; }; \
-
662  struct { glm::detail::swizzle<4,T,P,1,1,0,3> E1 ## E1 ## E0 ## E3; }; \
-
663  struct { glm::detail::swizzle<4,T,P,1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
-
664  struct { glm::detail::swizzle<4,T,P,1,1,1,1> E1 ## E1 ## E1 ## E1; }; \
-
665  struct { glm::detail::swizzle<4,T,P,1,1,1,2> E1 ## E1 ## E1 ## E2; }; \
-
666  struct { glm::detail::swizzle<4,T,P,1,1,1,3> E1 ## E1 ## E1 ## E3; }; \
-
667  struct { glm::detail::swizzle<4,T,P,1,1,2,0> E1 ## E1 ## E2 ## E0; }; \
-
668  struct { glm::detail::swizzle<4,T,P,1,1,2,1> E1 ## E1 ## E2 ## E1; }; \
-
669  struct { glm::detail::swizzle<4,T,P,1,1,2,2> E1 ## E1 ## E2 ## E2; }; \
-
670  struct { glm::detail::swizzle<4,T,P,1,1,2,3> E1 ## E1 ## E2 ## E3; }; \
-
671  struct { glm::detail::swizzle<4,T,P,1,1,3,0> E1 ## E1 ## E3 ## E0; }; \
-
672  struct { glm::detail::swizzle<4,T,P,1,1,3,1> E1 ## E1 ## E3 ## E1; }; \
-
673  struct { glm::detail::swizzle<4,T,P,1,1,3,2> E1 ## E1 ## E3 ## E2; }; \
-
674  struct { glm::detail::swizzle<4,T,P,1,1,3,3> E1 ## E1 ## E3 ## E3; }; \
-
675  struct { glm::detail::swizzle<4,T,P,1,2,0,0> E1 ## E2 ## E0 ## E0; }; \
-
676  struct { glm::detail::swizzle<4,T,P,1,2,0,1> E1 ## E2 ## E0 ## E1; }; \
-
677  struct { glm::detail::swizzle<4,T,P,1,2,0,2> E1 ## E2 ## E0 ## E2; }; \
-
678  struct { glm::detail::swizzle<4,T,P,1,2,0,3> E1 ## E2 ## E0 ## E3; }; \
-
679  struct { glm::detail::swizzle<4,T,P,1,2,1,0> E1 ## E2 ## E1 ## E0; }; \
-
680  struct { glm::detail::swizzle<4,T,P,1,2,1,1> E1 ## E2 ## E1 ## E1; }; \
-
681  struct { glm::detail::swizzle<4,T,P,1,2,1,2> E1 ## E2 ## E1 ## E2; }; \
-
682  struct { glm::detail::swizzle<4,T,P,1,2,1,3> E1 ## E2 ## E1 ## E3; }; \
-
683  struct { glm::detail::swizzle<4,T,P,1,2,2,0> E1 ## E2 ## E2 ## E0; }; \
-
684  struct { glm::detail::swizzle<4,T,P,1,2,2,1> E1 ## E2 ## E2 ## E1; }; \
-
685  struct { glm::detail::swizzle<4,T,P,1,2,2,2> E1 ## E2 ## E2 ## E2; }; \
-
686  struct { glm::detail::swizzle<4,T,P,1,2,2,3> E1 ## E2 ## E2 ## E3; }; \
-
687  struct { glm::detail::swizzle<4,T,P,1,2,3,0> E1 ## E2 ## E3 ## E0; }; \
-
688  struct { glm::detail::swizzle<4,T,P,1,2,3,1> E1 ## E2 ## E3 ## E1; }; \
-
689  struct { glm::detail::swizzle<4,T,P,1,2,3,2> E1 ## E2 ## E3 ## E2; }; \
-
690  struct { glm::detail::swizzle<4,T,P,1,2,3,3> E1 ## E2 ## E3 ## E3; }; \
-
691  struct { glm::detail::swizzle<4,T,P,1,3,0,0> E1 ## E3 ## E0 ## E0; }; \
-
692  struct { glm::detail::swizzle<4,T,P,1,3,0,1> E1 ## E3 ## E0 ## E1; }; \
-
693  struct { glm::detail::swizzle<4,T,P,1,3,0,2> E1 ## E3 ## E0 ## E2; }; \
-
694  struct { glm::detail::swizzle<4,T,P,1,3,0,3> E1 ## E3 ## E0 ## E3; }; \
-
695  struct { glm::detail::swizzle<4,T,P,1,3,1,0> E1 ## E3 ## E1 ## E0; }; \
-
696  struct { glm::detail::swizzle<4,T,P,1,3,1,1> E1 ## E3 ## E1 ## E1; }; \
-
697  struct { glm::detail::swizzle<4,T,P,1,3,1,2> E1 ## E3 ## E1 ## E2; }; \
-
698  struct { glm::detail::swizzle<4,T,P,1,3,1,3> E1 ## E3 ## E1 ## E3; }; \
-
699  struct { glm::detail::swizzle<4,T,P,1,3,2,0> E1 ## E3 ## E2 ## E0; }; \
-
700  struct { glm::detail::swizzle<4,T,P,1,3,2,1> E1 ## E3 ## E2 ## E1; }; \
-
701  struct { glm::detail::swizzle<4,T,P,1,3,2,2> E1 ## E3 ## E2 ## E2; }; \
-
702  struct { glm::detail::swizzle<4,T,P,1,3,2,3> E1 ## E3 ## E2 ## E3; }; \
-
703  struct { glm::detail::swizzle<4,T,P,1,3,3,0> E1 ## E3 ## E3 ## E0; }; \
-
704  struct { glm::detail::swizzle<4,T,P,1,3,3,1> E1 ## E3 ## E3 ## E1; }; \
-
705  struct { glm::detail::swizzle<4,T,P,1,3,3,2> E1 ## E3 ## E3 ## E2; }; \
-
706  struct { glm::detail::swizzle<4,T,P,1,3,3,3> E1 ## E3 ## E3 ## E3; }; \
-
707  struct { glm::detail::swizzle<4,T,P,2,0,0,0> E2 ## E0 ## E0 ## E0; }; \
-
708  struct { glm::detail::swizzle<4,T,P,2,0,0,1> E2 ## E0 ## E0 ## E1; }; \
-
709  struct { glm::detail::swizzle<4,T,P,2,0,0,2> E2 ## E0 ## E0 ## E2; }; \
-
710  struct { glm::detail::swizzle<4,T,P,2,0,0,3> E2 ## E0 ## E0 ## E3; }; \
-
711  struct { glm::detail::swizzle<4,T,P,2,0,1,0> E2 ## E0 ## E1 ## E0; }; \
-
712  struct { glm::detail::swizzle<4,T,P,2,0,1,1> E2 ## E0 ## E1 ## E1; }; \
-
713  struct { glm::detail::swizzle<4,T,P,2,0,1,2> E2 ## E0 ## E1 ## E2; }; \
-
714  struct { glm::detail::swizzle<4,T,P,2,0,1,3> E2 ## E0 ## E1 ## E3; }; \
-
715  struct { glm::detail::swizzle<4,T,P,2,0,2,0> E2 ## E0 ## E2 ## E0; }; \
-
716  struct { glm::detail::swizzle<4,T,P,2,0,2,1> E2 ## E0 ## E2 ## E1; }; \
-
717  struct { glm::detail::swizzle<4,T,P,2,0,2,2> E2 ## E0 ## E2 ## E2; }; \
-
718  struct { glm::detail::swizzle<4,T,P,2,0,2,3> E2 ## E0 ## E2 ## E3; }; \
-
719  struct { glm::detail::swizzle<4,T,P,2,0,3,0> E2 ## E0 ## E3 ## E0; }; \
-
720  struct { glm::detail::swizzle<4,T,P,2,0,3,1> E2 ## E0 ## E3 ## E1; }; \
-
721  struct { glm::detail::swizzle<4,T,P,2,0,3,2> E2 ## E0 ## E3 ## E2; }; \
-
722  struct { glm::detail::swizzle<4,T,P,2,0,3,3> E2 ## E0 ## E3 ## E3; }; \
-
723  struct { glm::detail::swizzle<4,T,P,2,1,0,0> E2 ## E1 ## E0 ## E0; }; \
-
724  struct { glm::detail::swizzle<4,T,P,2,1,0,1> E2 ## E1 ## E0 ## E1; }; \
-
725  struct { glm::detail::swizzle<4,T,P,2,1,0,2> E2 ## E1 ## E0 ## E2; }; \
-
726  struct { glm::detail::swizzle<4,T,P,2,1,0,3> E2 ## E1 ## E0 ## E3; }; \
-
727  struct { glm::detail::swizzle<4,T,P,2,1,1,0> E2 ## E1 ## E1 ## E0; }; \
-
728  struct { glm::detail::swizzle<4,T,P,2,1,1,1> E2 ## E1 ## E1 ## E1; }; \
-
729  struct { glm::detail::swizzle<4,T,P,2,1,1,2> E2 ## E1 ## E1 ## E2; }; \
-
730  struct { glm::detail::swizzle<4,T,P,2,1,1,3> E2 ## E1 ## E1 ## E3; }; \
-
731  struct { glm::detail::swizzle<4,T,P,2,1,2,0> E2 ## E1 ## E2 ## E0; }; \
-
732  struct { glm::detail::swizzle<4,T,P,2,1,2,1> E2 ## E1 ## E2 ## E1; }; \
-
733  struct { glm::detail::swizzle<4,T,P,2,1,2,2> E2 ## E1 ## E2 ## E2; }; \
-
734  struct { glm::detail::swizzle<4,T,P,2,1,2,3> E2 ## E1 ## E2 ## E3; }; \
-
735  struct { glm::detail::swizzle<4,T,P,2,1,3,0> E2 ## E1 ## E3 ## E0; }; \
-
736  struct { glm::detail::swizzle<4,T,P,2,1,3,1> E2 ## E1 ## E3 ## E1; }; \
-
737  struct { glm::detail::swizzle<4,T,P,2,1,3,2> E2 ## E1 ## E3 ## E2; }; \
-
738  struct { glm::detail::swizzle<4,T,P,2,1,3,3> E2 ## E1 ## E3 ## E3; }; \
-
739  struct { glm::detail::swizzle<4,T,P,2,2,0,0> E2 ## E2 ## E0 ## E0; }; \
-
740  struct { glm::detail::swizzle<4,T,P,2,2,0,1> E2 ## E2 ## E0 ## E1; }; \
-
741  struct { glm::detail::swizzle<4,T,P,2,2,0,2> E2 ## E2 ## E0 ## E2; }; \
-
742  struct { glm::detail::swizzle<4,T,P,2,2,0,3> E2 ## E2 ## E0 ## E3; }; \
-
743  struct { glm::detail::swizzle<4,T,P,2,2,1,0> E2 ## E2 ## E1 ## E0; }; \
-
744  struct { glm::detail::swizzle<4,T,P,2,2,1,1> E2 ## E2 ## E1 ## E1; }; \
-
745  struct { glm::detail::swizzle<4,T,P,2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
-
746  struct { glm::detail::swizzle<4,T,P,2,2,1,3> E2 ## E2 ## E1 ## E3; }; \
-
747  struct { glm::detail::swizzle<4,T,P,2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
-
748  struct { glm::detail::swizzle<4,T,P,2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
-
749  struct { glm::detail::swizzle<4,T,P,2,2,2,2> E2 ## E2 ## E2 ## E2; }; \
-
750  struct { glm::detail::swizzle<4,T,P,2,2,2,3> E2 ## E2 ## E2 ## E3; }; \
-
751  struct { glm::detail::swizzle<4,T,P,2,2,3,0> E2 ## E2 ## E3 ## E0; }; \
-
752  struct { glm::detail::swizzle<4,T,P,2,2,3,1> E2 ## E2 ## E3 ## E1; }; \
-
753  struct { glm::detail::swizzle<4,T,P,2,2,3,2> E2 ## E2 ## E3 ## E2; }; \
-
754  struct { glm::detail::swizzle<4,T,P,2,2,3,3> E2 ## E2 ## E3 ## E3; }; \
-
755  struct { glm::detail::swizzle<4,T,P,2,3,0,0> E2 ## E3 ## E0 ## E0; }; \
-
756  struct { glm::detail::swizzle<4,T,P,2,3,0,1> E2 ## E3 ## E0 ## E1; }; \
-
757  struct { glm::detail::swizzle<4,T,P,2,3,0,2> E2 ## E3 ## E0 ## E2; }; \
-
758  struct { glm::detail::swizzle<4,T,P,2,3,0,3> E2 ## E3 ## E0 ## E3; }; \
-
759  struct { glm::detail::swizzle<4,T,P,2,3,1,0> E2 ## E3 ## E1 ## E0; }; \
-
760  struct { glm::detail::swizzle<4,T,P,2,3,1,1> E2 ## E3 ## E1 ## E1; }; \
-
761  struct { glm::detail::swizzle<4,T,P,2,3,1,2> E2 ## E3 ## E1 ## E2; }; \
-
762  struct { glm::detail::swizzle<4,T,P,2,3,1,3> E2 ## E3 ## E1 ## E3; }; \
-
763  struct { glm::detail::swizzle<4,T,P,2,3,2,0> E2 ## E3 ## E2 ## E0; }; \
-
764  struct { glm::detail::swizzle<4,T,P,2,3,2,1> E2 ## E3 ## E2 ## E1; }; \
-
765  struct { glm::detail::swizzle<4,T,P,2,3,2,2> E2 ## E3 ## E2 ## E2; }; \
-
766  struct { glm::detail::swizzle<4,T,P,2,3,2,3> E2 ## E3 ## E2 ## E3; }; \
-
767  struct { glm::detail::swizzle<4,T,P,2,3,3,0> E2 ## E3 ## E3 ## E0; }; \
-
768  struct { glm::detail::swizzle<4,T,P,2,3,3,1> E2 ## E3 ## E3 ## E1; }; \
-
769  struct { glm::detail::swizzle<4,T,P,2,3,3,2> E2 ## E3 ## E3 ## E2; }; \
-
770  struct { glm::detail::swizzle<4,T,P,2,3,3,3> E2 ## E3 ## E3 ## E3; }; \
-
771  struct { glm::detail::swizzle<4,T,P,3,0,0,0> E3 ## E0 ## E0 ## E0; }; \
-
772  struct { glm::detail::swizzle<4,T,P,3,0,0,1> E3 ## E0 ## E0 ## E1; }; \
-
773  struct { glm::detail::swizzle<4,T,P,3,0,0,2> E3 ## E0 ## E0 ## E2; }; \
-
774  struct { glm::detail::swizzle<4,T,P,3,0,0,3> E3 ## E0 ## E0 ## E3; }; \
-
775  struct { glm::detail::swizzle<4,T,P,3,0,1,0> E3 ## E0 ## E1 ## E0; }; \
-
776  struct { glm::detail::swizzle<4,T,P,3,0,1,1> E3 ## E0 ## E1 ## E1; }; \
-
777  struct { glm::detail::swizzle<4,T,P,3,0,1,2> E3 ## E0 ## E1 ## E2; }; \
-
778  struct { glm::detail::swizzle<4,T,P,3,0,1,3> E3 ## E0 ## E1 ## E3; }; \
-
779  struct { glm::detail::swizzle<4,T,P,3,0,2,0> E3 ## E0 ## E2 ## E0; }; \
-
780  struct { glm::detail::swizzle<4,T,P,3,0,2,1> E3 ## E0 ## E2 ## E1; }; \
-
781  struct { glm::detail::swizzle<4,T,P,3,0,2,2> E3 ## E0 ## E2 ## E2; }; \
-
782  struct { glm::detail::swizzle<4,T,P,3,0,2,3> E3 ## E0 ## E2 ## E3; }; \
-
783  struct { glm::detail::swizzle<4,T,P,3,0,3,0> E3 ## E0 ## E3 ## E0; }; \
-
784  struct { glm::detail::swizzle<4,T,P,3,0,3,1> E3 ## E0 ## E3 ## E1; }; \
-
785  struct { glm::detail::swizzle<4,T,P,3,0,3,2> E3 ## E0 ## E3 ## E2; }; \
-
786  struct { glm::detail::swizzle<4,T,P,3,0,3,3> E3 ## E0 ## E3 ## E3; }; \
-
787  struct { glm::detail::swizzle<4,T,P,3,1,0,0> E3 ## E1 ## E0 ## E0; }; \
-
788  struct { glm::detail::swizzle<4,T,P,3,1,0,1> E3 ## E1 ## E0 ## E1; }; \
-
789  struct { glm::detail::swizzle<4,T,P,3,1,0,2> E3 ## E1 ## E0 ## E2; }; \
-
790  struct { glm::detail::swizzle<4,T,P,3,1,0,3> E3 ## E1 ## E0 ## E3; }; \
-
791  struct { glm::detail::swizzle<4,T,P,3,1,1,0> E3 ## E1 ## E1 ## E0; }; \
-
792  struct { glm::detail::swizzle<4,T,P,3,1,1,1> E3 ## E1 ## E1 ## E1; }; \
-
793  struct { glm::detail::swizzle<4,T,P,3,1,1,2> E3 ## E1 ## E1 ## E2; }; \
-
794  struct { glm::detail::swizzle<4,T,P,3,1,1,3> E3 ## E1 ## E1 ## E3; }; \
-
795  struct { glm::detail::swizzle<4,T,P,3,1,2,0> E3 ## E1 ## E2 ## E0; }; \
-
796  struct { glm::detail::swizzle<4,T,P,3,1,2,1> E3 ## E1 ## E2 ## E1; }; \
-
797  struct { glm::detail::swizzle<4,T,P,3,1,2,2> E3 ## E1 ## E2 ## E2; }; \
-
798  struct { glm::detail::swizzle<4,T,P,3,1,2,3> E3 ## E1 ## E2 ## E3; }; \
-
799  struct { glm::detail::swizzle<4,T,P,3,1,3,0> E3 ## E1 ## E3 ## E0; }; \
-
800  struct { glm::detail::swizzle<4,T,P,3,1,3,1> E3 ## E1 ## E3 ## E1; }; \
-
801  struct { glm::detail::swizzle<4,T,P,3,1,3,2> E3 ## E1 ## E3 ## E2; }; \
-
802  struct { glm::detail::swizzle<4,T,P,3,1,3,3> E3 ## E1 ## E3 ## E3; }; \
-
803  struct { glm::detail::swizzle<4,T,P,3,2,0,0> E3 ## E2 ## E0 ## E0; }; \
-
804  struct { glm::detail::swizzle<4,T,P,3,2,0,1> E3 ## E2 ## E0 ## E1; }; \
-
805  struct { glm::detail::swizzle<4,T,P,3,2,0,2> E3 ## E2 ## E0 ## E2; }; \
-
806  struct { glm::detail::swizzle<4,T,P,3,2,0,3> E3 ## E2 ## E0 ## E3; }; \
-
807  struct { glm::detail::swizzle<4,T,P,3,2,1,0> E3 ## E2 ## E1 ## E0; }; \
-
808  struct { glm::detail::swizzle<4,T,P,3,2,1,1> E3 ## E2 ## E1 ## E1; }; \
-
809  struct { glm::detail::swizzle<4,T,P,3,2,1,2> E3 ## E2 ## E1 ## E2; }; \
-
810  struct { glm::detail::swizzle<4,T,P,3,2,1,3> E3 ## E2 ## E1 ## E3; }; \
-
811  struct { glm::detail::swizzle<4,T,P,3,2,2,0> E3 ## E2 ## E2 ## E0; }; \
-
812  struct { glm::detail::swizzle<4,T,P,3,2,2,1> E3 ## E2 ## E2 ## E1; }; \
-
813  struct { glm::detail::swizzle<4,T,P,3,2,2,2> E3 ## E2 ## E2 ## E2; }; \
-
814  struct { glm::detail::swizzle<4,T,P,3,2,2,3> E3 ## E2 ## E2 ## E3; }; \
-
815  struct { glm::detail::swizzle<4,T,P,3,2,3,0> E3 ## E2 ## E3 ## E0; }; \
-
816  struct { glm::detail::swizzle<4,T,P,3,2,3,1> E3 ## E2 ## E3 ## E1; }; \
-
817  struct { glm::detail::swizzle<4,T,P,3,2,3,2> E3 ## E2 ## E3 ## E2; }; \
-
818  struct { glm::detail::swizzle<4,T,P,3,2,3,3> E3 ## E2 ## E3 ## E3; }; \
-
819  struct { glm::detail::swizzle<4,T,P,3,3,0,0> E3 ## E3 ## E0 ## E0; }; \
-
820  struct { glm::detail::swizzle<4,T,P,3,3,0,1> E3 ## E3 ## E0 ## E1; }; \
-
821  struct { glm::detail::swizzle<4,T,P,3,3,0,2> E3 ## E3 ## E0 ## E2; }; \
-
822  struct { glm::detail::swizzle<4,T,P,3,3,0,3> E3 ## E3 ## E0 ## E3; }; \
-
823  struct { glm::detail::swizzle<4,T,P,3,3,1,0> E3 ## E3 ## E1 ## E0; }; \
-
824  struct { glm::detail::swizzle<4,T,P,3,3,1,1> E3 ## E3 ## E1 ## E1; }; \
-
825  struct { glm::detail::swizzle<4,T,P,3,3,1,2> E3 ## E3 ## E1 ## E2; }; \
-
826  struct { glm::detail::swizzle<4,T,P,3,3,1,3> E3 ## E3 ## E1 ## E3; }; \
-
827  struct { glm::detail::swizzle<4,T,P,3,3,2,0> E3 ## E3 ## E2 ## E0; }; \
-
828  struct { glm::detail::swizzle<4,T,P,3,3,2,1> E3 ## E3 ## E2 ## E1; }; \
-
829  struct { glm::detail::swizzle<4,T,P,3,3,2,2> E3 ## E3 ## E2 ## E2; }; \
-
830  struct { glm::detail::swizzle<4,T,P,3,3,2,3> E3 ## E3 ## E2 ## E3; }; \
-
831  struct { glm::detail::swizzle<4,T,P,3,3,3,0> E3 ## E3 ## E3 ## E0; }; \
-
832  struct { glm::detail::swizzle<4,T,P,3,3,3,1> E3 ## E3 ## E3 ## E1; }; \
-
833  struct { glm::detail::swizzle<4,T,P,3,3,3,2> E3 ## E3 ## E3 ## E2; }; \
-
834  struct { glm::detail::swizzle<4,T,P,3,3,3,3> E3 ## E3 ## E3 ## E3; };
-
835 
-
836 #endif//glm_core_swizzle
-
- - - - + + + + + + +GLM: _features.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
_features.hpp
+
+
+
1 
+
29 #ifndef glm_core_features
+
30 #define glm_core_features
+
31 
+
32 // #define GLM_CXX98_EXCEPTIONS
+
33 // #define GLM_CXX98_RTTI
+
34 
+
35 // #define GLM_CXX11_RVALUE_REFERENCES
+
36 // Rvalue references - GCC 4.3
+
37 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html
+
38 
+
39 // GLM_CXX11_TRAILING_RETURN
+
40 // Rvalue references for *this - GCC not supported
+
41 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm
+
42 
+
43 // GLM_CXX11_NONSTATIC_MEMBER_INIT
+
44 // Initialization of class objects by rvalues - GCC any
+
45 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html
+
46 
+
47 // GLM_CXX11_NONSTATIC_MEMBER_INIT
+
48 // Non-static data member initializers - GCC 4.7
+
49 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm
+
50 
+
51 // #define GLM_CXX11_VARIADIC_TEMPLATE
+
52 // Variadic templates - GCC 4.3
+
53 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf
+
54 
+
55 //
+
56 // Extending variadic template template parameters - GCC 4.4
+
57 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf
+
58 
+
59 // #define GLM_CXX11_GENERALIZED_INITIALIZERS
+
60 // Initializer lists - GCC 4.4
+
61 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm
+
62 
+
63 // #define GLM_CXX11_STATIC_ASSERT
+
64 // Static assertions - GCC 4.3
+
65 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html
+
66 
+
67 // #define GLM_CXX11_AUTO_TYPE
+
68 // auto-typed variables - GCC 4.4
+
69 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf
+
70 
+
71 // #define GLM_CXX11_AUTO_TYPE
+
72 // Multi-declarator auto - GCC 4.4
+
73 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf
+
74 
+
75 // #define GLM_CXX11_AUTO_TYPE
+
76 // Removal of auto as a storage-class specifier - GCC 4.4
+
77 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm
+
78 
+
79 // #define GLM_CXX11_AUTO_TYPE
+
80 // New function declarator syntax - GCC 4.4
+
81 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm
+
82 
+
83 // #define GLM_CXX11_LAMBDAS
+
84 // New wording for C++0x lambdas - GCC 4.5
+
85 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf
+
86 
+
87 // #define GLM_CXX11_DECLTYPE
+
88 // Declared type of an expression - GCC 4.3
+
89 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf
+
90 
+
91 //
+
92 // Right angle brackets - GCC 4.3
+
93 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html
+
94 
+
95 //
+
96 // Default template arguments for function templates DR226 GCC 4.3
+
97 // http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226
+
98 
+
99 //
+
100 // Solving the SFINAE problem for expressions DR339 GCC 4.4
+
101 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html
+
102 
+
103 // #define GLM_CXX11_ALIAS_TEMPLATE
+
104 // Template aliases N2258 GCC 4.7
+
105 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
+
106 
+
107 //
+
108 // Extern templates N1987 Yes
+
109 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm
+
110 
+
111 // #define GLM_CXX11_NULLPTR
+
112 // Null pointer constant N2431 GCC 4.6
+
113 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf
+
114 
+
115 // #define GLM_CXX11_STRONG_ENUMS
+
116 // Strongly-typed enums N2347 GCC 4.4
+
117 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf
+
118 
+
119 //
+
120 // Forward declarations for enums N2764 GCC 4.6
+
121 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf
+
122 
+
123 //
+
124 // Generalized attributes N2761 GCC 4.8
+
125 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf
+
126 
+
127 //
+
128 // Generalized constant expressions N2235 GCC 4.6
+
129 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf
+
130 
+
131 //
+
132 // Alignment support N2341 GCC 4.8
+
133 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
+
134 
+
135 // #define GLM_CXX11_DELEGATING_CONSTRUCTORS
+
136 // Delegating constructors N1986 GCC 4.7
+
137 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf
+
138 
+
139 //
+
140 // Inheriting constructors N2540 GCC 4.8
+
141 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm
+
142 
+
143 // #define GLM_CXX11_EXPLICIT_CONVERSIONS
+
144 // Explicit conversion operators N2437 GCC 4.5
+
145 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
+
146 
+
147 //
+
148 // New character types N2249 GCC 4.4
+
149 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html
+
150 
+
151 //
+
152 // Unicode string literals N2442 GCC 4.5
+
153 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
+
154 
+
155 //
+
156 // Raw string literals N2442 GCC 4.5
+
157 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
+
158 
+
159 //
+
160 // Universal character name literals N2170 GCC 4.5
+
161 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html
+
162 
+
163 // #define GLM_CXX11_USER_LITERALS
+
164 // User-defined literals N2765 GCC 4.7
+
165 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
+
166 
+
167 //
+
168 // Standard Layout Types N2342 GCC 4.5
+
169 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm
+
170 
+
171 // #define GLM_CXX11_DEFAULTED_FUNCTIONS
+
172 // #define GLM_CXX11_DELETED_FUNCTIONS
+
173 // Defaulted and deleted functions N2346 GCC 4.4
+
174 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
+
175 
+
176 //
+
177 // Extended friend declarations N1791 GCC 4.7
+
178 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf
+
179 
+
180 //
+
181 // Extending sizeof N2253 GCC 4.4
+
182 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html
+
183 
+
184 // #define GLM_CXX11_INLINE_NAMESPACES
+
185 // Inline namespaces N2535 GCC 4.4
+
186 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm
+
187 
+
188 // #define GLM_CXX11_UNRESTRICTED_UNIONS
+
189 // Unrestricted unions N2544 GCC 4.6
+
190 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
+
191 
+
192 // #define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS
+
193 // Local and unnamed types as template arguments N2657 GCC 4.5
+
194 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm
+
195 
+
196 // #define GLM_CXX11_RANGE_FOR
+
197 // Range-based for N2930 GCC 4.6
+
198 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html
+
199 
+
200 // #define GLM_CXX11_OVERRIDE_CONTROL
+
201 // Explicit virtual overrides N2928 N3206 N3272 GCC 4.7
+
202 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
+
203 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
+
204 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
+
205 
+
206 //
+
207 // Minimal support for garbage collection and reachability-based leak detection N2670 No
+
208 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm
+
209 
+
210 // #define GLM_CXX11_NOEXCEPT
+
211 // Allowing move constructors to throw [noexcept] N3050 GCC 4.6 (core language only)
+
212 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
+
213 
+
214 //
+
215 // Defining move special member functions N3053 GCC 4.6
+
216 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html
+
217 
+
218 //
+
219 // Sequence points N2239 Yes
+
220 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
+
221 
+
222 //
+
223 // Atomic operations N2427 GCC 4.4
+
224 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
+
225 
+
226 //
+
227 // Strong Compare and Exchange N2748 GCC 4.5
+
228 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html
+
229 
+
230 //
+
231 // Bidirectional Fences N2752 GCC 4.8
+
232 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm
+
233 
+
234 //
+
235 // Memory model N2429 GCC 4.8
+
236 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm
+
237 
+
238 //
+
239 // Data-dependency ordering: atomics and memory model N2664 GCC 4.4
+
240 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm
+
241 
+
242 //
+
243 // Propagating exceptions N2179 GCC 4.4
+
244 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html
+
245 
+
246 //
+
247 // Abandoning a process and at_quick_exit N2440 GCC 4.8
+
248 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm
+
249 
+
250 //
+
251 // Allow atomics use in signal handlers N2547 Yes
+
252 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm
+
253 
+
254 //
+
255 // Thread-local storage N2659 GCC 4.8
+
256 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm
+
257 
+
258 //
+
259 // Dynamic initialization and destruction with concurrency N2660 GCC 4.3
+
260 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm
+
261 
+
262 //
+
263 // __func__ predefined identifier N2340 GCC 4.3
+
264 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm
+
265 
+
266 //
+
267 // C99 preprocessor N1653 GCC 4.3
+
268 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
+
269 
+
270 //
+
271 // long long N1811 GCC 4.3
+
272 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf
+
273 
+
274 //
+
275 // Extended integral types N1988 Yes
+
276 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf
+
277 
+
278 #if(GLM_COMPILER & GLM_COMPILER_GCC)
+
279 
+
280 # if(GLM_COMPILER >= GLM_COMPILER_GCC43)
+
281 # define GLM_CXX11_STATIC_ASSERT
+
282 # endif
+
283 
+
284 #elif(GLM_COMPILER & GLM_COMPILER_CLANG)
+
285 # if(__has_feature(cxx_exceptions))
+
286 # define GLM_CXX98_EXCEPTIONS
+
287 # endif
+
288 
+
289 # if(__has_feature(cxx_rtti))
+
290 # define GLM_CXX98_RTTI
+
291 # endif
+
292 
+
293 # if(__has_feature(cxx_access_control_sfinae))
+
294 # define GLM_CXX11_ACCESS_CONTROL_SFINAE
+
295 # endif
+
296 
+
297 # if(__has_feature(cxx_alias_templates))
+
298 # define GLM_CXX11_ALIAS_TEMPLATE
+
299 # endif
+
300 
+
301 # if(__has_feature(cxx_alignas))
+
302 # define GLM_CXX11_ALIGNAS
+
303 # endif
+
304 
+
305 # if(__has_feature(cxx_attributes))
+
306 # define GLM_CXX11_ATTRIBUTES
+
307 # endif
+
308 
+
309 # if(__has_feature(cxx_constexpr))
+
310 # define GLM_CXX11_CONSTEXPR
+
311 # endif
+
312 
+
313 # if(__has_feature(cxx_decltype))
+
314 # define GLM_CXX11_DECLTYPE
+
315 # endif
+
316 
+
317 # if(__has_feature(cxx_default_function_template_args))
+
318 # define GLM_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS
+
319 # endif
+
320 
+
321 # if(__has_feature(cxx_defaulted_functions))
+
322 # define GLM_CXX11_DEFAULTED_FUNCTIONS
+
323 # endif
+
324 
+
325 # if(__has_feature(cxx_delegating_constructors))
+
326 # define GLM_CXX11_DELEGATING_CONSTRUCTORS
+
327 # endif
+
328 
+
329 # if(__has_feature(cxx_deleted_functions))
+
330 # define GLM_CXX11_DELETED_FUNCTIONS
+
331 # endif
+
332 
+
333 # if(__has_feature(cxx_explicit_conversions))
+
334 # define GLM_CXX11_EXPLICIT_CONVERSIONS
+
335 # endif
+
336 
+
337 # if(__has_feature(cxx_generalized_initializers))
+
338 # define GLM_CXX11_GENERALIZED_INITIALIZERS
+
339 # endif
+
340 
+
341 # if(__has_feature(cxx_implicit_moves))
+
342 # define GLM_CXX11_IMPLICIT_MOVES
+
343 # endif
+
344 
+
345 # if(__has_feature(cxx_inheriting_constructors))
+
346 # define GLM_CXX11_INHERITING_CONSTRUCTORS
+
347 # endif
+
348 
+
349 # if(__has_feature(cxx_inline_namespaces))
+
350 # define GLM_CXX11_INLINE_NAMESPACES
+
351 # endif
+
352 
+
353 # if(__has_feature(cxx_lambdas))
+
354 # define GLM_CXX11_LAMBDAS
+
355 # endif
+
356 
+
357 # if(__has_feature(cxx_local_type_template_args))
+
358 # define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS
+
359 # endif
+
360 
+
361 # if(__has_feature(cxx_noexcept))
+
362 # define GLM_CXX11_NOEXCEPT
+
363 # endif
+
364 
+
365 # if(__has_feature(cxx_nonstatic_member_init))
+
366 # define GLM_CXX11_NONSTATIC_MEMBER_INIT
+
367 # endif
+
368 
+
369 # if(__has_feature(cxx_nullptr))
+
370 # define GLM_CXX11_NULLPTR
+
371 # endif
+
372 
+
373 # if(__has_feature(cxx_override_control))
+
374 # define GLM_CXX11_OVERRIDE_CONTROL
+
375 # endif
+
376 
+
377 # if(__has_feature(cxx_reference_qualified_functions))
+
378 # define GLM_CXX11_REFERENCE_QUALIFIED_FUNCTIONS
+
379 # endif
+
380 
+
381 # if(__has_feature(cxx_range_for))
+
382 # define GLM_CXX11_RANGE_FOR
+
383 # endif
+
384 
+
385 # if(__has_feature(cxx_raw_string_literals))
+
386 # define GLM_CXX11_RAW_STRING_LITERALS
+
387 # endif
+
388 
+
389 # if(__has_feature(cxx_rvalue_references))
+
390 # define GLM_CXX11_RVALUE_REFERENCES
+
391 # endif
+
392 
+
393 # if(__has_feature(cxx_static_assert))
+
394 # define GLM_CXX11_STATIC_ASSERT
+
395 # endif
+
396 
+
397 # if(__has_feature(cxx_auto_type))
+
398 # define GLM_CXX11_AUTO_TYPE
+
399 # endif
+
400 
+
401 # if(__has_feature(cxx_strong_enums))
+
402 # define GLM_CXX11_STRONG_ENUMS
+
403 # endif
+
404 
+
405 # if(__has_feature(cxx_trailing_return))
+
406 # define GLM_CXX11_TRAILING_RETURN
+
407 # endif
+
408 
+
409 # if(__has_feature(cxx_unicode_literals))
+
410 # define GLM_CXX11_UNICODE_LITERALS
+
411 # endif
+
412 
+
413 # if(__has_feature(cxx_unrestricted_unions))
+
414 # define GLM_CXX11_UNRESTRICTED_UNIONS
+
415 # endif
+
416 
+
417 # if(__has_feature(cxx_user_literals))
+
418 # define GLM_CXX11_USER_LITERALS
+
419 # endif
+
420 
+
421 # if(__has_feature(cxx_variadic_templates))
+
422 # define GLM_CXX11_VARIADIC_TEMPLATES
+
423 # endif
+
424 
+
425 #endif//(GLM_COMPILER & GLM_COMPILER_CLANG)
+
426 
+
427 #endif//glm_core_features
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00005.html glm-0.9.5.1/doc/api/a00005.html --- glm-0.9.4.6/doc/api/a00005.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00005.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ - - - - - -_swizzle_func.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
_swizzle_func.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2011-10-16 / 2011-10-16
-
Author
Christophe Riccio
- -

Definition in file _swizzle_func.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00005_source.html glm-0.9.5.1/doc/api/a00005_source.html --- glm-0.9.4.6/doc/api/a00005_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00005_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,843 +1,85 @@ - - - - - -_swizzle_func.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
_swizzle_func.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_swizzle_func
-
30 #define glm_core_swizzle_func
-
31 
-
32 #define GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B) \
-
33  SWIZZLED_TYPE<TMPL_TYPE> A ## B() CONST \
-
34  { \
-
35  return SWIZZLED_TYPE<TMPL_TYPE>(this->A, this->B); \
-
36  }
-
37 
-
38 #define GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C) \
-
39  SWIZZLED_TYPE<TMPL_TYPE> A ## B ## C() CONST \
-
40  { \
-
41  return SWIZZLED_TYPE<TMPL_TYPE>(this->A, this->B, this->C); \
-
42  }
-
43 
-
44 #define GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D) \
-
45  SWIZZLED_TYPE<TMPL_TYPE> A ## B ## C ## D() CONST \
-
46  { \
-
47  return SWIZZLED_TYPE<TMPL_TYPE>(this->A, this->B, this->C, this->D); \
-
48  }
-
49 
-
50 #define GLM_SWIZZLE_GEN_VEC2_ENTRY_DEF(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B) \
-
51  template <typename TMPL_TYPE> \
-
52  SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE>::A ## B() CONST \
-
53  { \
-
54  return SWIZZLED_TYPE<TMPL_TYPE>(this->A, this->B); \
-
55  }
-
56 
-
57 #define GLM_SWIZZLE_GEN_VEC3_ENTRY_DEF(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C) \
-
58  template <typename TMPL_TYPE> \
-
59  SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE>::A ## B ## C() CONST \
-
60  { \
-
61  return SWIZZLED_TYPE<TMPL_TYPE>(this->A, this->B, this->C); \
-
62  }
-
63 
-
64 #define GLM_SWIZZLE_GEN_VEC4_ENTRY_DEF(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D) \
-
65  template <typename TMPL_TYPE> \
-
66  SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE>::A ## B ## C ## D() CONST \
-
67  { \
-
68  return SWIZZLED_TYPE<TMPL_TYPE>(this->A, this->B, this->C, this->D); \
-
69  }
-
70 
-
71 #define GLM_MUTABLE
-
72 
-
73 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
-
74  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \
-
75  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A)
-
76 
-
77 #define GLM_SWIZZLE_GEN_REF_FROM_VEC2(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE) \
-
78  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, x, y) \
-
79  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, r, g) \
-
80  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, s, t)
-
81 
-
82 //GLM_SWIZZLE_GEN_REF_FROM_VEC2(valType, detail::vec2, detail::ref2)
-
83 
-
84 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
-
85  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \
-
86  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \
-
87  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \
-
88  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \
-
89  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \
-
90  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B)
-
91 
-
92 #define GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
-
93  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B, C) \
-
94  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C, B) \
-
95  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A, C) \
-
96  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C, A) \
-
97  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A, B) \
-
98  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B, A)
-
99 
-
100 #define GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \
-
101  GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \
-
102  GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C)
-
103 
-
104 #define GLM_SWIZZLE_GEN_REF_FROM_VEC3(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE) \
-
105  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, x, y, z) \
-
106  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, r, g, b) \
-
107  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, s, t, q)
-
108 
-
109 //GLM_SWIZZLE_GEN_REF_FROM_VEC3(valType, detail::vec3, detail::ref2, detail::ref3)
-
110 
-
111 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
-
112  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \
-
113  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \
-
114  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, D) \
-
115  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \
-
116  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \
-
117  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, D) \
-
118  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \
-
119  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B) \
-
120  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, D) \
-
121  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, A) \
-
122  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, B) \
-
123  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, C)
-
124 
-
125 #define GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
-
126  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C) \
-
127  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D) \
-
128  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B) \
-
129  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D) \
-
130  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B) \
-
131  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C) \
-
132  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C) \
-
133  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D) \
-
134  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A) \
-
135  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D) \
-
136  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A) \
-
137  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C) \
-
138  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B) \
-
139  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D) \
-
140  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A) \
-
141  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D) \
-
142  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A) \
-
143  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B) \
-
144  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B) \
-
145  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C) \
-
146  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A) \
-
147  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C) \
-
148  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A) \
-
149  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B)
-
150 
-
151 #define GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
-
152  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B, D) \
-
153  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D, B) \
-
154  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B, C) \
-
155  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C, B) \
-
156  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D, C) \
-
157  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C, D) \
-
158  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A, D) \
-
159  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D, A) \
-
160  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A, C) \
-
161  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C, A) \
-
162  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D, C) \
-
163  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C, D) \
-
164  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A, D) \
-
165  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D, A) \
-
166  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A, B) \
-
167  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B, A) \
-
168  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D, B) \
-
169  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B, D) \
-
170  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B, A) \
-
171  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A, B) \
-
172  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B, C) \
-
173  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C, B) \
-
174  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A, C) \
-
175  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C, A)
-
176 
-
177 #define GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \
-
178  GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \
-
179  GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \
-
180  GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)
-
181 
-
182 #define GLM_SWIZZLE_GEN_REF_FROM_VEC4(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
-
183  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \
-
184  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \
-
185  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, q, p)
-
186 
-
187 //GLM_SWIZZLE_GEN_REF_FROM_VEC4(valType, detail::vec4, detail::ref2, detail::ref3, detail::ref4)
-
188 
-
189 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
-
190  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \
-
191  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \
-
192  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \
-
193  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B)
-
194 
-
195 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
-
196  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \
-
197  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \
-
198  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \
-
199  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \
-
200  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \
-
201  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \
-
202  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \
-
203  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B)
-
204 
-
205 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
-
206  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \
-
207  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \
-
208  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \
-
209  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \
-
210  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \
-
211  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \
-
212  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \
-
213  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \
-
214  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \
-
215  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \
-
216  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \
-
217  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \
-
218  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \
-
219  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \
-
220  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \
-
221  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B)
-
222 
-
223 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B) \
-
224  GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B) \
-
225  GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B) \
-
226  GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B)
-
227 
-
228 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC2(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
-
229  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y) \
-
230  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g) \
-
231  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t)
-
232 
-
233 //GLM_SWIZZLE_GEN_VEC_FROM_VEC2(valType, detail::vec2, detail::vec2, detail::vec3, detail::vec4)
-
234 
-
235 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
-
236  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \
-
237  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \
-
238  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \
-
239  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \
-
240  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \
-
241  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \
-
242  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \
-
243  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \
-
244  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C)
-
245 
-
246 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
-
247  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \
-
248  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \
-
249  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \
-
250  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \
-
251  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \
-
252  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \
-
253  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \
-
254  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \
-
255  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \
-
256  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \
-
257  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \
-
258  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \
-
259  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \
-
260  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \
-
261  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \
-
262  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \
-
263  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \
-
264  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \
-
265  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \
-
266  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \
-
267  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \
-
268  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \
-
269  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \
-
270  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \
-
271  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \
-
272  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \
-
273  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C)
-
274 
-
275 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
-
276  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \
-
277  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \
-
278  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \
-
279  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \
-
280  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \
-
281  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \
-
282  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \
-
283  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \
-
284  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \
-
285  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \
-
286  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \
-
287  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \
-
288  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \
-
289  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \
-
290  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \
-
291  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \
-
292  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \
-
293  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \
-
294  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \
-
295  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \
-
296  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \
-
297  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \
-
298  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \
-
299  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \
-
300  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \
-
301  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \
-
302  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \
-
303  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, A) \
-
304  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, B) \
-
305  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, C) \
-
306  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, A) \
-
307  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, B) \
-
308  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, C) \
-
309  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, A) \
-
310  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, B) \
-
311  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, C) \
-
312  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \
-
313  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \
-
314  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \
-
315  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \
-
316  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \
-
317  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \
-
318  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \
-
319  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \
-
320  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \
-
321  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \
-
322  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \
-
323  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \
-
324  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \
-
325  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \
-
326  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \
-
327  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \
-
328  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \
-
329  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \
-
330  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \
-
331  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \
-
332  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \
-
333  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \
-
334  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \
-
335  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \
-
336  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \
-
337  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \
-
338  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \
-
339  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, A) \
-
340  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, B) \
-
341  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, C) \
-
342  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, A) \
-
343  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, B) \
-
344  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, C) \
-
345  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, A) \
-
346  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, B) \
-
347  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, C) \
-
348  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \
-
349  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \
-
350  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \
-
351  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \
-
352  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \
-
353  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \
-
354  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \
-
355  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \
-
356  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \
-
357  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \
-
358  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \
-
359  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \
-
360  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \
-
361  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \
-
362  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \
-
363  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \
-
364  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \
-
365  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \
-
366  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \
-
367  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \
-
368  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \
-
369  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \
-
370  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \
-
371  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \
-
372  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \
-
373  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \
-
374  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C) \
-
375  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, A) \
-
376  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, B) \
-
377  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, C) \
-
378  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, A) \
-
379  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, B) \
-
380  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, C) \
-
381  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, A) \
-
382  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, B) \
-
383  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, C) \
-
384  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, A) \
-
385  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, B) \
-
386  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, C) \
-
387  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, A) \
-
388  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, B) \
-
389  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, C) \
-
390  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, A) \
-
391  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, B) \
-
392  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, C) \
-
393  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, A) \
-
394  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, B) \
-
395  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, C) \
-
396  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, A) \
-
397  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, B) \
-
398  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, C) \
-
399  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, A) \
-
400  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, B) \
-
401  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, C) \
-
402  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, A) \
-
403  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, B) \
-
404  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, C) \
-
405  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, A) \
-
406  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, B) \
-
407  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, C) \
-
408  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, A) \
-
409  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, B) \
-
410  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, C) \
-
411  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, A) \
-
412  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, B) \
-
413  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, C) \
-
414  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, A) \
-
415  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, B) \
-
416  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, C) \
-
417  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, A) \
-
418  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, B) \
-
419  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, C)
-
420 
-
421 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C) \
-
422  GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C) \
-
423  GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \
-
424  GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C)
-
425 
-
426 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC3(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
-
427  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z) \
-
428  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b) \
-
429  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, q)
-
430 
-
431 //GLM_SWIZZLE_GEN_VEC_FROM_VEC3(valType, detail::vec3, detail::vec2, detail::vec3, detail::vec4)
-
432 
-
433 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
-
434  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \
-
435  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \
-
436  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \
-
437  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D) \
-
438  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \
-
439  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \
-
440  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \
-
441  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D) \
-
442  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \
-
443  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \
-
444  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C) \
-
445  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D) \
-
446  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A) \
-
447  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B) \
-
448  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C) \
-
449  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D)
-
450 
-
451 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
-
452  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \
-
453  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \
-
454  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \
-
455  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D) \
-
456  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \
-
457  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \
-
458  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \
-
459  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D) \
-
460  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \
-
461  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \
-
462  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \
-
463  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D) \
-
464  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A) \
-
465  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B) \
-
466  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C) \
-
467  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D) \
-
468  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \
-
469  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \
-
470  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \
-
471  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D) \
-
472  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \
-
473  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \
-
474  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \
-
475  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D) \
-
476  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \
-
477  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \
-
478  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \
-
479  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D) \
-
480  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A) \
-
481  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B) \
-
482  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C) \
-
483  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D) \
-
484  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \
-
485  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \
-
486  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \
-
487  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D) \
-
488  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \
-
489  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \
-
490  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \
-
491  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D) \
-
492  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \
-
493  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \
-
494  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C) \
-
495  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D) \
-
496  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A) \
-
497  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B) \
-
498  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C) \
-
499  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D) \
-
500  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A) \
-
501  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B) \
-
502  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C) \
-
503  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D) \
-
504  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A) \
-
505  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B) \
-
506  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C) \
-
507  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D) \
-
508  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A) \
-
509  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B) \
-
510  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C) \
-
511  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D) \
-
512  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A) \
-
513  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B) \
-
514  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C) \
-
515  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D)
-
516 
-
517 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
-
518  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \
-
519  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \
-
520  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \
-
521  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, D) \
-
522  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \
-
523  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \
-
524  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \
-
525  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, D) \
-
526  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \
-
527  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \
-
528  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \
-
529  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, D) \
-
530  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, A) \
-
531  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, B) \
-
532  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, C) \
-
533  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, D) \
-
534  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \
-
535  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \
-
536  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \
-
537  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, D) \
-
538  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \
-
539  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \
-
540  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \
-
541  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, D) \
-
542  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \
-
543  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \
-
544  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \
-
545  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, D) \
-
546  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, A) \
-
547  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, B) \
-
548  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, C) \
-
549  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, D) \
-
550  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \
-
551  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \
-
552  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \
-
553  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, D) \
-
554  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \
-
555  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \
-
556  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \
-
557  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, D) \
-
558  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \
-
559  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \
-
560  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \
-
561  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, D) \
-
562  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, A) \
-
563  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, B) \
-
564  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, C) \
-
565  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, D) \
-
566  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, A) \
-
567  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, B) \
-
568  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, C) \
-
569  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, D) \
-
570  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, A) \
-
571  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, B) \
-
572  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, C) \
-
573  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, D) \
-
574  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, A) \
-
575  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, B) \
-
576  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, C) \
-
577  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, D) \
-
578  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, A) \
-
579  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, B) \
-
580  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, C) \
-
581  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, D) \
-
582  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \
-
583  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \
-
584  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \
-
585  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, D) \
-
586  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \
-
587  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \
-
588  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \
-
589  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, D) \
-
590  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \
-
591  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \
-
592  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \
-
593  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, D) \
-
594  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, A) \
-
595  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, B) \
-
596  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, C) \
-
597  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, D) \
-
598  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \
-
599  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \
-
600  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \
-
601  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, D) \
-
602  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \
-
603  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \
-
604  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \
-
605  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, D) \
-
606  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \
-
607  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \
-
608  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \
-
609  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, D) \
-
610  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, A) \
-
611  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, B) \
-
612  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, C) \
-
613  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, D) \
-
614  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \
-
615  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \
-
616  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \
-
617  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, D) \
-
618  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \
-
619  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \
-
620  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \
-
621  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, D) \
-
622  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \
-
623  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \
-
624  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \
-
625  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, D) \
-
626  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, A) \
-
627  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, B) \
-
628  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, C) \
-
629  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, D) \
-
630  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, A) \
-
631  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, B) \
-
632  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, C) \
-
633  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, D) \
-
634  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, A) \
-
635  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, B) \
-
636  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, C) \
-
637  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, D) \
-
638  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, A) \
-
639  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, B) \
-
640  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, C) \
-
641  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, D) \
-
642  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, A) \
-
643  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, B) \
-
644  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, C) \
-
645  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, D) \
-
646  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \
-
647  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \
-
648  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \
-
649  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, D) \
-
650  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \
-
651  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \
-
652  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \
-
653  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, D) \
-
654  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \
-
655  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \
-
656  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \
-
657  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, D) \
-
658  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, A) \
-
659  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, B) \
-
660  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, C) \
-
661  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, D) \
-
662  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \
-
663  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \
-
664  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \
-
665  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, D) \
-
666  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \
-
667  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \
-
668  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \
-
669  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, D) \
-
670  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \
-
671  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \
-
672  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \
-
673  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, D) \
-
674  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, A) \
-
675  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, B) \
-
676  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, C) \
-
677  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, D) \
-
678  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \
-
679  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \
-
680  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \
-
681  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, D) \
-
682  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \
-
683  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \
-
684  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \
-
685  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, D) \
-
686  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \
-
687  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \
-
688  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C) \
-
689  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, D) \
-
690  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, A) \
-
691  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, B) \
-
692  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, C) \
-
693  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, D) \
-
694  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, A) \
-
695  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, B) \
-
696  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, C) \
-
697  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, D) \
-
698  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, A) \
-
699  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, B) \
-
700  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, C) \
-
701  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, D) \
-
702  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, A) \
-
703  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, B) \
-
704  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, C) \
-
705  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, D) \
-
706  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, A) \
-
707  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, B) \
-
708  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, C) \
-
709  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, D) \
-
710  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, A) \
-
711  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, B) \
-
712  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, C) \
-
713  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, D) \
-
714  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, A) \
-
715  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, B) \
-
716  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, C) \
-
717  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, D) \
-
718  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, A) \
-
719  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, B) \
-
720  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, C) \
-
721  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, D) \
-
722  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, A) \
-
723  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, B) \
-
724  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, C) \
-
725  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, D) \
-
726  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, A) \
-
727  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, B) \
-
728  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, C) \
-
729  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, D) \
-
730  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, A) \
-
731  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, B) \
-
732  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, C) \
-
733  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, D) \
-
734  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, A) \
-
735  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, B) \
-
736  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, C) \
-
737  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, D) \
-
738  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, A) \
-
739  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, B) \
-
740  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, C) \
-
741  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, D) \
-
742  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, A) \
-
743  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, B) \
-
744  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, C) \
-
745  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, D) \
-
746  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, A) \
-
747  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, B) \
-
748  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, C) \
-
749  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, D) \
-
750  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, A) \
-
751  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, B) \
-
752  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, C) \
-
753  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, D) \
-
754  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, A) \
-
755  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, B) \
-
756  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, C) \
-
757  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, D) \
-
758  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, A) \
-
759  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, B) \
-
760  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, C) \
-
761  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, D) \
-
762  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, A) \
-
763  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, B) \
-
764  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, C) \
-
765  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, D) \
-
766  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, A) \
-
767  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, B) \
-
768  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, C) \
-
769  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, D) \
-
770  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, A) \
-
771  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, B) \
-
772  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, C) \
-
773  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, D)
-
774 
-
775 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \
-
776  GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \
-
777  GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \
-
778  GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)
-
779 
-
780 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
-
781  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \
-
782  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \
-
783  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, q, p)
-
784 
-
785 //GLM_SWIZZLE_GEN_VEC_FROM_VEC4(valType, detail::vec4, detail::vec2, detail::vec3, detail::vec4)
-
786 
-
787 #endif//glm_core_swizzle_func
-
- - - - + + + + + + +GLM: _fixes.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
_fixes.hpp
+
+
+
1 
+
29 #include <cmath>
+
30 
+
32 #ifdef max
+
33 #undef max
+
34 #endif
+
35 
+
37 #ifdef min
+
38 #undef min
+
39 #endif
+
40 
+
42 #ifdef isnan
+
43 #undef isnan
+
44 #endif
+
45 
+
47 #ifdef isinf
+
48 #undef isinf
+
49 #endif
+
50 
+
52 #ifdef log2
+
53 #undef log2
+
54 #endif
+
55 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00006.html glm-0.9.5.1/doc/api/a00006.html --- glm-0.9.4.6/doc/api/a00006.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00006.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ - - - - - -_vectorize.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
_vectorize.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2011-10-14 / 2011-10-14
-
Author
Christophe Riccio
- -

Definition in file _vectorize.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00006_source.html glm-0.9.5.1/doc/api/a00006_source.html --- glm-0.9.4.6/doc/api/a00006_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00006_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,215 +1,86 @@ - - - - - -_vectorize.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
_vectorize.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #define VECTORIZE2_VEC(func) \
-
30  template <typename T> \
-
31  GLM_FUNC_QUALIFIER detail::tvec2<T> func( \
-
32  detail::tvec2<T> const & v) \
-
33  { \
-
34  return detail::tvec2<T>( \
-
35  func(v.x), \
-
36  func(v.y)); \
-
37  }
-
38 
-
39 #define VECTORIZE3_VEC(func) \
-
40  template <typename T> \
-
41  GLM_FUNC_QUALIFIER detail::tvec3<T> func( \
-
42  detail::tvec3<T> const & v) \
-
43  { \
-
44  return detail::tvec3<T>( \
-
45  func(v.x), \
-
46  func(v.y), \
-
47  func(v.z)); \
-
48  }
-
49 
-
50 #define VECTORIZE4_VEC(func) \
-
51  template <typename T> \
-
52  GLM_FUNC_QUALIFIER detail::tvec4<T> func( \
-
53  detail::tvec4<T> const & v) \
-
54  { \
-
55  return detail::tvec4<T>( \
-
56  func(v.x), \
-
57  func(v.y), \
-
58  func(v.z), \
-
59  func(v.w)); \
-
60  }
-
61 
-
62 #define VECTORIZE_VEC(func) \
-
63  VECTORIZE2_VEC(func) \
-
64  VECTORIZE3_VEC(func) \
-
65  VECTORIZE4_VEC(func)
-
66 
-
67 #define VECTORIZE2_VEC_SCA(func) \
-
68  template <typename T> \
-
69  GLM_FUNC_QUALIFIER detail::tvec2<T> func \
-
70  ( \
-
71  detail::tvec2<T> const & x, \
-
72  typename detail::tvec2<T>::value_type const & y \
-
73  ) \
-
74  { \
-
75  return detail::tvec2<T>( \
-
76  func(x.x, y), \
-
77  func(x.y, y)); \
-
78  }
-
79 
-
80 #define VECTORIZE3_VEC_SCA(func) \
-
81  template <typename T> \
-
82  GLM_FUNC_QUALIFIER detail::tvec3<T> func \
-
83  ( \
-
84  detail::tvec3<T> const & x, \
-
85  typename detail::tvec3<T>::value_type const & y \
-
86  ) \
-
87  { \
-
88  return detail::tvec3<T>( \
-
89  func(x.x, y), \
-
90  func(x.y, y), \
-
91  func(x.z, y)); \
-
92  }
-
93 
-
94 #define VECTORIZE4_VEC_SCA(func) \
-
95  template <typename T> \
-
96  GLM_FUNC_QUALIFIER detail::tvec4<T> func \
-
97  ( \
-
98  detail::tvec4<T> const & x, \
-
99  typename detail::tvec4<T>::value_type const & y \
-
100  ) \
-
101  { \
-
102  return detail::tvec4<T>( \
-
103  func(x.x, y), \
-
104  func(x.y, y), \
-
105  func(x.z, y), \
-
106  func(x.w, y)); \
-
107  }
-
108 
-
109 #define VECTORIZE_VEC_SCA(func) \
-
110  VECTORIZE2_VEC_SCA(func) \
-
111  VECTORIZE3_VEC_SCA(func) \
-
112  VECTORIZE4_VEC_SCA(func)
-
113 
-
114 #define VECTORIZE2_VEC_VEC(func) \
-
115  template <typename T> \
-
116  GLM_FUNC_QUALIFIER detail::tvec2<T> func \
-
117  ( \
-
118  detail::tvec2<T> const & x, \
-
119  detail::tvec2<T> const & y \
-
120  ) \
-
121  { \
-
122  return detail::tvec2<T>( \
-
123  func(x.x, y.x), \
-
124  func(x.y, y.y)); \
-
125  }
-
126 
-
127 #define VECTORIZE3_VEC_VEC(func) \
-
128  template <typename T> \
-
129  GLM_FUNC_QUALIFIER detail::tvec3<T> func \
-
130  ( \
-
131  detail::tvec3<T> const & x, \
-
132  detail::tvec3<T> const & y \
-
133  ) \
-
134  { \
-
135  return detail::tvec3<T>( \
-
136  func(x.x, y.x), \
-
137  func(x.y, y.y), \
-
138  func(x.z, y.z)); \
-
139  }
-
140 
-
141 #define VECTORIZE4_VEC_VEC(func) \
-
142  template <typename T> \
-
143  GLM_FUNC_QUALIFIER detail::tvec4<T> func \
-
144  ( \
-
145  detail::tvec4<T> const & x, \
-
146  detail::tvec4<T> const & y \
-
147  ) \
-
148  { \
-
149  return detail::tvec4<T>( \
-
150  func(x.x, y.x), \
-
151  func(x.y, y.y), \
-
152  func(x.z, y.z), \
-
153  func(x.w, y.w)); \
-
154  }
-
155 
-
156 #define VECTORIZE_VEC_VEC(func) \
-
157  VECTORIZE2_VEC_VEC(func) \
-
158  VECTORIZE3_VEC_VEC(func) \
-
159  VECTORIZE4_VEC_VEC(func)
-
- - - - + + + + + + +GLM: _literals.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
_literals.hpp
+
+
+
1 
+
29 #ifndef glm_core_literals
+
30 #define glm_core_literals
+
31 
+
32 namespace glm
+
33 {
+
34 #define GLM_CXX11_USER_LITERALS
+
35 #ifdef GLM_CXX11_USER_LITERALS
+
36 /*
+
37  GLM_FUNC_QUALIFIER detail::half operator "" _h(long double const s)
+
38  {
+
39  return detail::half(s);
+
40  }
+
41 
+
42  GLM_FUNC_QUALIFIER float operator "" _f(long double const s)
+
43  {
+
44  return static_cast<float>(s);
+
45  }
+
46 */
+
47 #endif//GLM_CXX11_USER_LITERALS
+
48 
+
49 }//namespace glm
+
50 
+
51 #endif//glm_core_literals
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00007.html glm-0.9.5.1/doc/api/a00007.html --- glm-0.9.4.6/doc/api/a00007.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00007.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,95 +1,82 @@ - - - - - -associated_min_max.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
associated_min_max.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_associated_min_max

-
Date
2008-03-10 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
- -

Definition in file associated_min_max.hpp.

-
- - - - + + + + + + +GLM: _noise.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
_noise.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file _noise.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00007_source.html glm-0.9.5.1/doc/api/a00007_source.html --- glm-0.9.4.6/doc/api/a00007_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00007_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,147 +1,166 @@ - - - - - -associated_min_max.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
associated_min_max.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_associated_min_max
-
39 #define GLM_GTX_associated_min_max GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_associated_min_max extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template<typename genTypeT, typename genTypeU>
-
56  genTypeU associatedMin(
-
57  const genTypeT& x, const genTypeU& a,
-
58  const genTypeT& y, const genTypeU& b);
-
59 
-
62  template<typename genTypeT, typename genTypeU>
-
63  genTypeU associatedMin(
-
64  const genTypeT& x, const genTypeU& a,
-
65  const genTypeT& y, const genTypeU& b,
-
66  const genTypeT& z, const genTypeU& c);
-
67 
-
70  template<typename genTypeT, typename genTypeU>
-
71  genTypeU associatedMin(
-
72  const genTypeT& x, const genTypeU& a,
-
73  const genTypeT& y, const genTypeU& b,
-
74  const genTypeT& z, const genTypeU& c,
-
75  const genTypeT& w, const genTypeU& d);
-
76 
-
79  template<typename genTypeT, typename genTypeU>
-
80  genTypeU associatedMax(
-
81  const genTypeT& x, const genTypeU& a,
-
82  const genTypeT& y, const genTypeU& b);
-
83 
-
86  template<typename genTypeT, typename genTypeU>
-
87  genTypeU associatedMax(
-
88  const genTypeT& x, const genTypeU& a,
-
89  const genTypeT& y, const genTypeU& b,
-
90  const genTypeT& z, const genTypeU& c);
-
91 
-
94  template<typename genTypeT, typename genTypeU>
-
95  genTypeU associatedMax(
-
96  const genTypeT& x, const genTypeU& a,
-
97  const genTypeT& y, const genTypeU& b,
-
98  const genTypeT& z, const genTypeU& c,
-
99  const genTypeT& w, const genTypeU& d);
-
100 
-
102 } //namespace glm
-
103 
-
104 #include "associated_min_max.inl"
-
105 
-
106 #endif//GLM_GTX_associated_min_max
-
- - - - + + + + + + +GLM: _noise.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
_noise.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_DETAIL_NOISE_INCLUDED
+
30 #define GLM_DETAIL_NOISE_INCLUDED
+
31 
+
32 namespace glm{
+
33 namespace detail
+
34 {
+
35  template <typename T>
+
36  GLM_FUNC_QUALIFIER T mod289(T const & x)
+
37  {
+
38  return x - floor(x * static_cast<T>(1.0) / static_cast<T>(289.0)) * static_cast<T>(289.0);
+
39  }
+
40 
+
41  template <typename T>
+
42  GLM_FUNC_QUALIFIER T permute(T const & x)
+
43  {
+
44  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
+
45  }
+
46 
+
47  template <typename T, precision P>
+
48  GLM_FUNC_QUALIFIER tvec2<T, P> permute(tvec2<T, P> const & x)
+
49  {
+
50  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
+
51  }
+
52 
+
53  template <typename T, precision P>
+
54  GLM_FUNC_QUALIFIER tvec3<T, P> permute(tvec3<T, P> const & x)
+
55  {
+
56  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
+
57  }
+
58 
+
59  template <typename T, precision P>
+
60  GLM_FUNC_QUALIFIER tvec4<T, P> permute(tvec4<T, P> const & x)
+
61  {
+
62  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
+
63  }
+
64 /*
+
65  template <typename T, precision P, template<typename> class vecType>
+
66  GLM_FUNC_QUALIFIER vecType<T, P> permute(vecType<T, P> const & x)
+
67  {
+
68  return mod289(((x * T(34)) + T(1)) * x);
+
69  }
+
70 */
+
71  template <typename T>
+
72  GLM_FUNC_QUALIFIER T taylorInvSqrt(T const & r)
+
73  {
+
74  return T(1.79284291400159) - T(0.85373472095314) * r;
+
75  }
+
76 
+
77  template <typename T, precision P>
+
78  GLM_FUNC_QUALIFIER detail::tvec2<T, P> taylorInvSqrt(detail::tvec2<T, P> const & r)
+
79  {
+
80  return T(1.79284291400159) - T(0.85373472095314) * r;
+
81  }
+
82 
+
83  template <typename T, precision P>
+
84  GLM_FUNC_QUALIFIER detail::tvec3<T, P> taylorInvSqrt(detail::tvec3<T, P> const & r)
+
85  {
+
86  return T(1.79284291400159) - T(0.85373472095314) * r;
+
87  }
+
88 
+
89  template <typename T, precision P>
+
90  GLM_FUNC_QUALIFIER detail::tvec4<T, P> taylorInvSqrt(detail::tvec4<T, P> const & r)
+
91  {
+
92  return T(1.79284291400159) - T(0.85373472095314) * r;
+
93  }
+
94 /*
+
95  template <typename T, precision P, template<typename> class vecType>
+
96  GLM_FUNC_QUALIFIER vecType<T, P> taylorInvSqrt(vecType<T, P> const & r)
+
97  {
+
98  return T(1.79284291400159) - T(0.85373472095314) * r;
+
99  }
+
100 */
+
101 
+
102  template <typename T, precision P>
+
103  GLM_FUNC_QUALIFIER detail::tvec2<T, P> fade(detail::tvec2<T, P> const & t)
+
104  {
+
105  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
+
106  }
+
107 
+
108  template <typename T, precision P>
+
109  GLM_FUNC_QUALIFIER detail::tvec3<T, P> fade(detail::tvec3<T, P> const & t)
+
110  {
+
111  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
+
112  }
+
113 
+
114  template <typename T, precision P>
+
115  GLM_FUNC_QUALIFIER detail::tvec4<T, P> fade(detail::tvec4<T, P> const & t)
+
116  {
+
117  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
+
118  }
+
119 /*
+
120  template <typename T, precision P, template <typename> class vecType>
+
121  GLM_FUNC_QUALIFIER vecType<T, P> fade(vecType<T, P> const & t)
+
122  {
+
123  return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
+
124  }
+
125 */
+
126 }//namespace detail
+
127 }//namespace glm
+
128 
+
129 #endif//GLM_DETAIL_NOISE_INCLUDED
+
130 
+
GLM_FUNC_DECL genType floor(genType const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00008.html glm-0.9.5.1/doc/api/a00008.html --- glm-0.9.4.6/doc/api/a00008.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00008.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,126 +0,0 @@ - - - - - -bit.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
bit.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
GLM_DEPRECATED genType bitRevert (genType const &value)
 
template<typename genType >
genType bitRotateLeft (genType const &In, std::size_t Shift)
 
template<typename genType >
genType bitRotateRight (genType const &In, std::size_t Shift)
 
template<typename genIUType , typename sizeType >
GLM_DEPRECATED genIUType extractField (genIUType const &v, sizeType const &first, sizeType const &count)
 
template<typename genIUType >
genIUType fillBitfieldWithOne (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genIUType >
genIUType fillBitfieldWithZero (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genType >
GLM_DEPRECATED int highestBit (genType const &value)
 
template<typename genType >
genType highestBitValue (genType const &value)
 
template<typename genType >
bool isPowerOfTwo (genType const &value)
 
template<typename genType >
GLM_DEPRECATED int lowestBit (genType const &value)
 
template<typename genIType >
genIType mask (genIType const &count)
 
template<typename genType >
genType powerOfTwoAbove (genType const &value)
 
template<typename genType >
genType powerOfTwoBelow (genType const &value)
 
template<typename genType >
genType powerOfTwoNearest (genType const &value)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_bit

-
Date
2007-03-14 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_half_float (dependence)
-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_bit

-
Date
2005-12-30 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file bit.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00008_source.html glm-0.9.5.1/doc/api/a00008_source.html --- glm-0.9.4.6/doc/api/a00008_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00008_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,164 +1,876 @@ - - - - - -bit.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
bit.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_bit
-
40 #define GLM_GTX_bit GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtc/half_float.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_bit extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename genIType>
-
58  genIType mask(genIType const & count);
-
59 
-
63  template <typename genIUType, typename sizeType>
-
64  GLM_DEPRECATED genIUType extractField(
-
65  genIUType const & v,
-
66  sizeType const & first,
-
67  sizeType const & count);
-
68 
-
71  template <typename genType>
-
72  GLM_DEPRECATED int lowestBit(genType const & value);
-
73 
-
76  template <typename genType>
-
77  GLM_DEPRECATED int highestBit(genType const & value);
-
78 
-
81  template <typename genType>
-
82  genType highestBitValue(genType const & value);
-
83 
-
86  template <typename genType>
-
87  bool isPowerOfTwo(genType const & value);
-
88 
-
91  template <typename genType>
-
92  genType powerOfTwoAbove(genType const & value);
-
93 
-
96  template <typename genType>
-
97  genType powerOfTwoBelow(genType const & value);
-
98 
-
101  template <typename genType>
-
102  genType powerOfTwoNearest(genType const & value);
-
103 
-
106  template <typename genType>
-
107  GLM_DEPRECATED genType bitRevert(genType const & value);
-
108 
-
111  template <typename genType>
-
112  genType bitRotateRight(genType const & In, std::size_t Shift);
-
113 
-
116  template <typename genType>
-
117  genType bitRotateLeft(genType const & In, std::size_t Shift);
-
118 
-
121  template <typename genIUType>
-
122  genIUType fillBitfieldWithOne(
-
123  genIUType const & Value,
-
124  int const & FromBit,
-
125  int const & ToBit);
-
126 
-
129  template <typename genIUType>
-
130  genIUType fillBitfieldWithZero(
-
131  genIUType const & Value,
-
132  int const & FromBit,
-
133  int const & ToBit);
-
134 
-
136 } //namespace glm
-
137 
-
138 #include "bit.inl"
-
139 
-
140 #endif//GLM_GTX_bit
-
- - - - + + + + + + +GLM: _swizzle.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
_swizzle.hpp
+
+
+
1 
+
29 #ifndef glm_core_swizzle
+
30 #define glm_core_swizzle
+
31 
+
32 namespace glm{
+
33 namespace detail
+
34 {
+
35  // Internal class for implementing swizzle operators
+
36  template <typename T, int N>
+
37  struct _swizzle_base0
+
38  {
+
39  typedef T value_type;
+
40 
+
41  protected:
+
42  GLM_FUNC_QUALIFIER value_type& elem (size_t i) { return (reinterpret_cast<value_type*>(_buffer))[i]; }
+
43  GLM_FUNC_QUALIFIER const value_type& elem (size_t i) const { return (reinterpret_cast<const value_type*>(_buffer))[i]; }
+
44 
+
45  // Use an opaque buffer to *ensure* the compiler doesn't call a constructor.
+
46  // The size 1 buffer is assumed to aligned to the actual members so that the
+
47  // elem()
+
48  char _buffer[1];
+
49  };
+
50 
+
51  template <typename T, precision P, typename V, int E0, int E1, int E2, int E3, int N>
+
52  struct _swizzle_base1 : public _swizzle_base0<T, N>
+
53  {
+
54  };
+
55 
+
56  template <typename T, precision P, typename V, int E0, int E1>
+
57  struct _swizzle_base1<T, P, V,E0,E1,-1,-2,2> : public _swizzle_base0<T, 2>
+
58  {
+
59  GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1)); }
+
60  };
+
61 
+
62  template <typename T, precision P, typename V, int E0, int E1, int E2>
+
63  struct _swizzle_base1<T, P, V,E0,E1,E2,-1,3> : public _swizzle_base0<T, 3>
+
64  {
+
65  GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2)); }
+
66  };
+
67 
+
68  template <typename T, precision P, typename V, int E0, int E1, int E2, int E3>
+
69  struct _swizzle_base1<T, P, V,E0,E1,E2,E3,4> : public _swizzle_base0<T, 4>
+
70  {
+
71  GLM_FUNC_QUALIFIER V operator ()() const { return V(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }
+
72  };
+
73 
+
74  // Internal class for implementing swizzle operators
+
75  /*
+
76  Template parameters:
+
77 
+
78  ValueType = type of scalar values (e.g. float, double)
+
79  VecType = class the swizzle is applies to (e.g. tvec3<float>)
+
80  N = number of components in the vector (e.g. 3)
+
81  E0...3 = what index the n-th element of this swizzle refers to in the unswizzled vec
+
82 
+
83  DUPLICATE_ELEMENTS = 1 if there is a repeated element, 0 otherwise (used to specialize swizzles
+
84  containing duplicate elements so that they cannot be used as r-values).
+
85  */
+
86  template <typename ValueType, precision P, typename VecType, int N, int E0, int E1, int E2, int E3, int DUPLICATE_ELEMENTS>
+
87  struct _swizzle_base2 : public _swizzle_base1<ValueType, P, VecType,E0,E1,E2,E3,N>
+
88  {
+
89  typedef VecType vec_type;
+
90  typedef ValueType value_type;
+
91 
+
92  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const ValueType& t)
+
93  {
+
94  for (int i = 0; i < N; ++i)
+
95  (*this)[i] = t;
+
96  return *this;
+
97  }
+
98 
+
99  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const VecType& that)
+
100  {
+
101  struct op {
+
102  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e = t; }
+
103  };
+
104  _apply_op(that, op());
+
105  return *this;
+
106  }
+
107 
+
108  GLM_FUNC_QUALIFIER void operator -= (const VecType& that)
+
109  {
+
110  struct op {
+
111  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e -= t; }
+
112  };
+
113  _apply_op(that, op());
+
114  }
+
115 
+
116  GLM_FUNC_QUALIFIER void operator += (const VecType& that)
+
117  {
+
118  struct op {
+
119  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e += t; }
+
120  };
+
121  _apply_op(that, op());
+
122  }
+
123 
+
124  GLM_FUNC_QUALIFIER void operator *= (const VecType& that)
+
125  {
+
126  struct op {
+
127  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e *= t; }
+
128  };
+
129  _apply_op(that, op());
+
130  }
+
131 
+
132  GLM_FUNC_QUALIFIER void operator /= (const VecType& that)
+
133  {
+
134  struct op {
+
135  GLM_FUNC_QUALIFIER void operator() (value_type& e, value_type& t) { e /= t; }
+
136  };
+
137  _apply_op(that, op());
+
138  }
+
139 
+
140  GLM_FUNC_QUALIFIER value_type& operator[] (size_t i)
+
141  {
+
142 #ifndef __CUDA_ARCH__
+
143  static
+
144 #endif
+
145  const int offset_dst[4] = { E0, E1, E2, E3 };
+
146  return this->elem(offset_dst[i]);
+
147  }
+
148  GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const
+
149  {
+
150 #ifndef __CUDA_ARCH__
+
151  static
+
152 #endif
+
153  const int offset_dst[4] = { E0, E1, E2, E3 };
+
154  return this->elem(offset_dst[i]);
+
155  }
+
156  protected:
+
157  template <typename T>
+
158  GLM_FUNC_QUALIFIER void _apply_op(const VecType& that, T op)
+
159  {
+
160  // Make a copy of the data in this == &that.
+
161  // The copier should optimize out the copy in cases where the function is
+
162  // properly inlined and the copy is not necessary.
+
163  ValueType t[N];
+
164  for (int i = 0; i < N; ++i)
+
165  t[i] = that[i];
+
166  for (int i = 0; i < N; ++i)
+
167  op( (*this)[i], t[i] );
+
168  }
+
169  };
+
170 
+
171  // Specialization for swizzles containing duplicate elements. These cannot be modified.
+
172  template <typename ValueType, precision P, typename VecType, int N, int E0, int E1, int E2, int E3>
+
173  struct _swizzle_base2<ValueType, P, VecType,N,E0,E1,E2,E3,1> : public _swizzle_base1<ValueType, P, VecType,E0,E1,E2,E3,N>
+
174  {
+
175  typedef VecType vec_type;
+
176  typedef ValueType value_type;
+
177 
+
178  struct Stub {};
+
179  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (Stub const &) { return *this; }
+
180 
+
181  GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const
+
182  {
+
183 #ifndef __CUDA_ARCH__
+
184  static
+
185 #endif
+
186  const int offset_dst[4] = { E0, E1, E2, E3 };
+
187  return this->elem(offset_dst[i]);
+
188  }
+
189  };
+
190 
+
191  template <int N,typename ValueType, precision P, typename VecType, int E0,int E1,int E2,int E3>
+
192  struct _swizzle : public _swizzle_base2<ValueType, P, VecType, N,E0,E1,E2,E3,(E0==E1||E0==E2||E0==E3||E1==E2||E1==E3||E2==E3)>
+
193  {
+
194  typedef _swizzle_base2<ValueType, P, VecType,N,E0,E1,E2,E3,(E0==E1||E0==E2||E0==E3||E1==E2||E1==E3||E2==E3)> base_type;
+
195 
+
196  using base_type::operator=;
+
197 
+
198  GLM_FUNC_QUALIFIER operator VecType () const { return (*this)(); }
+
199  };
+
200 
+
201 //
+
202 // To prevent the C++ syntax from getting entirely overwhelming, define some alias macros
+
203 //
+
204 #define _GLM_SWIZZLE_TEMPLATE1 template <int N, typename T, precision P, typename V, int E0, int E1, int E2, int E3>
+
205 #define _GLM_SWIZZLE_TEMPLATE2 template <int N, typename T, precision P, typename V, int E0, int E1, int E2, int E3, int F0, int F1, int F2, int F3>
+
206 #define _GLM_SWIZZLE_TYPE1 _swizzle<N, T, P, V, E0, E1, E2, E3>
+
207 #define _GLM_SWIZZLE_TYPE2 _swizzle<N, T, P, V, F0, F1, F2, F3>
+
208 
+
209 //
+
210 // Wrapper for a binary operator (e.g. u.yy + v.zy)
+
211 //
+
212 #define _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
+
213  _GLM_SWIZZLE_TEMPLATE2 \
+
214  GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
+
215  { \
+
216  return a() OPERAND b(); \
+
217  } \
+
218  _GLM_SWIZZLE_TEMPLATE1 \
+
219  GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const V& b) \
+
220  { \
+
221  return a() OPERAND b; \
+
222  } \
+
223  _GLM_SWIZZLE_TEMPLATE1 \
+
224  GLM_FUNC_QUALIFIER V operator OPERAND ( const V& a, const _GLM_SWIZZLE_TYPE1& b) \
+
225  { \
+
226  return a OPERAND b(); \
+
227  }
+
228 
+
229 //
+
230 // Wrapper for a operand between a swizzle and a binary (e.g. 1.0f - u.xyz)
+
231 //
+
232 #define _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
+
233  _GLM_SWIZZLE_TEMPLATE1 \
+
234  GLM_FUNC_QUALIFIER V operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const T& b) \
+
235  { \
+
236  return a() OPERAND b; \
+
237  } \
+
238  _GLM_SWIZZLE_TEMPLATE1 \
+
239  GLM_FUNC_QUALIFIER V operator OPERAND ( const T& a, const _GLM_SWIZZLE_TYPE1& b) \
+
240  { \
+
241  return a OPERAND b(); \
+
242  }
+
243 
+
244 //
+
245 // Macro for wrapping a function taking one argument (e.g. abs())
+
246 //
+
247 #define _GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION) \
+
248  _GLM_SWIZZLE_TEMPLATE1 \
+
249  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a) \
+
250  { \
+
251  return FUNCTION(a()); \
+
252  }
+
253 
+
254 //
+
255 // Macro for wrapping a function taking two vector arguments (e.g. dot()).
+
256 //
+
257 #define _GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION) \
+
258  _GLM_SWIZZLE_TEMPLATE2 \
+
259  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \
+
260  { \
+
261  return FUNCTION(a(), b()); \
+
262  } \
+
263  _GLM_SWIZZLE_TEMPLATE1 \
+
264  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b) \
+
265  { \
+
266  return FUNCTION(a(), b()); \
+
267  } \
+
268  _GLM_SWIZZLE_TEMPLATE1 \
+
269  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename V& b) \
+
270  { \
+
271  return FUNCTION(a(), b); \
+
272  } \
+
273  _GLM_SWIZZLE_TEMPLATE1 \
+
274  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const _GLM_SWIZZLE_TYPE1& b) \
+
275  { \
+
276  return FUNCTION(a, b()); \
+
277  }
+
278 
+
279 //
+
280 // Macro for wrapping a function take 2 vec arguments followed by a scalar (e.g. mix()).
+
281 //
+
282 #define _GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION) \
+
283  _GLM_SWIZZLE_TEMPLATE2 \
+
284  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b, const T& c) \
+
285  { \
+
286  return FUNCTION(a(), b(), c); \
+
287  } \
+
288  _GLM_SWIZZLE_TEMPLATE1 \
+
289  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
+
290  { \
+
291  return FUNCTION(a(), b(), c); \
+
292  } \
+
293  _GLM_SWIZZLE_TEMPLATE1 \
+
294  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\
+
295  { \
+
296  return FUNCTION(a(), b, c); \
+
297  } \
+
298  _GLM_SWIZZLE_TEMPLATE1 \
+
299  GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \
+
300  { \
+
301  return FUNCTION(a, b(), c); \
+
302  }
+
303 
+
304 }//namespace detail
+
305 }//namespace glm
+
306 
+
307 namespace glm
+
308 {
+
309  namespace detail
+
310  {
+
311  _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(-)
+
312  _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(*)
+
313  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(+)
+
314  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(-)
+
315  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(*)
+
316  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(/)
+
317  }
+
318 
+
319  //
+
320  // Swizzles are distinct types from the unswizzled type. The below macros will
+
321  // provide template specializations for the swizzle types for the given functions
+
322  // so that the compiler does not have any ambiguity to choosing how to handle
+
323  // the function.
+
324  //
+
325  // The alternative is to use the operator()() when calling the function in order
+
326  // to explicitly convert the swizzled type to the unswizzled type.
+
327  //
+
328 
+
329  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, abs);
+
330  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acos);
+
331  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acosh);
+
332  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, all);
+
333  //_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, any);
+
334 
+
335  //_GLM_SWIZZLE_FUNCTION_2_ARGS(value_type, dot);
+
336  //_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, cross);
+
337  //_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, step);
+
338  //_GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(vec_type, mix);
+
339 }
+
340 
+
341 #define _GLM_SWIZZLE2_2_MEMBERS(T, P, V, E0,E1) \
+
342  struct { _swizzle<2, T, P, V<T, P>, 0,0,-1,-2> E0 ## E0; }; \
+
343  struct { _swizzle<2, T, P, V<T, P>, 0,1,-1,-2> E0 ## E1; }; \
+
344  struct { _swizzle<2, T, P, V<T, P>, 1,0,-1,-2> E1 ## E0; }; \
+
345  struct { _swizzle<2, T, P, V<T, P>, 1,1,-1,-2> E1 ## E1; };
+
346 
+
347 #define _GLM_SWIZZLE2_3_MEMBERS(T, P, V, E0,E1) \
+
348  struct { _swizzle<3,T, P, V<T, P>, 0,0,0,-1> E0 ## E0 ## E0; }; \
+
349  struct { _swizzle<3,T, P, V<T, P>, 0,0,1,-1> E0 ## E0 ## E1; }; \
+
350  struct { _swizzle<3,T, P, V<T, P>, 0,1,0,-1> E0 ## E1 ## E0; }; \
+
351  struct { _swizzle<3,T, P, V<T, P>, 0,1,1,-1> E0 ## E1 ## E1; }; \
+
352  struct { _swizzle<3,T, P, V<T, P>, 1,0,0,-1> E1 ## E0 ## E0; }; \
+
353  struct { _swizzle<3,T, P, V<T, P>, 1,0,1,-1> E1 ## E0 ## E1; }; \
+
354  struct { _swizzle<3,T, P, V<T, P>, 1,1,0,-1> E1 ## E1 ## E0; }; \
+
355  struct { _swizzle<3,T, P, V<T, P>, 1,1,1,-1> E1 ## E1 ## E1; };
+
356 
+
357 #define _GLM_SWIZZLE2_4_MEMBERS(T, P, V, E0,E1) \
+
358  struct { _swizzle<4,T, P, V<T, P>, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
+
359  struct { _swizzle<4,T, P, V<T, P>, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
+
360  struct { _swizzle<4,T, P, V<T, P>, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
+
361  struct { _swizzle<4,T, P, V<T, P>, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
+
362  struct { _swizzle<4,T, P, V<T, P>, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
+
363  struct { _swizzle<4,T, P, V<T, P>, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
+
364  struct { _swizzle<4,T, P, V<T, P>, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
+
365  struct { _swizzle<4,T, P, V<T, P>, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
+
366  struct { _swizzle<4,T, P, V<T, P>, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
+
367  struct { _swizzle<4,T, P, V<T, P>, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
+
368  struct { _swizzle<4,T, P, V<T, P>, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
+
369  struct { _swizzle<4,T, P, V<T, P>, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
+
370  struct { _swizzle<4,T, P, V<T, P>, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
+
371  struct { _swizzle<4,T, P, V<T, P>, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
+
372  struct { _swizzle<4,T, P, V<T, P>, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
+
373  struct { _swizzle<4,T, P, V<T, P>, 1,1,1,1> E1 ## E1 ## E1 ## E1; };
+
374 
+
375 #define _GLM_SWIZZLE3_2_MEMBERS(T, P, V, E0,E1,E2) \
+
376  struct { _swizzle<2,T, P, V<T, P>, 0,0,-1,-2> E0 ## E0; }; \
+
377  struct { _swizzle<2,T, P, V<T, P>, 0,1,-1,-2> E0 ## E1; }; \
+
378  struct { _swizzle<2,T, P, V<T, P>, 0,2,-1,-2> E0 ## E2; }; \
+
379  struct { _swizzle<2,T, P, V<T, P>, 1,0,-1,-2> E1 ## E0; }; \
+
380  struct { _swizzle<2,T, P, V<T, P>, 1,1,-1,-2> E1 ## E1; }; \
+
381  struct { _swizzle<2,T, P, V<T, P>, 1,2,-1,-2> E1 ## E2; }; \
+
382  struct { _swizzle<2,T, P, V<T, P>, 2,0,-1,-2> E2 ## E0; }; \
+
383  struct { _swizzle<2,T, P, V<T, P>, 2,1,-1,-2> E2 ## E1; }; \
+
384  struct { _swizzle<2,T, P, V<T, P>, 2,2,-1,-2> E2 ## E2; };
+
385 
+
386 #define _GLM_SWIZZLE3_3_MEMBERS(T, P, V ,E0,E1,E2) \
+
387  struct { _swizzle<3,T,P, V<T, P>, 0,0,0,-1> E0 ## E0 ## E0; }; \
+
388  struct { _swizzle<3,T,P, V<T, P>, 0,0,1,-1> E0 ## E0 ## E1; }; \
+
389  struct { _swizzle<3,T,P, V<T, P>, 0,0,2,-1> E0 ## E0 ## E2; }; \
+
390  struct { _swizzle<3,T,P, V<T, P>, 0,1,0,-1> E0 ## E1 ## E0; }; \
+
391  struct { _swizzle<3,T,P, V<T, P>, 0,1,1,-1> E0 ## E1 ## E1; }; \
+
392  struct { _swizzle<3,T,P, V<T, P>, 0,1,2,-1> E0 ## E1 ## E2; }; \
+
393  struct { _swizzle<3,T,P, V<T, P>, 0,2,0,-1> E0 ## E2 ## E0; }; \
+
394  struct { _swizzle<3,T,P, V<T, P>, 0,2,1,-1> E0 ## E2 ## E1; }; \
+
395  struct { _swizzle<3,T,P, V<T, P>, 0,2,2,-1> E0 ## E2 ## E2; }; \
+
396  struct { _swizzle<3,T,P, V<T, P>, 1,0,0,-1> E1 ## E0 ## E0; }; \
+
397  struct { _swizzle<3,T,P, V<T, P>, 1,0,1,-1> E1 ## E0 ## E1; }; \
+
398  struct { _swizzle<3,T,P, V<T, P>, 1,0,2,-1> E1 ## E0 ## E2; }; \
+
399  struct { _swizzle<3,T,P, V<T, P>, 1,1,0,-1> E1 ## E1 ## E0; }; \
+
400  struct { _swizzle<3,T,P, V<T, P>, 1,1,1,-1> E1 ## E1 ## E1; }; \
+
401  struct { _swizzle<3,T,P, V<T, P>, 1,1,2,-1> E1 ## E1 ## E2; }; \
+
402  struct { _swizzle<3,T,P, V<T, P>, 1,2,0,-1> E1 ## E2 ## E0; }; \
+
403  struct { _swizzle<3,T,P, V<T, P>, 1,2,1,-1> E1 ## E2 ## E1; }; \
+
404  struct { _swizzle<3,T,P, V<T, P>, 1,2,2,-1> E1 ## E2 ## E2; }; \
+
405  struct { _swizzle<3,T,P, V<T, P>, 2,0,0,-1> E2 ## E0 ## E0; }; \
+
406  struct { _swizzle<3,T,P, V<T, P>, 2,0,1,-1> E2 ## E0 ## E1; }; \
+
407  struct { _swizzle<3,T,P, V<T, P>, 2,0,2,-1> E2 ## E0 ## E2; }; \
+
408  struct { _swizzle<3,T,P, V<T, P>, 2,1,0,-1> E2 ## E1 ## E0; }; \
+
409  struct { _swizzle<3,T,P, V<T, P>, 2,1,1,-1> E2 ## E1 ## E1; }; \
+
410  struct { _swizzle<3,T,P, V<T, P>, 2,1,2,-1> E2 ## E1 ## E2; }; \
+
411  struct { _swizzle<3,T,P, V<T, P>, 2,2,0,-1> E2 ## E2 ## E0; }; \
+
412  struct { _swizzle<3,T,P, V<T, P>, 2,2,1,-1> E2 ## E2 ## E1; }; \
+
413  struct { _swizzle<3,T,P, V<T, P>, 2,2,2,-1> E2 ## E2 ## E2; };
+
414 
+
415 #define _GLM_SWIZZLE3_4_MEMBERS(T, P, V, E0,E1,E2) \
+
416  struct { _swizzle<4,T, P, V<T, P>, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
+
417  struct { _swizzle<4,T, P, V<T, P>, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
+
418  struct { _swizzle<4,T, P, V<T, P>, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \
+
419  struct { _swizzle<4,T, P, V<T, P>, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
+
420  struct { _swizzle<4,T, P, V<T, P>, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
+
421  struct { _swizzle<4,T, P, V<T, P>, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \
+
422  struct { _swizzle<4,T, P, V<T, P>, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \
+
423  struct { _swizzle<4,T, P, V<T, P>, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \
+
424  struct { _swizzle<4,T, P, V<T, P>, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \
+
425  struct { _swizzle<4,T, P, V<T, P>, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
+
426  struct { _swizzle<4,T, P, V<T, P>, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
+
427  struct { _swizzle<4,T, P, V<T, P>, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \
+
428  struct { _swizzle<4,T, P, V<T, P>, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
+
429  struct { _swizzle<4,T, P, V<T, P>, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
+
430  struct { _swizzle<4,T, P, V<T, P>, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \
+
431  struct { _swizzle<4,T, P, V<T, P>, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \
+
432  struct { _swizzle<4,T, P, V<T, P>, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \
+
433  struct { _swizzle<4,T, P, V<T, P>, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \
+
434  struct { _swizzle<4,T, P, V<T, P>, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \
+
435  struct { _swizzle<4,T, P, V<T, P>, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \
+
436  struct { _swizzle<4,T, P, V<T, P>, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \
+
437  struct { _swizzle<4,T, P, V<T, P>, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \
+
438  struct { _swizzle<4,T, P, V<T, P>, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \
+
439  struct { _swizzle<4,T, P, V<T, P>, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \
+
440  struct { _swizzle<4,T, P, V<T, P>, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \
+
441  struct { _swizzle<4,T, P, V<T, P>, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \
+
442  struct { _swizzle<4,T, P, V<T, P>, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \
+
443  struct { _swizzle<4,T, P, V<T, P>, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
+
444  struct { _swizzle<4,T, P, V<T, P>, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
+
445  struct { _swizzle<4,T, P, V<T, P>, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
+
446  struct { _swizzle<4,T, P, V<T, P>, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
+
447  struct { _swizzle<4,T, P, V<T, P>, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
+
448  struct { _swizzle<4,T, P, V<T, P>, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \
+
449  struct { _swizzle<4,T, P, V<T, P>, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \
+
450  struct { _swizzle<4,T, P, V<T, P>, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \
+
451  struct { _swizzle<4,T, P, V<T, P>, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \
+
452  struct { _swizzle<4,T, P, V<T, P>, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
+
453  struct { _swizzle<4,T, P, V<T, P>, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
+
454  struct { _swizzle<4,T, P, V<T, P>, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \
+
455  struct { _swizzle<4,T, P, V<T, P>, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
+
456  struct { _swizzle<4,T, P, V<T, P>, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \
+
457  struct { _swizzle<4,T, P, V<T, P>, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \
+
458  struct { _swizzle<4,T, P, V<T, P>, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \
+
459  struct { _swizzle<4,T, P, V<T, P>, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \
+
460  struct { _swizzle<4,T, P, V<T, P>, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \
+
461  struct { _swizzle<4,T, P, V<T, P>, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \
+
462  struct { _swizzle<4,T, P, V<T, P>, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \
+
463  struct { _swizzle<4,T, P, V<T, P>, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \
+
464  struct { _swizzle<4,T, P, V<T, P>, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \
+
465  struct { _swizzle<4,T, P, V<T, P>, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \
+
466  struct { _swizzle<4,T, P, V<T, P>, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \
+
467  struct { _swizzle<4,T, P, V<T, P>, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \
+
468  struct { _swizzle<4,T, P, V<T, P>, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \
+
469  struct { _swizzle<4,T, P, V<T, P>, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \
+
470  struct { _swizzle<4,T, P, V<T, P>, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \
+
471  struct { _swizzle<4,T, P, V<T, P>, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \
+
472  struct { _swizzle<4,T, P, V<T, P>, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \
+
473  struct { _swizzle<4,T, P, V<T, P>, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \
+
474  struct { _swizzle<4,T, P, V<T, P>, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \
+
475  struct { _swizzle<4,T, P, V<T, P>, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \
+
476  struct { _swizzle<4,T, P, V<T, P>, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \
+
477  struct { _swizzle<4,T, P, V<T, P>, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \
+
478  struct { _swizzle<4,T, P, V<T, P>, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \
+
479  struct { _swizzle<4,T, P, V<T, P>, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \
+
480  struct { _swizzle<4,T, P, V<T, P>, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \
+
481  struct { _swizzle<4,T, P, V<T, P>, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \
+
482  struct { _swizzle<4,T, P, V<T, P>, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \
+
483  struct { _swizzle<4,T, P, V<T, P>, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \
+
484  struct { _swizzle<4,T, P, V<T, P>, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \
+
485  struct { _swizzle<4,T, P, V<T, P>, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \
+
486  struct { _swizzle<4,T, P, V<T, P>, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \
+
487  struct { _swizzle<4,T, P, V<T, P>, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \
+
488  struct { _swizzle<4,T, P, V<T, P>, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \
+
489  struct { _swizzle<4,T, P, V<T, P>, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \
+
490  struct { _swizzle<4,T, P, V<T, P>, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \
+
491  struct { _swizzle<4,T, P, V<T, P>, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \
+
492  struct { _swizzle<4,T, P, V<T, P>, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \
+
493  struct { _swizzle<4,T, P, V<T, P>, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
+
494  struct { _swizzle<4,T, P, V<T, P>, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
+
495  struct { _swizzle<4,T, P, V<T, P>, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
+
496  struct { _swizzle<4,T, P, V<T, P>, 2,2,2,2> E2 ## E2 ## E2 ## E2; };
+
497 
+
498 #define _GLM_SWIZZLE4_2_MEMBERS(T, P, V, E0,E1,E2,E3) \
+
499  struct { _swizzle<2,T, P, V<T, P>, 0,0,-1,-2> E0 ## E0; }; \
+
500  struct { _swizzle<2,T, P, V<T, P>, 0,1,-1,-2> E0 ## E1; }; \
+
501  struct { _swizzle<2,T, P, V<T, P>, 0,2,-1,-2> E0 ## E2; }; \
+
502  struct { _swizzle<2,T, P, V<T, P>, 0,3,-1,-2> E0 ## E3; }; \
+
503  struct { _swizzle<2,T, P, V<T, P>, 1,0,-1,-2> E1 ## E0; }; \
+
504  struct { _swizzle<2,T, P, V<T, P>, 1,1,-1,-2> E1 ## E1; }; \
+
505  struct { _swizzle<2,T, P, V<T, P>, 1,2,-1,-2> E1 ## E2; }; \
+
506  struct { _swizzle<2,T, P, V<T, P>, 1,3,-1,-2> E1 ## E3; }; \
+
507  struct { _swizzle<2,T, P, V<T, P>, 2,0,-1,-2> E2 ## E0; }; \
+
508  struct { _swizzle<2,T, P, V<T, P>, 2,1,-1,-2> E2 ## E1; }; \
+
509  struct { _swizzle<2,T, P, V<T, P>, 2,2,-1,-2> E2 ## E2; }; \
+
510  struct { _swizzle<2,T, P, V<T, P>, 2,3,-1,-2> E2 ## E3; }; \
+
511  struct { _swizzle<2,T, P, V<T, P>, 3,0,-1,-2> E3 ## E0; }; \
+
512  struct { _swizzle<2,T, P, V<T, P>, 3,1,-1,-2> E3 ## E1; }; \
+
513  struct { _swizzle<2,T, P, V<T, P>, 3,2,-1,-2> E3 ## E2; }; \
+
514  struct { _swizzle<2,T, P, V<T, P>, 3,3,-1,-2> E3 ## E3; };
+
515 
+
516 #define _GLM_SWIZZLE4_3_MEMBERS(T,P, V, E0,E1,E2,E3) \
+
517  struct { _swizzle<3,T,P, V<T, P>, 0,0,0,-1> E0 ## E0 ## E0; }; \
+
518  struct { _swizzle<3,T,P, V<T, P>, 0,0,1,-1> E0 ## E0 ## E1; }; \
+
519  struct { _swizzle<3,T,P, V<T, P>, 0,0,2,-1> E0 ## E0 ## E2; }; \
+
520  struct { _swizzle<3,T,P, V<T, P>, 0,0,3,-1> E0 ## E0 ## E3; }; \
+
521  struct { _swizzle<3,T,P, V<T, P>, 0,1,0,-1> E0 ## E1 ## E0; }; \
+
522  struct { _swizzle<3,T,P, V<T, P>, 0,1,1,-1> E0 ## E1 ## E1; }; \
+
523  struct { _swizzle<3,T,P, V<T, P>, 0,1,2,-1> E0 ## E1 ## E2; }; \
+
524  struct { _swizzle<3,T,P, V<T, P>, 0,1,3,-1> E0 ## E1 ## E3; }; \
+
525  struct { _swizzle<3,T,P, V<T, P>, 0,2,0,-1> E0 ## E2 ## E0; }; \
+
526  struct { _swizzle<3,T,P, V<T, P>, 0,2,1,-1> E0 ## E2 ## E1; }; \
+
527  struct { _swizzle<3,T,P, V<T, P>, 0,2,2,-1> E0 ## E2 ## E2; }; \
+
528  struct { _swizzle<3,T,P, V<T, P>, 0,2,3,-1> E0 ## E2 ## E3; }; \
+
529  struct { _swizzle<3,T,P, V<T, P>, 0,3,0,-1> E0 ## E3 ## E0; }; \
+
530  struct { _swizzle<3,T,P, V<T, P>, 0,3,1,-1> E0 ## E3 ## E1; }; \
+
531  struct { _swizzle<3,T,P, V<T, P>, 0,3,2,-1> E0 ## E3 ## E2; }; \
+
532  struct { _swizzle<3,T,P, V<T, P>, 0,3,3,-1> E0 ## E3 ## E3; }; \
+
533  struct { _swizzle<3,T,P, V<T, P>, 1,0,0,-1> E1 ## E0 ## E0; }; \
+
534  struct { _swizzle<3,T,P, V<T, P>, 1,0,1,-1> E1 ## E0 ## E1; }; \
+
535  struct { _swizzle<3,T,P, V<T, P>, 1,0,2,-1> E1 ## E0 ## E2; }; \
+
536  struct { _swizzle<3,T,P, V<T, P>, 1,0,3,-1> E1 ## E0 ## E3; }; \
+
537  struct { _swizzle<3,T,P, V<T, P>, 1,1,0,-1> E1 ## E1 ## E0; }; \
+
538  struct { _swizzle<3,T,P, V<T, P>, 1,1,1,-1> E1 ## E1 ## E1; }; \
+
539  struct { _swizzle<3,T,P, V<T, P>, 1,1,2,-1> E1 ## E1 ## E2; }; \
+
540  struct { _swizzle<3,T,P, V<T, P>, 1,1,3,-1> E1 ## E1 ## E3; }; \
+
541  struct { _swizzle<3,T,P, V<T, P>, 1,2,0,-1> E1 ## E2 ## E0; }; \
+
542  struct { _swizzle<3,T,P, V<T, P>, 1,2,1,-1> E1 ## E2 ## E1; }; \
+
543  struct { _swizzle<3,T,P, V<T, P>, 1,2,2,-1> E1 ## E2 ## E2; }; \
+
544  struct { _swizzle<3,T,P, V<T, P>, 1,2,3,-1> E1 ## E2 ## E3; }; \
+
545  struct { _swizzle<3,T,P, V<T, P>, 1,3,0,-1> E1 ## E3 ## E0; }; \
+
546  struct { _swizzle<3,T,P, V<T, P>, 1,3,1,-1> E1 ## E3 ## E1; }; \
+
547  struct { _swizzle<3,T,P, V<T, P>, 1,3,2,-1> E1 ## E3 ## E2; }; \
+
548  struct { _swizzle<3,T,P, V<T, P>, 1,3,3,-1> E1 ## E3 ## E3; }; \
+
549  struct { _swizzle<3,T,P, V<T, P>, 2,0,0,-1> E2 ## E0 ## E0; }; \
+
550  struct { _swizzle<3,T,P, V<T, P>, 2,0,1,-1> E2 ## E0 ## E1; }; \
+
551  struct { _swizzle<3,T,P, V<T, P>, 2,0,2,-1> E2 ## E0 ## E2; }; \
+
552  struct { _swizzle<3,T,P, V<T, P>, 2,0,3,-1> E2 ## E0 ## E3; }; \
+
553  struct { _swizzle<3,T,P, V<T, P>, 2,1,0,-1> E2 ## E1 ## E0; }; \
+
554  struct { _swizzle<3,T,P, V<T, P>, 2,1,1,-1> E2 ## E1 ## E1; }; \
+
555  struct { _swizzle<3,T,P, V<T, P>, 2,1,2,-1> E2 ## E1 ## E2; }; \
+
556  struct { _swizzle<3,T,P, V<T, P>, 2,1,3,-1> E2 ## E1 ## E3; }; \
+
557  struct { _swizzle<3,T,P, V<T, P>, 2,2,0,-1> E2 ## E2 ## E0; }; \
+
558  struct { _swizzle<3,T,P, V<T, P>, 2,2,1,-1> E2 ## E2 ## E1; }; \
+
559  struct { _swizzle<3,T,P, V<T, P>, 2,2,2,-1> E2 ## E2 ## E2; }; \
+
560  struct { _swizzle<3,T,P, V<T, P>, 2,2,3,-1> E2 ## E2 ## E3; }; \
+
561  struct { _swizzle<3,T,P, V<T, P>, 2,3,0,-1> E2 ## E3 ## E0; }; \
+
562  struct { _swizzle<3,T,P, V<T, P>, 2,3,1,-1> E2 ## E3 ## E1; }; \
+
563  struct { _swizzle<3,T,P, V<T, P>, 2,3,2,-1> E2 ## E3 ## E2; }; \
+
564  struct { _swizzle<3,T,P, V<T, P>, 2,3,3,-1> E2 ## E3 ## E3; }; \
+
565  struct { _swizzle<3,T,P, V<T, P>, 3,0,0,-1> E3 ## E0 ## E0; }; \
+
566  struct { _swizzle<3,T,P, V<T, P>, 3,0,1,-1> E3 ## E0 ## E1; }; \
+
567  struct { _swizzle<3,T,P, V<T, P>, 3,0,2,-1> E3 ## E0 ## E2; }; \
+
568  struct { _swizzle<3,T,P, V<T, P>, 3,0,3,-1> E3 ## E0 ## E3; }; \
+
569  struct { _swizzle<3,T,P, V<T, P>, 3,1,0,-1> E3 ## E1 ## E0; }; \
+
570  struct { _swizzle<3,T,P, V<T, P>, 3,1,1,-1> E3 ## E1 ## E1; }; \
+
571  struct { _swizzle<3,T,P, V<T, P>, 3,1,2,-1> E3 ## E1 ## E2; }; \
+
572  struct { _swizzle<3,T,P, V<T, P>, 3,1,3,-1> E3 ## E1 ## E3; }; \
+
573  struct { _swizzle<3,T,P, V<T, P>, 3,2,0,-1> E3 ## E2 ## E0; }; \
+
574  struct { _swizzle<3,T,P, V<T, P>, 3,2,1,-1> E3 ## E2 ## E1; }; \
+
575  struct { _swizzle<3,T,P, V<T, P>, 3,2,2,-1> E3 ## E2 ## E2; }; \
+
576  struct { _swizzle<3,T,P, V<T, P>, 3,2,3,-1> E3 ## E2 ## E3; }; \
+
577  struct { _swizzle<3,T,P, V<T, P>, 3,3,0,-1> E3 ## E3 ## E0; }; \
+
578  struct { _swizzle<3,T,P, V<T, P>, 3,3,1,-1> E3 ## E3 ## E1; }; \
+
579  struct { _swizzle<3,T,P, V<T, P>, 3,3,2,-1> E3 ## E3 ## E2; }; \
+
580  struct { _swizzle<3,T,P, V<T, P>, 3,3,3,-1> E3 ## E3 ## E3; };
+
581 
+
582 #define _GLM_SWIZZLE4_4_MEMBERS(T, P, V, E0,E1,E2,E3) \
+
583  struct { _swizzle<4, T, P, V<T, P>, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
+
584  struct { _swizzle<4, T, P, V<T, P>, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
+
585  struct { _swizzle<4, T, P, V<T, P>, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \
+
586  struct { _swizzle<4, T, P, V<T, P>, 0,0,0,3> E0 ## E0 ## E0 ## E3; }; \
+
587  struct { _swizzle<4, T, P, V<T, P>, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
+
588  struct { _swizzle<4, T, P, V<T, P>, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
+
589  struct { _swizzle<4, T, P, V<T, P>, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \
+
590  struct { _swizzle<4, T, P, V<T, P>, 0,0,1,3> E0 ## E0 ## E1 ## E3; }; \
+
591  struct { _swizzle<4, T, P, V<T, P>, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \
+
592  struct { _swizzle<4, T, P, V<T, P>, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \
+
593  struct { _swizzle<4, T, P, V<T, P>, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \
+
594  struct { _swizzle<4, T, P, V<T, P>, 0,0,2,3> E0 ## E0 ## E2 ## E3; }; \
+
595  struct { _swizzle<4, T, P, V<T, P>, 0,0,3,0> E0 ## E0 ## E3 ## E0; }; \
+
596  struct { _swizzle<4, T, P, V<T, P>, 0,0,3,1> E0 ## E0 ## E3 ## E1; }; \
+
597  struct { _swizzle<4, T, P, V<T, P>, 0,0,3,2> E0 ## E0 ## E3 ## E2; }; \
+
598  struct { _swizzle<4, T, P, V<T, P>, 0,0,3,3> E0 ## E0 ## E3 ## E3; }; \
+
599  struct { _swizzle<4, T, P, V<T, P>, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
+
600  struct { _swizzle<4, T, P, V<T, P>, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
+
601  struct { _swizzle<4, T, P, V<T, P>, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \
+
602  struct { _swizzle<4, T, P, V<T, P>, 0,1,0,3> E0 ## E1 ## E0 ## E3; }; \
+
603  struct { _swizzle<4, T, P, V<T, P>, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
+
604  struct { _swizzle<4, T, P, V<T, P>, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
+
605  struct { _swizzle<4, T, P, V<T, P>, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \
+
606  struct { _swizzle<4, T, P, V<T, P>, 0,1,1,3> E0 ## E1 ## E1 ## E3; }; \
+
607  struct { _swizzle<4, T, P, V<T, P>, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \
+
608  struct { _swizzle<4, T, P, V<T, P>, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \
+
609  struct { _swizzle<4, T, P, V<T, P>, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \
+
610  struct { _swizzle<4, T, P, V<T, P>, 0,1,2,3> E0 ## E1 ## E2 ## E3; }; \
+
611  struct { _swizzle<4, T, P, V<T, P>, 0,1,3,0> E0 ## E1 ## E3 ## E0; }; \
+
612  struct { _swizzle<4, T, P, V<T, P>, 0,1,3,1> E0 ## E1 ## E3 ## E1; }; \
+
613  struct { _swizzle<4, T, P, V<T, P>, 0,1,3,2> E0 ## E1 ## E3 ## E2; }; \
+
614  struct { _swizzle<4, T, P, V<T, P>, 0,1,3,3> E0 ## E1 ## E3 ## E3; }; \
+
615  struct { _swizzle<4, T, P, V<T, P>, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \
+
616  struct { _swizzle<4, T, P, V<T, P>, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \
+
617  struct { _swizzle<4, T, P, V<T, P>, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \
+
618  struct { _swizzle<4, T, P, V<T, P>, 0,2,0,3> E0 ## E2 ## E0 ## E3; }; \
+
619  struct { _swizzle<4, T, P, V<T, P>, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \
+
620  struct { _swizzle<4, T, P, V<T, P>, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \
+
621  struct { _swizzle<4, T, P, V<T, P>, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \
+
622  struct { _swizzle<4, T, P, V<T, P>, 0,2,1,3> E0 ## E2 ## E1 ## E3; }; \
+
623  struct { _swizzle<4, T, P, V<T, P>, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \
+
624  struct { _swizzle<4, T, P, V<T, P>, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \
+
625  struct { _swizzle<4, T, P, V<T, P>, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \
+
626  struct { _swizzle<4, T, P, V<T, P>, 0,2,2,3> E0 ## E2 ## E2 ## E3; }; \
+
627  struct { _swizzle<4, T, P, V<T, P>, 0,2,3,0> E0 ## E2 ## E3 ## E0; }; \
+
628  struct { _swizzle<4, T, P, V<T, P>, 0,2,3,1> E0 ## E2 ## E3 ## E1; }; \
+
629  struct { _swizzle<4, T, P, V<T, P>, 0,2,3,2> E0 ## E2 ## E3 ## E2; }; \
+
630  struct { _swizzle<4, T, P, V<T, P>, 0,2,3,3> E0 ## E2 ## E3 ## E3; }; \
+
631  struct { _swizzle<4, T, P, V<T, P>, 0,3,0,0> E0 ## E3 ## E0 ## E0; }; \
+
632  struct { _swizzle<4, T, P, V<T, P>, 0,3,0,1> E0 ## E3 ## E0 ## E1; }; \
+
633  struct { _swizzle<4, T, P, V<T, P>, 0,3,0,2> E0 ## E3 ## E0 ## E2; }; \
+
634  struct { _swizzle<4, T, P, V<T, P>, 0,3,0,3> E0 ## E3 ## E0 ## E3; }; \
+
635  struct { _swizzle<4, T, P, V<T, P>, 0,3,1,0> E0 ## E3 ## E1 ## E0; }; \
+
636  struct { _swizzle<4, T, P, V<T, P>, 0,3,1,1> E0 ## E3 ## E1 ## E1; }; \
+
637  struct { _swizzle<4, T, P, V<T, P>, 0,3,1,2> E0 ## E3 ## E1 ## E2; }; \
+
638  struct { _swizzle<4, T, P, V<T, P>, 0,3,1,3> E0 ## E3 ## E1 ## E3; }; \
+
639  struct { _swizzle<4, T, P, V<T, P>, 0,3,2,0> E0 ## E3 ## E2 ## E0; }; \
+
640  struct { _swizzle<4, T, P, V<T, P>, 0,3,2,1> E0 ## E3 ## E2 ## E1; }; \
+
641  struct { _swizzle<4, T, P, V<T, P>, 0,3,2,2> E0 ## E3 ## E2 ## E2; }; \
+
642  struct { _swizzle<4, T, P, V<T, P>, 0,3,2,3> E0 ## E3 ## E2 ## E3; }; \
+
643  struct { _swizzle<4, T, P, V<T, P>, 0,3,3,0> E0 ## E3 ## E3 ## E0; }; \
+
644  struct { _swizzle<4, T, P, V<T, P>, 0,3,3,1> E0 ## E3 ## E3 ## E1; }; \
+
645  struct { _swizzle<4, T, P, V<T, P>, 0,3,3,2> E0 ## E3 ## E3 ## E2; }; \
+
646  struct { _swizzle<4, T, P, V<T, P>, 0,3,3,3> E0 ## E3 ## E3 ## E3; }; \
+
647  struct { _swizzle<4, T, P, V<T, P>, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
+
648  struct { _swizzle<4, T, P, V<T, P>, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
+
649  struct { _swizzle<4, T, P, V<T, P>, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
+
650  struct { _swizzle<4, T, P, V<T, P>, 1,0,0,3> E1 ## E0 ## E0 ## E3; }; \
+
651  struct { _swizzle<4, T, P, V<T, P>, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
+
652  struct { _swizzle<4, T, P, V<T, P>, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
+
653  struct { _swizzle<4, T, P, V<T, P>, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \
+
654  struct { _swizzle<4, T, P, V<T, P>, 1,0,1,3> E1 ## E0 ## E1 ## E3; }; \
+
655  struct { _swizzle<4, T, P, V<T, P>, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \
+
656  struct { _swizzle<4, T, P, V<T, P>, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \
+
657  struct { _swizzle<4, T, P, V<T, P>, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \
+
658  struct { _swizzle<4, T, P, V<T, P>, 1,0,2,3> E1 ## E0 ## E2 ## E3; }; \
+
659  struct { _swizzle<4, T, P, V<T, P>, 1,0,3,0> E1 ## E0 ## E3 ## E0; }; \
+
660  struct { _swizzle<4, T, P, V<T, P>, 1,0,3,1> E1 ## E0 ## E3 ## E1; }; \
+
661  struct { _swizzle<4, T, P, V<T, P>, 1,0,3,2> E1 ## E0 ## E3 ## E2; }; \
+
662  struct { _swizzle<4, T, P, V<T, P>, 1,0,3,3> E1 ## E0 ## E3 ## E3; }; \
+
663  struct { _swizzle<4, T, P, V<T, P>, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
+
664  struct { _swizzle<4, T, P, V<T, P>, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
+
665  struct { _swizzle<4, T, P, V<T, P>, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \
+
666  struct { _swizzle<4, T, P, V<T, P>, 1,1,0,3> E1 ## E1 ## E0 ## E3; }; \
+
667  struct { _swizzle<4, T, P, V<T, P>, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
+
668  struct { _swizzle<4, T, P, V<T, P>, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \
+
669  struct { _swizzle<4, T, P, V<T, P>, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \
+
670  struct { _swizzle<4, T, P, V<T, P>, 1,1,1,3> E1 ## E1 ## E1 ## E3; }; \
+
671  struct { _swizzle<4, T, P, V<T, P>, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \
+
672  struct { _swizzle<4, T, P, V<T, P>, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \
+
673  struct { _swizzle<4, T, P, V<T, P>, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \
+
674  struct { _swizzle<4, T, P, V<T, P>, 1,1,2,3> E1 ## E1 ## E2 ## E3; }; \
+
675  struct { _swizzle<4, T, P, V<T, P>, 1,1,3,0> E1 ## E1 ## E3 ## E0; }; \
+
676  struct { _swizzle<4, T, P, V<T, P>, 1,1,3,1> E1 ## E1 ## E3 ## E1; }; \
+
677  struct { _swizzle<4, T, P, V<T, P>, 1,1,3,2> E1 ## E1 ## E3 ## E2; }; \
+
678  struct { _swizzle<4, T, P, V<T, P>, 1,1,3,3> E1 ## E1 ## E3 ## E3; }; \
+
679  struct { _swizzle<4, T, P, V<T, P>, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \
+
680  struct { _swizzle<4, T, P, V<T, P>, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \
+
681  struct { _swizzle<4, T, P, V<T, P>, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \
+
682  struct { _swizzle<4, T, P, V<T, P>, 1,2,0,3> E1 ## E2 ## E0 ## E3; }; \
+
683  struct { _swizzle<4, T, P, V<T, P>, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \
+
684  struct { _swizzle<4, T, P, V<T, P>, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \
+
685  struct { _swizzle<4, T, P, V<T, P>, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \
+
686  struct { _swizzle<4, T, P, V<T, P>, 1,2,1,3> E1 ## E2 ## E1 ## E3; }; \
+
687  struct { _swizzle<4, T, P, V<T, P>, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \
+
688  struct { _swizzle<4, T, P, V<T, P>, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \
+
689  struct { _swizzle<4, T, P, V<T, P>, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \
+
690  struct { _swizzle<4, T, P, V<T, P>, 1,2,2,3> E1 ## E2 ## E2 ## E3; }; \
+
691  struct { _swizzle<4, T, P, V<T, P>, 1,2,3,0> E1 ## E2 ## E3 ## E0; }; \
+
692  struct { _swizzle<4, T, P, V<T, P>, 1,2,3,1> E1 ## E2 ## E3 ## E1; }; \
+
693  struct { _swizzle<4, T, P, V<T, P>, 1,2,3,2> E1 ## E2 ## E3 ## E2; }; \
+
694  struct { _swizzle<4, T, P, V<T, P>, 1,2,3,3> E1 ## E2 ## E3 ## E3; }; \
+
695  struct { _swizzle<4, T, P, V<T, P>, 1,3,0,0> E1 ## E3 ## E0 ## E0; }; \
+
696  struct { _swizzle<4, T, P, V<T, P>, 1,3,0,1> E1 ## E3 ## E0 ## E1; }; \
+
697  struct { _swizzle<4, T, P, V<T, P>, 1,3,0,2> E1 ## E3 ## E0 ## E2; }; \
+
698  struct { _swizzle<4, T, P, V<T, P>, 1,3,0,3> E1 ## E3 ## E0 ## E3; }; \
+
699  struct { _swizzle<4, T, P, V<T, P>, 1,3,1,0> E1 ## E3 ## E1 ## E0; }; \
+
700  struct { _swizzle<4, T, P, V<T, P>, 1,3,1,1> E1 ## E3 ## E1 ## E1; }; \
+
701  struct { _swizzle<4, T, P, V<T, P>, 1,3,1,2> E1 ## E3 ## E1 ## E2; }; \
+
702  struct { _swizzle<4, T, P, V<T, P>, 1,3,1,3> E1 ## E3 ## E1 ## E3; }; \
+
703  struct { _swizzle<4, T, P, V<T, P>, 1,3,2,0> E1 ## E3 ## E2 ## E0; }; \
+
704  struct { _swizzle<4, T, P, V<T, P>, 1,3,2,1> E1 ## E3 ## E2 ## E1; }; \
+
705  struct { _swizzle<4, T, P, V<T, P>, 1,3,2,2> E1 ## E3 ## E2 ## E2; }; \
+
706  struct { _swizzle<4, T, P, V<T, P>, 1,3,2,3> E1 ## E3 ## E2 ## E3; }; \
+
707  struct { _swizzle<4, T, P, V<T, P>, 1,3,3,0> E1 ## E3 ## E3 ## E0; }; \
+
708  struct { _swizzle<4, T, P, V<T, P>, 1,3,3,1> E1 ## E3 ## E3 ## E1; }; \
+
709  struct { _swizzle<4, T, P, V<T, P>, 1,3,3,2> E1 ## E3 ## E3 ## E2; }; \
+
710  struct { _swizzle<4, T, P, V<T, P>, 1,3,3,3> E1 ## E3 ## E3 ## E3; }; \
+
711  struct { _swizzle<4, T, P, V<T, P>, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \
+
712  struct { _swizzle<4, T, P, V<T, P>, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \
+
713  struct { _swizzle<4, T, P, V<T, P>, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \
+
714  struct { _swizzle<4, T, P, V<T, P>, 2,0,0,3> E2 ## E0 ## E0 ## E3; }; \
+
715  struct { _swizzle<4, T, P, V<T, P>, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \
+
716  struct { _swizzle<4, T, P, V<T, P>, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \
+
717  struct { _swizzle<4, T, P, V<T, P>, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \
+
718  struct { _swizzle<4, T, P, V<T, P>, 2,0,1,3> E2 ## E0 ## E1 ## E3; }; \
+
719  struct { _swizzle<4, T, P, V<T, P>, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \
+
720  struct { _swizzle<4, T, P, V<T, P>, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \
+
721  struct { _swizzle<4, T, P, V<T, P>, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \
+
722  struct { _swizzle<4, T, P, V<T, P>, 2,0,2,3> E2 ## E0 ## E2 ## E3; }; \
+
723  struct { _swizzle<4, T, P, V<T, P>, 2,0,3,0> E2 ## E0 ## E3 ## E0; }; \
+
724  struct { _swizzle<4, T, P, V<T, P>, 2,0,3,1> E2 ## E0 ## E3 ## E1; }; \
+
725  struct { _swizzle<4, T, P, V<T, P>, 2,0,3,2> E2 ## E0 ## E3 ## E2; }; \
+
726  struct { _swizzle<4, T, P, V<T, P>, 2,0,3,3> E2 ## E0 ## E3 ## E3; }; \
+
727  struct { _swizzle<4, T, P, V<T, P>, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \
+
728  struct { _swizzle<4, T, P, V<T, P>, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \
+
729  struct { _swizzle<4, T, P, V<T, P>, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \
+
730  struct { _swizzle<4, T, P, V<T, P>, 2,1,0,3> E2 ## E1 ## E0 ## E3; }; \
+
731  struct { _swizzle<4, T, P, V<T, P>, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \
+
732  struct { _swizzle<4, T, P, V<T, P>, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \
+
733  struct { _swizzle<4, T, P, V<T, P>, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \
+
734  struct { _swizzle<4, T, P, V<T, P>, 2,1,1,3> E2 ## E1 ## E1 ## E3; }; \
+
735  struct { _swizzle<4, T, P, V<T, P>, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \
+
736  struct { _swizzle<4, T, P, V<T, P>, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \
+
737  struct { _swizzle<4, T, P, V<T, P>, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \
+
738  struct { _swizzle<4, T, P, V<T, P>, 2,1,2,3> E2 ## E1 ## E2 ## E3; }; \
+
739  struct { _swizzle<4, T, P, V<T, P>, 2,1,3,0> E2 ## E1 ## E3 ## E0; }; \
+
740  struct { _swizzle<4, T, P, V<T, P>, 2,1,3,1> E2 ## E1 ## E3 ## E1; }; \
+
741  struct { _swizzle<4, T, P, V<T, P>, 2,1,3,2> E2 ## E1 ## E3 ## E2; }; \
+
742  struct { _swizzle<4, T, P, V<T, P>, 2,1,3,3> E2 ## E1 ## E3 ## E3; }; \
+
743  struct { _swizzle<4, T, P, V<T, P>, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \
+
744  struct { _swizzle<4, T, P, V<T, P>, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \
+
745  struct { _swizzle<4, T, P, V<T, P>, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \
+
746  struct { _swizzle<4, T, P, V<T, P>, 2,2,0,3> E2 ## E2 ## E0 ## E3; }; \
+
747  struct { _swizzle<4, T, P, V<T, P>, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \
+
748  struct { _swizzle<4, T, P, V<T, P>, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \
+
749  struct { _swizzle<4, T, P, V<T, P>, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
+
750  struct { _swizzle<4, T, P, V<T, P>, 2,2,1,3> E2 ## E2 ## E1 ## E3; }; \
+
751  struct { _swizzle<4, T, P, V<T, P>, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
+
752  struct { _swizzle<4, T, P, V<T, P>, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
+
753  struct { _swizzle<4, T, P, V<T, P>, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; \
+
754  struct { _swizzle<4, T, P, V<T, P>, 2,2,2,3> E2 ## E2 ## E2 ## E3; }; \
+
755  struct { _swizzle<4, T, P, V<T, P>, 2,2,3,0> E2 ## E2 ## E3 ## E0; }; \
+
756  struct { _swizzle<4, T, P, V<T, P>, 2,2,3,1> E2 ## E2 ## E3 ## E1; }; \
+
757  struct { _swizzle<4, T, P, V<T, P>, 2,2,3,2> E2 ## E2 ## E3 ## E2; }; \
+
758  struct { _swizzle<4, T, P, V<T, P>, 2,2,3,3> E2 ## E2 ## E3 ## E3; }; \
+
759  struct { _swizzle<4, T, P, V<T, P>, 2,3,0,0> E2 ## E3 ## E0 ## E0; }; \
+
760  struct { _swizzle<4, T, P, V<T, P>, 2,3,0,1> E2 ## E3 ## E0 ## E1; }; \
+
761  struct { _swizzle<4, T, P, V<T, P>, 2,3,0,2> E2 ## E3 ## E0 ## E2; }; \
+
762  struct { _swizzle<4, T, P, V<T, P>, 2,3,0,3> E2 ## E3 ## E0 ## E3; }; \
+
763  struct { _swizzle<4, T, P, V<T, P>, 2,3,1,0> E2 ## E3 ## E1 ## E0; }; \
+
764  struct { _swizzle<4, T, P, V<T, P>, 2,3,1,1> E2 ## E3 ## E1 ## E1; }; \
+
765  struct { _swizzle<4, T, P, V<T, P>, 2,3,1,2> E2 ## E3 ## E1 ## E2; }; \
+
766  struct { _swizzle<4, T, P, V<T, P>, 2,3,1,3> E2 ## E3 ## E1 ## E3; }; \
+
767  struct { _swizzle<4, T, P, V<T, P>, 2,3,2,0> E2 ## E3 ## E2 ## E0; }; \
+
768  struct { _swizzle<4, T, P, V<T, P>, 2,3,2,1> E2 ## E3 ## E2 ## E1; }; \
+
769  struct { _swizzle<4, T, P, V<T, P>, 2,3,2,2> E2 ## E3 ## E2 ## E2; }; \
+
770  struct { _swizzle<4, T, P, V<T, P>, 2,3,2,3> E2 ## E3 ## E2 ## E3; }; \
+
771  struct { _swizzle<4, T, P, V<T, P>, 2,3,3,0> E2 ## E3 ## E3 ## E0; }; \
+
772  struct { _swizzle<4, T, P, V<T, P>, 2,3,3,1> E2 ## E3 ## E3 ## E1; }; \
+
773  struct { _swizzle<4, T, P, V<T, P>, 2,3,3,2> E2 ## E3 ## E3 ## E2; }; \
+
774  struct { _swizzle<4, T, P, V<T, P>, 2,3,3,3> E2 ## E3 ## E3 ## E3; }; \
+
775  struct { _swizzle<4, T, P, V<T, P>, 3,0,0,0> E3 ## E0 ## E0 ## E0; }; \
+
776  struct { _swizzle<4, T, P, V<T, P>, 3,0,0,1> E3 ## E0 ## E0 ## E1; }; \
+
777  struct { _swizzle<4, T, P, V<T, P>, 3,0,0,2> E3 ## E0 ## E0 ## E2; }; \
+
778  struct { _swizzle<4, T, P, V<T, P>, 3,0,0,3> E3 ## E0 ## E0 ## E3; }; \
+
779  struct { _swizzle<4, T, P, V<T, P>, 3,0,1,0> E3 ## E0 ## E1 ## E0; }; \
+
780  struct { _swizzle<4, T, P, V<T, P>, 3,0,1,1> E3 ## E0 ## E1 ## E1; }; \
+
781  struct { _swizzle<4, T, P, V<T, P>, 3,0,1,2> E3 ## E0 ## E1 ## E2; }; \
+
782  struct { _swizzle<4, T, P, V<T, P>, 3,0,1,3> E3 ## E0 ## E1 ## E3; }; \
+
783  struct { _swizzle<4, T, P, V<T, P>, 3,0,2,0> E3 ## E0 ## E2 ## E0; }; \
+
784  struct { _swizzle<4, T, P, V<T, P>, 3,0,2,1> E3 ## E0 ## E2 ## E1; }; \
+
785  struct { _swizzle<4, T, P, V<T, P>, 3,0,2,2> E3 ## E0 ## E2 ## E2; }; \
+
786  struct { _swizzle<4, T, P, V<T, P>, 3,0,2,3> E3 ## E0 ## E2 ## E3; }; \
+
787  struct { _swizzle<4, T, P, V<T, P>, 3,0,3,0> E3 ## E0 ## E3 ## E0; }; \
+
788  struct { _swizzle<4, T, P, V<T, P>, 3,0,3,1> E3 ## E0 ## E3 ## E1; }; \
+
789  struct { _swizzle<4, T, P, V<T, P>, 3,0,3,2> E3 ## E0 ## E3 ## E2; }; \
+
790  struct { _swizzle<4, T, P, V<T, P>, 3,0,3,3> E3 ## E0 ## E3 ## E3; }; \
+
791  struct { _swizzle<4, T, P, V<T, P>, 3,1,0,0> E3 ## E1 ## E0 ## E0; }; \
+
792  struct { _swizzle<4, T, P, V<T, P>, 3,1,0,1> E3 ## E1 ## E0 ## E1; }; \
+
793  struct { _swizzle<4, T, P, V<T, P>, 3,1,0,2> E3 ## E1 ## E0 ## E2; }; \
+
794  struct { _swizzle<4, T, P, V<T, P>, 3,1,0,3> E3 ## E1 ## E0 ## E3; }; \
+
795  struct { _swizzle<4, T, P, V<T, P>, 3,1,1,0> E3 ## E1 ## E1 ## E0; }; \
+
796  struct { _swizzle<4, T, P, V<T, P>, 3,1,1,1> E3 ## E1 ## E1 ## E1; }; \
+
797  struct { _swizzle<4, T, P, V<T, P>, 3,1,1,2> E3 ## E1 ## E1 ## E2; }; \
+
798  struct { _swizzle<4, T, P, V<T, P>, 3,1,1,3> E3 ## E1 ## E1 ## E3; }; \
+
799  struct { _swizzle<4, T, P, V<T, P>, 3,1,2,0> E3 ## E1 ## E2 ## E0; }; \
+
800  struct { _swizzle<4, T, P, V<T, P>, 3,1,2,1> E3 ## E1 ## E2 ## E1; }; \
+
801  struct { _swizzle<4, T, P, V<T, P>, 3,1,2,2> E3 ## E1 ## E2 ## E2; }; \
+
802  struct { _swizzle<4, T, P, V<T, P>, 3,1,2,3> E3 ## E1 ## E2 ## E3; }; \
+
803  struct { _swizzle<4, T, P, V<T, P>, 3,1,3,0> E3 ## E1 ## E3 ## E0; }; \
+
804  struct { _swizzle<4, T, P, V<T, P>, 3,1,3,1> E3 ## E1 ## E3 ## E1; }; \
+
805  struct { _swizzle<4, T, P, V<T, P>, 3,1,3,2> E3 ## E1 ## E3 ## E2; }; \
+
806  struct { _swizzle<4, T, P, V<T, P>, 3,1,3,3> E3 ## E1 ## E3 ## E3; }; \
+
807  struct { _swizzle<4, T, P, V<T, P>, 3,2,0,0> E3 ## E2 ## E0 ## E0; }; \
+
808  struct { _swizzle<4, T, P, V<T, P>, 3,2,0,1> E3 ## E2 ## E0 ## E1; }; \
+
809  struct { _swizzle<4, T, P, V<T, P>, 3,2,0,2> E3 ## E2 ## E0 ## E2; }; \
+
810  struct { _swizzle<4, T, P, V<T, P>, 3,2,0,3> E3 ## E2 ## E0 ## E3; }; \
+
811  struct { _swizzle<4, T, P, V<T, P>, 3,2,1,0> E3 ## E2 ## E1 ## E0; }; \
+
812  struct { _swizzle<4, T, P, V<T, P>, 3,2,1,1> E3 ## E2 ## E1 ## E1; }; \
+
813  struct { _swizzle<4, T, P, V<T, P>, 3,2,1,2> E3 ## E2 ## E1 ## E2; }; \
+
814  struct { _swizzle<4, T, P, V<T, P>, 3,2,1,3> E3 ## E2 ## E1 ## E3; }; \
+
815  struct { _swizzle<4, T, P, V<T, P>, 3,2,2,0> E3 ## E2 ## E2 ## E0; }; \
+
816  struct { _swizzle<4, T, P, V<T, P>, 3,2,2,1> E3 ## E2 ## E2 ## E1; }; \
+
817  struct { _swizzle<4, T, P, V<T, P>, 3,2,2,2> E3 ## E2 ## E2 ## E2; }; \
+
818  struct { _swizzle<4, T, P, V<T, P>, 3,2,2,3> E3 ## E2 ## E2 ## E3; }; \
+
819  struct { _swizzle<4, T, P, V<T, P>, 3,2,3,0> E3 ## E2 ## E3 ## E0; }; \
+
820  struct { _swizzle<4, T, P, V<T, P>, 3,2,3,1> E3 ## E2 ## E3 ## E1; }; \
+
821  struct { _swizzle<4, T, P, V<T, P>, 3,2,3,2> E3 ## E2 ## E3 ## E2; }; \
+
822  struct { _swizzle<4, T, P, V<T, P>, 3,2,3,3> E3 ## E2 ## E3 ## E3; }; \
+
823  struct { _swizzle<4, T, P, V<T, P>, 3,3,0,0> E3 ## E3 ## E0 ## E0; }; \
+
824  struct { _swizzle<4, T, P, V<T, P>, 3,3,0,1> E3 ## E3 ## E0 ## E1; }; \
+
825  struct { _swizzle<4, T, P, V<T, P>, 3,3,0,2> E3 ## E3 ## E0 ## E2; }; \
+
826  struct { _swizzle<4, T, P, V<T, P>, 3,3,0,3> E3 ## E3 ## E0 ## E3; }; \
+
827  struct { _swizzle<4, T, P, V<T, P>, 3,3,1,0> E3 ## E3 ## E1 ## E0; }; \
+
828  struct { _swizzle<4, T, P, V<T, P>, 3,3,1,1> E3 ## E3 ## E1 ## E1; }; \
+
829  struct { _swizzle<4, T, P, V<T, P>, 3,3,1,2> E3 ## E3 ## E1 ## E2; }; \
+
830  struct { _swizzle<4, T, P, V<T, P>, 3,3,1,3> E3 ## E3 ## E1 ## E3; }; \
+
831  struct { _swizzle<4, T, P, V<T, P>, 3,3,2,0> E3 ## E3 ## E2 ## E0; }; \
+
832  struct { _swizzle<4, T, P, V<T, P>, 3,3,2,1> E3 ## E3 ## E2 ## E1; }; \
+
833  struct { _swizzle<4, T, P, V<T, P>, 3,3,2,2> E3 ## E3 ## E2 ## E2; }; \
+
834  struct { _swizzle<4, T, P, V<T, P>, 3,3,2,3> E3 ## E3 ## E2 ## E3; }; \
+
835  struct { _swizzle<4, T, P, V<T, P>, 3,3,3,0> E3 ## E3 ## E3 ## E0; }; \
+
836  struct { _swizzle<4, T, P, V<T, P>, 3,3,3,1> E3 ## E3 ## E3 ## E1; }; \
+
837  struct { _swizzle<4, T, P, V<T, P>, 3,3,3,2> E3 ## E3 ## E3 ## E2; }; \
+
838  struct { _swizzle<4, T, P, V<T, P>, 3,3,3,3> E3 ## E3 ## E3 ## E3; };
+
839 
+
840 #endif//glm_core_swizzle
+
GLM_FUNC_DECL genType e()
Return e constant.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00009_source.html glm-0.9.5.1/doc/api/a00009_source.html --- glm-0.9.4.6/doc/api/a00009_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00009_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,117 +1,759 @@ - - - - - -closest_point.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
closest_point.hpp
-
-
-
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_closest_point
-
39 #define GLM_GTX_closest_point GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_closest_point extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename T>
-
56  detail::tvec3<T> closestPointOnLine(
-
57  detail::tvec3<T> const & point,
-
58  detail::tvec3<T> const & a,
-
59  detail::tvec3<T> const & b);
-
60 
-
62 }// namespace glm
-
63 
-
64 #include "closest_point.inl"
-
65 
-
66 #endif//GLM_GTX_closest_point
-
- - - - + + + + + + +GLM: _swizzle_func.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
_swizzle_func.hpp
+
+
+
1 
+
29 #ifndef glm_core_swizzle_func
+
30 #define glm_core_swizzle_func
+
31 
+
32 #define GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B) \
+
33  SWIZZLED_TYPE<TMPL_TYPE, PRECISION> A ## B() CONST \
+
34  { \
+
35  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B); \
+
36  }
+
37 
+
38 #define GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C) \
+
39  SWIZZLED_TYPE<TMPL_TYPE, PRECISION> A ## B ## C() CONST \
+
40  { \
+
41  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C); \
+
42  }
+
43 
+
44 #define GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D) \
+
45  SWIZZLED_TYPE<TMPL_TYPE, PRECISION> A ## B ## C ## D() CONST \
+
46  { \
+
47  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C, this->D); \
+
48  }
+
49 
+
50 #define GLM_SWIZZLE_GEN_VEC2_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B) \
+
51  template <typename TMPL_TYPE> \
+
52  SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE, PRECISION>::A ## B() CONST \
+
53  { \
+
54  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B); \
+
55  }
+
56 
+
57 #define GLM_SWIZZLE_GEN_VEC3_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C) \
+
58  template <typename TMPL_TYPE> \
+
59  SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE, PRECISION>::A ## B ## C() CONST \
+
60  { \
+
61  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C); \
+
62  }
+
63 
+
64 #define GLM_SWIZZLE_GEN_VEC4_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D) \
+
65  template <typename TMPL_TYPE> \
+
66  SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE, PRECISION>::A ## B ## C ## D() CONST \
+
67  { \
+
68  return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C, this->D); \
+
69  }
+
70 
+
71 #define GLM_MUTABLE
+
72 
+
73 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
+
74  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \
+
75  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A)
+
76 
+
77 #define GLM_SWIZZLE_GEN_REF_FROM_VEC2(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE) \
+
78  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, x, y) \
+
79  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, r, g) \
+
80  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, s, t)
+
81 
+
82 //GLM_SWIZZLE_GEN_REF_FROM_VEC2(valType, detail::vec2, detail::ref2)
+
83 
+
84 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
+
85  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \
+
86  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \
+
87  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \
+
88  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \
+
89  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \
+
90  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B)
+
91 
+
92 #define GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
+
93  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B, C) \
+
94  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C, B) \
+
95  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A, C) \
+
96  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C, A) \
+
97  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A, B) \
+
98  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B, A)
+
99 
+
100 #define GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \
+
101  GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \
+
102  GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C)
+
103 
+
104 #define GLM_SWIZZLE_GEN_REF_FROM_VEC3(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE) \
+
105  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, x, y, z) \
+
106  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, r, g, b) \
+
107  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, s, t, p)
+
108 
+
109 //GLM_SWIZZLE_GEN_REF_FROM_VEC3(valType, detail::vec3, detail::ref2, detail::ref3)
+
110 
+
111 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
+
112  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \
+
113  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \
+
114  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, D) \
+
115  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \
+
116  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \
+
117  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, D) \
+
118  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \
+
119  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B) \
+
120  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, D) \
+
121  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, A) \
+
122  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, B) \
+
123  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, C)
+
124 
+
125 #define GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
+
126  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C) \
+
127  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D) \
+
128  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B) \
+
129  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D) \
+
130  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B) \
+
131  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C) \
+
132  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C) \
+
133  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D) \
+
134  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A) \
+
135  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D) \
+
136  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A) \
+
137  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C) \
+
138  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B) \
+
139  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D) \
+
140  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A) \
+
141  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D) \
+
142  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A) \
+
143  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B) \
+
144  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B) \
+
145  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C) \
+
146  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A) \
+
147  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C) \
+
148  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A) \
+
149  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B)
+
150 
+
151 #define GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
+
152  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B, D) \
+
153  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D, B) \
+
154  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B, C) \
+
155  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C, B) \
+
156  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D, C) \
+
157  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C, D) \
+
158  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A, D) \
+
159  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D, A) \
+
160  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A, C) \
+
161  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C, A) \
+
162  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D, C) \
+
163  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C, D) \
+
164  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A, D) \
+
165  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D, A) \
+
166  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A, B) \
+
167  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B, A) \
+
168  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D, B) \
+
169  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B, D) \
+
170  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B, A) \
+
171  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A, B) \
+
172  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B, C) \
+
173  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C, B) \
+
174  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A, C) \
+
175  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C, A)
+
176 
+
177 #define GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \
+
178  GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \
+
179  GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \
+
180  GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)
+
181 
+
182 #define GLM_SWIZZLE_GEN_REF_FROM_VEC4(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
+
183  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \
+
184  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \
+
185  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p, q)
+
186 
+
187 //GLM_SWIZZLE_GEN_REF_FROM_VEC4(valType, detail::vec4, detail::ref2, detail::ref3, detail::ref4)
+
188 
+
189 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
+
190  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \
+
191  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \
+
192  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \
+
193  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B)
+
194 
+
195 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
+
196  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \
+
197  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \
+
198  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \
+
199  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \
+
200  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \
+
201  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \
+
202  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \
+
203  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B)
+
204 
+
205 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \
+
206  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \
+
207  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \
+
208  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \
+
209  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \
+
210  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \
+
211  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \
+
212  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \
+
213  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \
+
214  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \
+
215  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \
+
216  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \
+
217  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \
+
218  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \
+
219  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \
+
220  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \
+
221  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B)
+
222 
+
223 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B) \
+
224  GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B) \
+
225  GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B) \
+
226  GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B)
+
227 
+
228 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC2(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
+
229  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y) \
+
230  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g) \
+
231  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t)
+
232 
+
233 //GLM_SWIZZLE_GEN_VEC_FROM_VEC2(valType, detail::vec2, detail::vec2, detail::vec3, detail::vec4)
+
234 
+
235 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
+
236  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \
+
237  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \
+
238  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \
+
239  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \
+
240  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \
+
241  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \
+
242  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \
+
243  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \
+
244  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C)
+
245 
+
246 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
+
247  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \
+
248  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \
+
249  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \
+
250  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \
+
251  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \
+
252  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \
+
253  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \
+
254  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \
+
255  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \
+
256  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \
+
257  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \
+
258  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \
+
259  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \
+
260  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \
+
261  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \
+
262  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \
+
263  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \
+
264  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \
+
265  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \
+
266  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \
+
267  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \
+
268  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \
+
269  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \
+
270  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \
+
271  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \
+
272  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \
+
273  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C)
+
274 
+
275 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \
+
276  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \
+
277  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \
+
278  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \
+
279  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \
+
280  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \
+
281  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \
+
282  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \
+
283  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \
+
284  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \
+
285  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \
+
286  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \
+
287  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \
+
288  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \
+
289  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \
+
290  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \
+
291  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \
+
292  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \
+
293  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \
+
294  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \
+
295  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \
+
296  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \
+
297  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \
+
298  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \
+
299  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \
+
300  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \
+
301  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \
+
302  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \
+
303  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \
+
304  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \
+
305  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \
+
306  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \
+
307  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \
+
308  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \
+
309  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \
+
310  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \
+
311  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \
+
312  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \
+
313  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \
+
314  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \
+
315  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \
+
316  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \
+
317  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \
+
318  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \
+
319  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \
+
320  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \
+
321  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \
+
322  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \
+
323  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \
+
324  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \
+
325  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \
+
326  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \
+
327  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \
+
328  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \
+
329  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \
+
330  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \
+
331  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \
+
332  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \
+
333  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \
+
334  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \
+
335  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \
+
336  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \
+
337  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \
+
338  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \
+
339  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \
+
340  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \
+
341  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \
+
342  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \
+
343  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \
+
344  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \
+
345  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \
+
346  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \
+
347  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \
+
348  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \
+
349  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \
+
350  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \
+
351  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \
+
352  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \
+
353  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \
+
354  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \
+
355  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \
+
356  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C)
+
357 
+
358 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C) \
+
359  GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C) \
+
360  GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \
+
361  GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C)
+
362 
+
363 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC3(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
+
364  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z) \
+
365  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b) \
+
366  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p)
+
367 
+
368 //GLM_SWIZZLE_GEN_VEC_FROM_VEC3(valType, detail::vec3, detail::vec2, detail::vec3, detail::vec4)
+
369 
+
370 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
+
371  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \
+
372  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \
+
373  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \
+
374  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D) \
+
375  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \
+
376  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \
+
377  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \
+
378  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D) \
+
379  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \
+
380  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \
+
381  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C) \
+
382  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D) \
+
383  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A) \
+
384  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B) \
+
385  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C) \
+
386  GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D)
+
387 
+
388 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
+
389  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \
+
390  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \
+
391  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \
+
392  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D) \
+
393  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \
+
394  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \
+
395  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \
+
396  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D) \
+
397  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \
+
398  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \
+
399  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \
+
400  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D) \
+
401  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A) \
+
402  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B) \
+
403  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C) \
+
404  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D) \
+
405  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \
+
406  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \
+
407  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \
+
408  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D) \
+
409  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \
+
410  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \
+
411  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \
+
412  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D) \
+
413  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \
+
414  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \
+
415  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \
+
416  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D) \
+
417  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A) \
+
418  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B) \
+
419  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C) \
+
420  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D) \
+
421  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \
+
422  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \
+
423  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \
+
424  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D) \
+
425  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \
+
426  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \
+
427  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \
+
428  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D) \
+
429  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \
+
430  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \
+
431  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C) \
+
432  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D) \
+
433  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A) \
+
434  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B) \
+
435  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C) \
+
436  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D) \
+
437  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A) \
+
438  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B) \
+
439  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C) \
+
440  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D) \
+
441  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A) \
+
442  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B) \
+
443  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C) \
+
444  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D) \
+
445  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A) \
+
446  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B) \
+
447  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C) \
+
448  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D) \
+
449  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A) \
+
450  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B) \
+
451  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C) \
+
452  GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D)
+
453 
+
454 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \
+
455  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \
+
456  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \
+
457  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \
+
458  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, D) \
+
459  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \
+
460  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \
+
461  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \
+
462  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, D) \
+
463  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \
+
464  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \
+
465  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \
+
466  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, D) \
+
467  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, A) \
+
468  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, B) \
+
469  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, C) \
+
470  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, D) \
+
471  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \
+
472  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \
+
473  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \
+
474  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, D) \
+
475  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \
+
476  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \
+
477  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \
+
478  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, D) \
+
479  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \
+
480  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \
+
481  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \
+
482  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, D) \
+
483  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, A) \
+
484  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, B) \
+
485  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, C) \
+
486  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, D) \
+
487  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \
+
488  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \
+
489  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \
+
490  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, D) \
+
491  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \
+
492  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \
+
493  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \
+
494  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, D) \
+
495  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \
+
496  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \
+
497  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \
+
498  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, D) \
+
499  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, A) \
+
500  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, B) \
+
501  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, C) \
+
502  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, D) \
+
503  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, A) \
+
504  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, B) \
+
505  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, C) \
+
506  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, D) \
+
507  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, A) \
+
508  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, B) \
+
509  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, C) \
+
510  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, D) \
+
511  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, A) \
+
512  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, B) \
+
513  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, C) \
+
514  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, D) \
+
515  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, A) \
+
516  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, B) \
+
517  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, C) \
+
518  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, D) \
+
519  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \
+
520  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \
+
521  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \
+
522  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, D) \
+
523  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \
+
524  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \
+
525  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \
+
526  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, D) \
+
527  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \
+
528  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \
+
529  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \
+
530  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, D) \
+
531  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, A) \
+
532  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, B) \
+
533  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, C) \
+
534  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, D) \
+
535  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \
+
536  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \
+
537  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \
+
538  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, D) \
+
539  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \
+
540  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \
+
541  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \
+
542  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, D) \
+
543  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \
+
544  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \
+
545  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \
+
546  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, D) \
+
547  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, A) \
+
548  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, B) \
+
549  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, C) \
+
550  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, D) \
+
551  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \
+
552  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \
+
553  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \
+
554  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, D) \
+
555  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \
+
556  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \
+
557  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \
+
558  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, D) \
+
559  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \
+
560  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \
+
561  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \
+
562  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, D) \
+
563  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, A) \
+
564  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, B) \
+
565  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, C) \
+
566  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, D) \
+
567  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, A) \
+
568  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, B) \
+
569  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, C) \
+
570  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, D) \
+
571  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, A) \
+
572  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, B) \
+
573  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, C) \
+
574  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, D) \
+
575  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, A) \
+
576  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, B) \
+
577  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, C) \
+
578  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, D) \
+
579  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, A) \
+
580  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, B) \
+
581  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, C) \
+
582  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, D) \
+
583  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \
+
584  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \
+
585  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \
+
586  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, D) \
+
587  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \
+
588  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \
+
589  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \
+
590  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, D) \
+
591  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \
+
592  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \
+
593  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \
+
594  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, D) \
+
595  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, A) \
+
596  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, B) \
+
597  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, C) \
+
598  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, D) \
+
599  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \
+
600  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \
+
601  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \
+
602  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, D) \
+
603  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \
+
604  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \
+
605  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \
+
606  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, D) \
+
607  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \
+
608  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \
+
609  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \
+
610  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, D) \
+
611  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, A) \
+
612  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, B) \
+
613  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, C) \
+
614  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, D) \
+
615  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \
+
616  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \
+
617  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \
+
618  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, D) \
+
619  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \
+
620  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \
+
621  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \
+
622  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, D) \
+
623  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \
+
624  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \
+
625  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C) \
+
626  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, D) \
+
627  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, A) \
+
628  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, B) \
+
629  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, C) \
+
630  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, D) \
+
631  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, A) \
+
632  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, B) \
+
633  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, C) \
+
634  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, D) \
+
635  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, A) \
+
636  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, B) \
+
637  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, C) \
+
638  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, D) \
+
639  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, A) \
+
640  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, B) \
+
641  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, C) \
+
642  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, D) \
+
643  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, A) \
+
644  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, B) \
+
645  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, C) \
+
646  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, D) \
+
647  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, A) \
+
648  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, B) \
+
649  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, C) \
+
650  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, D) \
+
651  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, A) \
+
652  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, B) \
+
653  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, C) \
+
654  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, D) \
+
655  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, A) \
+
656  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, B) \
+
657  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, C) \
+
658  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, D) \
+
659  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, A) \
+
660  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, B) \
+
661  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, C) \
+
662  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, D) \
+
663  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, A) \
+
664  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, B) \
+
665  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, C) \
+
666  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, D) \
+
667  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, A) \
+
668  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, B) \
+
669  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, C) \
+
670  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, D) \
+
671  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, A) \
+
672  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, B) \
+
673  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, C) \
+
674  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, D) \
+
675  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, A) \
+
676  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, B) \
+
677  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, C) \
+
678  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, D) \
+
679  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, A) \
+
680  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, B) \
+
681  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, C) \
+
682  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, D) \
+
683  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, A) \
+
684  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, B) \
+
685  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, C) \
+
686  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, D) \
+
687  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, A) \
+
688  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, B) \
+
689  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, C) \
+
690  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, D) \
+
691  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, A) \
+
692  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, B) \
+
693  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, C) \
+
694  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, D) \
+
695  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, A) \
+
696  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, B) \
+
697  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, C) \
+
698  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, D) \
+
699  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, A) \
+
700  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, B) \
+
701  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, C) \
+
702  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, D) \
+
703  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, A) \
+
704  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, B) \
+
705  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, C) \
+
706  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, D) \
+
707  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, A) \
+
708  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, B) \
+
709  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, C) \
+
710  GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, D)
+
711 
+
712 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \
+
713  GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \
+
714  GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \
+
715  GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)
+
716 
+
717 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \
+
718  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \
+
719  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \
+
720  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p, q)
+
721 
+
722 //GLM_SWIZZLE_GEN_VEC_FROM_VEC4(valType, detail::vec4, detail::vec2, detail::vec3, detail::vec4)
+
723 
+
724 #endif//glm_core_swizzle_func
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00010.html glm-0.9.5.1/doc/api/a00010.html --- glm-0.9.4.6/doc/api/a00010.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00010.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,255 +0,0 @@ - - - - - -color_cast.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
color_cast.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

-template<typename T >
f16vec4 f16_abgr_cast (T c)
 
-template<typename T >
f16vec4 f16_argb_cast (T c)
 
-template<typename T >
f16vec4 f16_bgra_cast (T c)
 
-template<typename T >
f16vec3 f16_bgrx_cast (T c)
 
-template<typename T >
f16 f16_channel_cast (T a)
 
-template<typename T >
f16vec4 f16_rgba_cast (T c)
 
-template<typename T >
f16vec3 f16_rgbx_cast (T c)
 
-template<typename T >
f16vec3 f16_xbgr_cast (T c)
 
-template<typename T >
f16vec3 f16_xrgb_cast (T c)
 
-template<typename T >
f32vec4 f32_abgr_cast (T c)
 
-template<typename T >
f32vec4 f32_argb_cast (T c)
 
-template<typename T >
f32vec4 f32_bgra_cast (T c)
 
-template<typename T >
f32vec3 f32_bgrx_cast (T c)
 
-template<typename T >
f32 f32_channel_cast (T a)
 
-template<typename T >
f32vec4 f32_rgba_cast (T c)
 
-template<typename T >
f32vec3 f32_rgbx_cast (T c)
 
-template<typename T >
f32vec3 f32_xbgr_cast (T c)
 
-template<typename T >
f32vec3 f32_xrgb_cast (T c)
 
-template<typename T >
f64vec4 f64_abgr_cast (T c)
 
-template<typename T >
f64vec4 f64_argb_cast (T c)
 
-template<typename T >
f64vec4 f64_bgra_cast (T c)
 
-template<typename T >
f64vec3 f64_bgrx_cast (T c)
 
-template<typename T >
f64 f64_channel_cast (T a)
 
-template<typename T >
f64vec4 f64_rgba_cast (T c)
 
-template<typename T >
f64vec3 f64_rgbx_cast (T c)
 
-template<typename T >
f64vec3 f64_xbgr_cast (T c)
 
-template<typename T >
f64vec3 f64_xrgb_cast (T c)
 
template<typename valType >
uint16 u16channel_cast (valType a)
 
-template<typename T >
uint32 u32_abgr_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint32 u32_argb_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint32 u32_bgra_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint32 u32_bgrx_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint32 u32_rgba_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint32 u32_rgbx_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint32 u32_xbgr_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint32 u32_xrgb_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint64 u64_abgr_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint64 u64_argb_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint64 u64_bgra_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint64 u64_bgrx_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint64 u64_rgba_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint64 u64_rgbx_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint64 u64_xbgr_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint64 u64_xrgb_cast (const detail::tvec3< T > &c)
 
template<typename valType >
uint8 u8channel_cast (valType a)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_color_cast

-
Date
2007-06-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_number_precision (dependence)
- -

Definition in file color_cast.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00010_source.html glm-0.9.5.1/doc/api/a00010_source.html --- glm-0.9.4.6/doc/api/a00010_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00010_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,173 +1,228 @@ - - - - - -color_cast.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
color_cast.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_color_cast
-
40 #define GLM_GTX_color_cast GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/number_precision.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_color_cast extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename valType> uint8 u8channel_cast(valType a);
-
58 
-
61  template <typename valType> uint16 u16channel_cast(valType a);
-
62 
-
63  template <typename T> uint32 u32_rgbx_cast(const detail::tvec3<T>& c);
-
64  template <typename T> uint32 u32_xrgb_cast(const detail::tvec3<T>& c);
-
65  template <typename T> uint32 u32_bgrx_cast(const detail::tvec3<T>& c);
-
66  template <typename T> uint32 u32_xbgr_cast(const detail::tvec3<T>& c);
-
67 
-
68  template <typename T> uint32 u32_rgba_cast(const detail::tvec4<T>& c);
-
69  template <typename T> uint32 u32_argb_cast(const detail::tvec4<T>& c);
-
70  template <typename T> uint32 u32_bgra_cast(const detail::tvec4<T>& c);
-
71  template <typename T> uint32 u32_abgr_cast(const detail::tvec4<T>& c);
-
72 
-
73  template <typename T> uint64 u64_rgbx_cast(const detail::tvec3<T>& c);
-
74  template <typename T> uint64 u64_xrgb_cast(const detail::tvec3<T>& c);
-
75  template <typename T> uint64 u64_bgrx_cast(const detail::tvec3<T>& c);
-
76  template <typename T> uint64 u64_xbgr_cast(const detail::tvec3<T>& c);
-
77 
-
78  template <typename T> uint64 u64_rgba_cast(const detail::tvec4<T>& c);
-
79  template <typename T> uint64 u64_argb_cast(const detail::tvec4<T>& c);
-
80  template <typename T> uint64 u64_bgra_cast(const detail::tvec4<T>& c);
-
81  template <typename T> uint64 u64_abgr_cast(const detail::tvec4<T>& c);
-
82 
-
83  template <typename T> f16 f16_channel_cast(T a);
-
84 
-
85  template <typename T> f16vec3 f16_rgbx_cast(T c);
-
86  template <typename T> f16vec3 f16_xrgb_cast(T c);
-
87  template <typename T> f16vec3 f16_bgrx_cast(T c);
-
88  template <typename T> f16vec3 f16_xbgr_cast(T c);
-
89 
-
90  template <typename T> f16vec4 f16_rgba_cast(T c);
-
91  template <typename T> f16vec4 f16_argb_cast(T c);
-
92  template <typename T> f16vec4 f16_bgra_cast(T c);
-
93  template <typename T> f16vec4 f16_abgr_cast(T c);
-
94 
-
95  template <typename T> f32 f32_channel_cast(T a);
-
96 
-
97  template <typename T> f32vec3 f32_rgbx_cast(T c);
-
98  template <typename T> f32vec3 f32_xrgb_cast(T c);
-
99  template <typename T> f32vec3 f32_bgrx_cast(T c);
-
100  template <typename T> f32vec3 f32_xbgr_cast(T c);
-
101 
-
102  template <typename T> f32vec4 f32_rgba_cast(T c);
-
103  template <typename T> f32vec4 f32_argb_cast(T c);
-
104  template <typename T> f32vec4 f32_bgra_cast(T c);
-
105  template <typename T> f32vec4 f32_abgr_cast(T c);
-
106 
-
107  template <typename T> f64 f64_channel_cast(T a);
-
108 
-
109  template <typename T> f64vec3 f64_rgbx_cast(T c);
-
110  template <typename T> f64vec3 f64_xrgb_cast(T c);
-
111  template <typename T> f64vec3 f64_bgrx_cast(T c);
-
112  template <typename T> f64vec3 f64_xbgr_cast(T c);
-
113 
-
114  template <typename T> f64vec4 f64_rgba_cast(T c);
-
115  template <typename T> f64vec4 f64_argb_cast(T c);
-
116  template <typename T> f64vec4 f64_bgra_cast(T c);
-
117  template <typename T> f64vec4 f64_abgr_cast(T c);
-
118 
-
120 }//namespace glm
-
121 
-
122 #include "color_cast.inl"
-
123 
-
124 #endif//GLM_GTX_color_cast
-
- - - - + + + + + + +GLM: _vectorize.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
_vectorize.hpp
+
+
+
1 
+
29 #ifndef GLM_CORE_DETAIL_INCLUDED
+
30 #define GLM_CORE_DETAIL_INCLUDED
+
31 
+
32 #include "type_vec2.hpp"
+
33 #include "type_vec3.hpp"
+
34 #include "type_vec4.hpp"
+
35 
+
36 #define VECTORIZE2_VEC(func) \
+
37  template <typename T, precision P> \
+
38  GLM_FUNC_QUALIFIER detail::tvec2<T, P> func( \
+
39  detail::tvec2<T, P> const & v) \
+
40  { \
+
41  return detail::tvec2<T, P>( \
+
42  func(v.x), \
+
43  func(v.y)); \
+
44  }
+
45 
+
46 #define VECTORIZE3_VEC(func) \
+
47  template <typename T, precision P> \
+
48  GLM_FUNC_QUALIFIER detail::tvec3<T, P> func( \
+
49  detail::tvec3<T, P> const & v) \
+
50  { \
+
51  return detail::tvec3<T, P>( \
+
52  func(v.x), \
+
53  func(v.y), \
+
54  func(v.z)); \
+
55  }
+
56 
+
57 #define VECTORIZE4_VEC(func) \
+
58  template <typename T, precision P> \
+
59  GLM_FUNC_QUALIFIER detail::tvec4<T, P> func( \
+
60  detail::tvec4<T, P> const & v) \
+
61  { \
+
62  return detail::tvec4<T, P>( \
+
63  func(v.x), \
+
64  func(v.y), \
+
65  func(v.z), \
+
66  func(v.w)); \
+
67  }
+
68 
+
69 #define VECTORIZE_VEC(func) \
+
70  VECTORIZE2_VEC(func) \
+
71  VECTORIZE3_VEC(func) \
+
72  VECTORIZE4_VEC(func)
+
73 
+
74 #define VECTORIZE2_VEC_SCA(func) \
+
75  template <typename T, precision P> \
+
76  GLM_FUNC_QUALIFIER detail::tvec2<T, P> func \
+
77  ( \
+
78  detail::tvec2<T, P> const & x, \
+
79  T const & y \
+
80  ) \
+
81  { \
+
82  return detail::tvec2<T, P>( \
+
83  func(x.x, y), \
+
84  func(x.y, y)); \
+
85  }
+
86 
+
87 #define VECTORIZE3_VEC_SCA(func) \
+
88  template <typename T, precision P> \
+
89  GLM_FUNC_QUALIFIER detail::tvec3<T, P> func \
+
90  ( \
+
91  detail::tvec3<T, P> const & x, \
+
92  T const & y \
+
93  ) \
+
94  { \
+
95  return detail::tvec3<T, P>( \
+
96  func(x.x, y), \
+
97  func(x.y, y), \
+
98  func(x.z, y)); \
+
99  }
+
100 
+
101 #define VECTORIZE4_VEC_SCA(func) \
+
102  template <typename T, precision P> \
+
103  GLM_FUNC_QUALIFIER detail::tvec4<T, P> func \
+
104  ( \
+
105  detail::tvec4<T, P> const & x, \
+
106  T const & y \
+
107  ) \
+
108  { \
+
109  return detail::tvec4<T, P>( \
+
110  func(x.x, y), \
+
111  func(x.y, y), \
+
112  func(x.z, y), \
+
113  func(x.w, y)); \
+
114  }
+
115 
+
116 #define VECTORIZE_VEC_SCA(func) \
+
117  VECTORIZE2_VEC_SCA(func) \
+
118  VECTORIZE3_VEC_SCA(func) \
+
119  VECTORIZE4_VEC_SCA(func)
+
120 
+
121 #define VECTORIZE2_VEC_VEC(func) \
+
122  template <typename T, precision P> \
+
123  GLM_FUNC_QUALIFIER detail::tvec2<T, P> func \
+
124  ( \
+
125  detail::tvec2<T, P> const & x, \
+
126  detail::tvec2<T, P> const & y \
+
127  ) \
+
128  { \
+
129  return detail::tvec2<T, P>( \
+
130  func(x.x, y.x), \
+
131  func(x.y, y.y)); \
+
132  }
+
133 
+
134 #define VECTORIZE3_VEC_VEC(func) \
+
135  template <typename T, precision P> \
+
136  GLM_FUNC_QUALIFIER detail::tvec3<T, P> func \
+
137  ( \
+
138  detail::tvec3<T, P> const & x, \
+
139  detail::tvec3<T, P> const & y \
+
140  ) \
+
141  { \
+
142  return detail::tvec3<T, P>( \
+
143  func(x.x, y.x), \
+
144  func(x.y, y.y), \
+
145  func(x.z, y.z)); \
+
146  }
+
147 
+
148 #define VECTORIZE4_VEC_VEC(func) \
+
149  template <typename T, precision P> \
+
150  GLM_FUNC_QUALIFIER detail::tvec4<T, P> func \
+
151  ( \
+
152  detail::tvec4<T, P> const & x, \
+
153  detail::tvec4<T, P> const & y \
+
154  ) \
+
155  { \
+
156  return detail::tvec4<T, P>( \
+
157  func(x.x, y.x), \
+
158  func(x.y, y.y), \
+
159  func(x.z, y.z), \
+
160  func(x.w, y.w)); \
+
161  }
+
162 
+
163 #define VECTORIZE_VEC_VEC(func) \
+
164  VECTORIZE2_VEC_VEC(func) \
+
165  VECTORIZE3_VEC_VEC(func) \
+
166  VECTORIZE4_VEC_VEC(func)
+
167 
+
168 namespace glm{
+
169 namespace detail
+
170 {
+
171  template<bool C>
+
172  struct If
+
173  {
+
174  template<typename F, typename T>
+
175  static GLM_FUNC_QUALIFIER T apply(F functor, const T& val)
+
176  {
+
177  return functor(val);
+
178  }
+
179  };
+
180 
+
181  template<>
+
182  struct If<false>
+
183  {
+
184  template<typename F, typename T>
+
185  static GLM_FUNC_QUALIFIER T apply(F, const T& val)
+
186  {
+
187  return val;
+
188  }
+
189  };
+
190 }//namespace detail
+
191 }//namespace glm
+
192 
+
193 #endif//GLM_CORE_DETAIL_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00011.html glm-0.9.5.1/doc/api/a00011.html --- glm-0.9.4.6/doc/api/a00011.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00011.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,93 +1,107 @@ - - - - - -color_space.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
color_space.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tvec3< valType > hsvColor (detail::tvec3< valType > const &rgbValue)
 
template<typename valType >
valType luminosity (detail::tvec3< valType > const &color)
 
template<typename valType >
detail::tvec3< valType > rgbColor (detail::tvec3< valType > const &hsvValue)
 
template<typename valType >
detail::tmat4x4< valType > saturation (valType const s)
 
template<typename valType >
detail::tvec3< valType > saturation (valType const s, detail::tvec3< valType > const &color)
 
template<typename valType >
detail::tvec4< valType > saturation (valType const s, detail::tvec4< valType > const &color)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_color_space

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file color_space.hpp.

-
- - - - + + + + + + +GLM: associated_min_max.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
associated_min_max.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_associated_min_max

+
Date
2008-03-10 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_extented_min_max (dependence)
+ +

Definition in file associated_min_max.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00011_source.html glm-0.9.5.1/doc/api/a00011_source.html --- glm-0.9.4.6/doc/api/a00011_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00011_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,137 +1,119 @@ - - - - - -color_space.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
color_space.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_color_space
-
39 #define GLM_GTX_color_space GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_color_space extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename valType>
-
56  detail::tvec3<valType> rgbColor(
-
57  detail::tvec3<valType> const & hsvValue);
-
58 
-
61  template <typename valType>
-
62  detail::tvec3<valType> hsvColor(
-
63  detail::tvec3<valType> const & rgbValue);
-
64 
-
67  template <typename valType>
-
68  detail::tmat4x4<valType> saturation(
-
69  valType const s);
-
70 
-
73  template <typename valType>
-
74  detail::tvec3<valType> saturation(
-
75  valType const s,
-
76  detail::tvec3<valType> const & color);
-
77 
-
80  template <typename valType>
-
81  detail::tvec4<valType> saturation(
-
82  valType const s,
-
83  detail::tvec4<valType> const & color);
-
84 
-
87  template <typename valType>
-
88  valType luminosity(
-
89  detail::tvec3<valType> const & color);
-
90 
-
92 }//namespace glm
-
93 
-
94 #include "color_space.inl"
-
95 
-
96 #endif//GLM_GTX_color_space
-
- - - - + + + + + + +GLM: associated_min_max.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
associated_min_max.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_associated_min_max
+
39 #define GLM_GTX_associated_min_max
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_associated_min_max extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template<typename genTypeT, typename genTypeU>
+
56  genTypeU associatedMin(
+
57  const genTypeT& x, const genTypeU& a,
+
58  const genTypeT& y, const genTypeU& b);
+
59 
+
62  template<typename genTypeT, typename genTypeU>
+
63  genTypeU associatedMin(
+
64  const genTypeT& x, const genTypeU& a,
+
65  const genTypeT& y, const genTypeU& b,
+
66  const genTypeT& z, const genTypeU& c);
+
67 
+
70  template<typename genTypeT, typename genTypeU>
+
71  genTypeU associatedMin(
+
72  const genTypeT& x, const genTypeU& a,
+
73  const genTypeT& y, const genTypeU& b,
+
74  const genTypeT& z, const genTypeU& c,
+
75  const genTypeT& w, const genTypeU& d);
+
76 
+
79  template<typename genTypeT, typename genTypeU>
+
80  genTypeU associatedMax(
+
81  const genTypeT& x, const genTypeU& a,
+
82  const genTypeT& y, const genTypeU& b);
+
83 
+
86  template<typename genTypeT, typename genTypeU>
+
87  genTypeU associatedMax(
+
88  const genTypeT& x, const genTypeU& a,
+
89  const genTypeT& y, const genTypeU& b,
+
90  const genTypeT& z, const genTypeU& c);
+
91 
+
94  template<typename genTypeT, typename genTypeU>
+
95  genTypeU associatedMax(
+
96  const genTypeT& x, const genTypeU& a,
+
97  const genTypeT& y, const genTypeU& b,
+
98  const genTypeT& z, const genTypeU& c,
+
99  const genTypeT& w, const genTypeU& d);
+
100 
+
102 } //namespace glm
+
103 
+
104 #include "associated_min_max.inl"
+
105 
+
106 #endif//GLM_GTX_associated_min_max
+
genTypeU associatedMax(const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
Max comparison between 2 variables.
+
genTypeU associatedMin(const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
Min comparison between 2 variables.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00012.html glm-0.9.5.1/doc/api/a00012.html --- glm-0.9.4.6/doc/api/a00012.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00012.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,87 +1,162 @@ - - - - - -color_space_YCoCg.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
color_space_YCoCg.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tvec3< valType > rgb2YCoCg (detail::tvec3< valType > const &rgbColor)
 
template<typename valType >
detail::tvec3< valType > rgb2YCoCgR (detail::tvec3< valType > const &rgbColor)
 
template<typename valType >
detail::tvec3< valType > YCoCg2rgb (detail::tvec3< valType > const &YCoCgColor)
 
template<typename valType >
detail::tvec3< valType > YCoCgR2rgb (detail::tvec3< valType > const &YCoCgColor)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_color_space_YCoCg

-
Date
2008-10-28 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file color_space_YCoCg.hpp.

-
- - - - + + + + + + +GLM: bit.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
bit.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

GLM_FUNC_DECL int16 bitfieldInterleave (int8 x, int8 y)
 
GLM_FUNC_DECL uint16 bitfieldInterleave (uint8 x, uint8 y)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int16 x, int16 y)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y, int32 z)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)
 
template<typename genType >
GLM_DEPRECATED GLM_FUNC_DECL
+genType 
bitRevert (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType bitRotateLeft (genType const &In, std::size_t Shift)
 
template<typename genType >
GLM_FUNC_DECL genType bitRotateRight (genType const &In, std::size_t Shift)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType fillBitfieldWithOne (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType fillBitfieldWithZero (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genType >
GLM_FUNC_DECL genType highestBitValue (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL bool isPowerOfTwo (genType const &value)
 
template<typename genIType >
GLM_FUNC_DECL genIType mask (genIType const &count)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoAbove (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoBelow (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoNearest (genType const &value)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_bit

+
Date
2007-03-14 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_bit

+
Date
2005-12-30 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file bit.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00012_source.html glm-0.9.5.1/doc/api/a00012_source.html --- glm-0.9.4.6/doc/api/a00012_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00012_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,127 +1,174 @@ - - - - - -color_space_YCoCg.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
color_space_YCoCg.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef glm_gtx_color_space_YCoCg
-
39 #define glm_gtx_color_space_YCoCg GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_color_space_YCoCg extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename valType>
-
56  detail::tvec3<valType> rgb2YCoCg(
-
57  detail::tvec3<valType> const & rgbColor);
-
58 
-
61  template <typename valType>
-
62  detail::tvec3<valType> YCoCg2rgb(
-
63  detail::tvec3<valType> const & YCoCgColor);
-
64 
-
68  template <typename valType>
-
69  detail::tvec3<valType> rgb2YCoCgR(
-
70  detail::tvec3<valType> const & rgbColor);
-
71 
-
75  template <typename valType>
-
76  detail::tvec3<valType> YCoCgR2rgb(
-
77  detail::tvec3<valType> const & YCoCgColor);
-
78 
-
80 }//namespace glm
-
81 
-
82 #include "color_space_YCoCg.inl"
-
83 
-
84 #endif//glm_gtx_color_space_YCoCg
-
- - - - + + + + + + +GLM: bit.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
bit.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_bit
+
40 #define GLM_GTX_bit
+
41 
+
42 // Dependencies
+
43 #include "../detail/type_int.hpp"
+
44 #include "../detail/setup.hpp"
+
45 #include <cstddef>
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_bit extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template <typename genIType>
+
59  GLM_FUNC_DECL genIType mask(genIType const & count);
+
60 
+
63  template <typename genType>
+
64  GLM_FUNC_DECL genType highestBitValue(genType const & value);
+
65 
+
68  template <typename genType>
+
69  GLM_FUNC_DECL bool isPowerOfTwo(genType const & value);
+
70 
+
73  template <typename genType>
+
74  GLM_FUNC_DECL genType powerOfTwoAbove(genType const & value);
+
75 
+
78  template <typename genType>
+
79  GLM_FUNC_DECL genType powerOfTwoBelow(genType const & value);
+
80 
+
83  template <typename genType>
+
84  GLM_FUNC_DECL genType powerOfTwoNearest(genType const & value);
+
85 
+
88  template <typename genType>
+
89  GLM_DEPRECATED GLM_FUNC_DECL genType bitRevert(genType const & value);
+
90 
+
93  template <typename genType>
+
94  GLM_FUNC_DECL genType bitRotateRight(genType const & In, std::size_t Shift);
+
95 
+
98  template <typename genType>
+
99  GLM_FUNC_DECL genType bitRotateLeft(genType const & In, std::size_t Shift);
+
100 
+
103  template <typename genIUType>
+
104  GLM_FUNC_DECL genIUType fillBitfieldWithOne(
+
105  genIUType const & Value,
+
106  int const & FromBit,
+
107  int const & ToBit);
+
108 
+
111  template <typename genIUType>
+
112  GLM_FUNC_DECL genIUType fillBitfieldWithZero(
+
113  genIUType const & Value,
+
114  int const & FromBit,
+
115  int const & ToBit);
+
116 
+
122  GLM_FUNC_DECL int16 bitfieldInterleave(int8 x, int8 y);
+
123 
+
129  GLM_FUNC_DECL uint16 bitfieldInterleave(uint8 x, uint8 y);
+
130 
+
136  GLM_FUNC_DECL int32 bitfieldInterleave(int16 x, int16 y);
+
137 
+
143  GLM_FUNC_DECL uint32 bitfieldInterleave(uint16 x, uint16 y);
+
144 
+
150  GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y);
+
151 
+
157  GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y);
+
158 
+
164  GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z);
+
165 
+
171  GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z);
+
172 
+
178  GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z);
+
179 
+
185  GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z);
+
186 
+
192  GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y, int32 z);
+
193 
+
199  GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z);
+
200 
+
206  GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w);
+
207 
+
213  GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w);
+
214 
+
220  GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w);
+
221 
+
227  GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w);
+
228 
+
230 } //namespace glm
+
231 
+
232 #include "bit.inl"
+
233 
+
234 #endif//GLM_GTX_bit
+
GLM_FUNC_DECL genType highestBitValue(genType const &value)
Find the highest bit set to 1 in a integer variable and return its value.
+
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:89
+
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:96
+
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:90
+
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:92
+
GLM_FUNC_DECL genType powerOfTwoNearest(genType const &value)
Return the power of two number which value is the closet to the input value.
+
GLM_FUNC_DECL genType bitRotateLeft(genType const &In, std::size_t Shift)
Rotate all bits to the left.
+
GLM_FUNC_DECL genIType mask(genIType const &count)
Build a mask of &#39;count&#39; bits.
+
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:97
+
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:91
+
GLM_FUNC_DECL genIUType fillBitfieldWithOne(genIUType const &Value, int const &FromBit, int const &ToBit)
Set to 1 a range of bits.
+
GLM_FUNC_DECL genType bitRotateRight(genType const &In, std::size_t Shift)
Rotate all bits to the right.
+
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:94
+
GLM_FUNC_DECL bool isPowerOfTwo(genType const &value)
Return true if the value is a power of two number.
+
GLM_DEPRECATED GLM_FUNC_DECL genType bitRevert(genType const &value)
Revert all bits of any integer based type.
+
GLM_FUNC_DECL genType powerOfTwoBelow(genType const &value)
Return the power of two number which value is just lower the input value.
+
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:95
+
GLM_FUNC_DECL genIUType fillBitfieldWithZero(genIUType const &Value, int const &FromBit, int const &ToBit)
Set to 0 a range of bits.
+
GLM_FUNC_DECL int16 bitfieldInterleave(int8 x, int8 y)
Interleaves the bits of x and y.
+
GLM_FUNC_DECL genType powerOfTwoAbove(genType const &value)
Return the power of two number which value is just higher the input value.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00013.html glm-0.9.5.1/doc/api/a00013.html --- glm-0.9.4.6/doc/api/a00013.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00013.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,394 +0,0 @@ - - - - - -compatibility.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
compatibility.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

-typedef bool bool1
 
-typedef bool bool1x1
 
-typedef detail::tvec2< bool > bool2
 
-typedef detail::tmat2x2< bool > bool2x2
 
-typedef detail::tmat2x3< bool > bool2x3
 
-typedef detail::tmat2x4< bool > bool2x4
 
-typedef detail::tvec3< bool > bool3
 
-typedef detail::tmat3x2< bool > bool3x2
 
-typedef detail::tmat3x3< bool > bool3x3
 
-typedef detail::tmat3x4< bool > bool3x4
 
-typedef detail::tvec4< bool > bool4
 
-typedef detail::tmat4x2< bool > bool4x2
 
-typedef detail::tmat4x3< bool > bool4x3
 
-typedef detail::tmat4x4< bool > bool4x4
 
-typedef double double1
 
-typedef double double1x1
 
-typedef detail::tvec2< double > double2
 
-typedef detail::tmat2x2< double > double2x2
 
-typedef detail::tmat2x3< double > double2x3
 
-typedef detail::tmat2x4< double > double2x4
 
-typedef detail::tvec3< double > double3
 
-typedef detail::tmat3x2< double > double3x2
 
-typedef detail::tmat3x3< double > double3x3
 
-typedef detail::tmat3x4< double > double3x4
 
-typedef detail::tvec4< double > double4
 
-typedef detail::tmat4x2< double > double4x2
 
-typedef detail::tmat4x3< double > double4x3
 
-typedef detail::tmat4x4< double > double4x4
 
-typedef float float1
 
-typedef float float1x1
 
-typedef detail::tvec2< float > float2
 
-typedef detail::tmat2x2< float > float2x2
 
-typedef detail::tmat2x3< float > float2x3
 
-typedef detail::tmat2x4< float > float2x4
 
-typedef detail::tvec3< float > float3
 
-typedef detail::tmat3x2< float > float3x2
 
-typedef detail::tmat3x3< float > float3x3
 
-typedef detail::tmat3x4< float > float3x4
 
-typedef detail::tvec4< float > float4
 
-typedef detail::tmat4x2< float > float4x2
 
-typedef detail::tmat4x3< float > float4x3
 
-typedef detail::tmat4x4< float > float4x4
 
-typedef detail::half half1
 
-typedef detail::half half1x1
 
-typedef detail::tvec2
-< detail::half > 
half2
 
-typedef detail::tmat2x2
-< detail::half > 
half2x2
 
-typedef detail::tmat2x3
-< detail::half > 
half2x3
 
-typedef detail::tmat2x4
-< detail::half > 
half2x4
 
-typedef detail::tvec3
-< detail::half > 
half3
 
-typedef detail::tmat3x2
-< detail::half > 
half3x2
 
-typedef detail::tmat3x3
-< detail::half > 
half3x3
 
-typedef detail::tmat3x4
-< detail::half > 
half3x4
 
-typedef detail::tvec4
-< detail::half > 
half4
 
-typedef detail::tmat4x2
-< detail::half > 
half4x2
 
-typedef detail::tmat4x3
-< detail::half > 
half4x3
 
-typedef detail::tmat4x4
-< detail::half > 
half4x4
 
-typedef int int1
 
-typedef int int1x1
 
-typedef detail::tvec2< int > int2
 
-typedef detail::tmat2x2< int > int2x2
 
-typedef detail::tmat2x3< int > int2x3
 
-typedef detail::tmat2x4< int > int2x4
 
-typedef detail::tvec3< int > int3
 
-typedef detail::tmat3x2< int > int3x2
 
-typedef detail::tmat3x3< int > int3x3
 
-typedef detail::tmat3x4< int > int3x4
 
-typedef detail::tvec4< int > int4
 
-typedef detail::tmat4x2< int > int4x2
 
-typedef detail::tmat4x3< int > int4x3
 
-typedef detail::tmat4x4< int > int4x4
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

-template<typename T >
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec2< T > 
atan2 (const detail::tvec2< T > &x, const detail::tvec2< T > &y)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec3< T > 
atan2 (const detail::tvec3< T > &x, const detail::tvec3< T > &y)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec4< T > 
atan2 (const detail::tvec4< T > &x, const detail::tvec4< T > &y)
 
-template<typename genType >
bool isfinite (genType const &x)
 
-template<typename valType >
detail::tvec2< bool > isfinite (const detail::tvec2< valType > &x)
 
-template<typename valType >
detail::tvec3< bool > isfinite (const detail::tvec3< valType > &x)
 
-template<typename valType >
detail::tvec4< bool > isfinite (const detail::tvec4< valType > &x)
 
-template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec2< T > 
lerp (const detail::tvec2< T > &x, const detail::tvec2< T > &y, T a)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec3< T > 
lerp (const detail::tvec3< T > &x, const detail::tvec3< T > &y, T a)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec4< T > 
lerp (const detail::tvec4< T > &x, const detail::tvec4< T > &y, T a)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec2< T > 
lerp (const detail::tvec2< T > &x, const detail::tvec2< T > &y, const detail::tvec2< T > &a)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec3< T > 
lerp (const detail::tvec3< T > &x, const detail::tvec3< T > &y, const detail::tvec3< T > &a)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec4< T > 
lerp (const detail::tvec4< T > &x, const detail::tvec4< T > &y, const detail::tvec4< T > &a)
 
-template<typename T >
GLM_FUNC_QUALIFIER T saturate (T x)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec2< T > 
saturate (const detail::tvec2< T > &x)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec3< T > 
saturate (const detail::tvec3< T > &x)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec4< T > 
saturate (const detail::tvec4< T > &x)
 
template<typename T >
detail::tquat< T > slerp (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_compatibility

-
Date
2007-01-24 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_half_float (dependence)
- -

Definition in file compatibility.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00013_source.html glm-0.9.5.1/doc/api/a00013_source.html --- glm-0.9.4.6/doc/api/a00013_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00013_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,229 +1,88 @@ - - - - - -compatibility.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
compatibility.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_compatibility
-
40 #define GLM_GTX_compatibility GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtc/half_float.hpp"
-
45 #include "../gtc/quaternion.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
48 # pragma message("GLM: GLM_GTX_compatibility extension included")
-
49 #endif
-
50 
-
51 #if(GLM_COMPILER & GLM_COMPILER_VC)
-
52 # include <cfloat>
-
53 #elif(GLM_COMPILER & GLM_COMPILER_GCC)
-
54 # include <cmath>
-
55 # if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
-
56 # undef isfinite
-
57 # endif
-
58 #endif//GLM_COMPILER
-
59 
-
60 namespace glm
-
61 {
-
64 
-
65  template <typename T> GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){return mix(x, y, a);}
-
66  template <typename T> GLM_FUNC_QUALIFIER detail::tvec2<T> lerp(const detail::tvec2<T>& x, const detail::tvec2<T>& y, T a){return mix(x, y, a);}
-
67  template <typename T> GLM_FUNC_QUALIFIER detail::tvec3<T> lerp(const detail::tvec3<T>& x, const detail::tvec3<T>& y, T a){return mix(x, y, a);}
-
68  template <typename T> GLM_FUNC_QUALIFIER detail::tvec4<T> lerp(const detail::tvec4<T>& x, const detail::tvec4<T>& y, T a){return mix(x, y, a);}
-
69  template <typename T> GLM_FUNC_QUALIFIER detail::tvec2<T> lerp(const detail::tvec2<T>& x, const detail::tvec2<T>& y, const detail::tvec2<T>& a){return mix(x, y, a);}
-
70  template <typename T> GLM_FUNC_QUALIFIER detail::tvec3<T> lerp(const detail::tvec3<T>& x, const detail::tvec3<T>& y, const detail::tvec3<T>& a){return mix(x, y, a);}
-
71  template <typename T> GLM_FUNC_QUALIFIER detail::tvec4<T> lerp(const detail::tvec4<T>& x, const detail::tvec4<T>& y, const detail::tvec4<T>& a){return mix(x, y, a);}
-
72 
-
73  template <typename T> GLM_FUNC_QUALIFIER T slerp(detail::tquat<T> const & x, detail::tquat<T> const & y, T const & a){return mix(x, y, a);}
-
74 
-
75  template <typename T> GLM_FUNC_QUALIFIER T saturate(T x){return clamp(x, T(0), T(1));}
-
76  template <typename T> GLM_FUNC_QUALIFIER detail::tvec2<T> saturate(const detail::tvec2<T>& x){return clamp(x, T(0), T(1));}
-
77  template <typename T> GLM_FUNC_QUALIFIER detail::tvec3<T> saturate(const detail::tvec3<T>& x){return clamp(x, T(0), T(1));}
-
78  template <typename T> GLM_FUNC_QUALIFIER detail::tvec4<T> saturate(const detail::tvec4<T>& x){return clamp(x, T(0), T(1));}
-
79 
-
80  template <typename T> GLM_FUNC_QUALIFIER T atan2(T x, T y){return atan(x, y);}
-
81  template <typename T> GLM_FUNC_QUALIFIER detail::tvec2<T> atan2(const detail::tvec2<T>& x, const detail::tvec2<T>& y){return atan(x, y);}
-
82  template <typename T> GLM_FUNC_QUALIFIER detail::tvec3<T> atan2(const detail::tvec3<T>& x, const detail::tvec3<T>& y){return atan(x, y);}
-
83  template <typename T> GLM_FUNC_QUALIFIER detail::tvec4<T> atan2(const detail::tvec4<T>& x, const detail::tvec4<T>& y){return atan(x, y);}
-
84 
-
85  template <typename genType> bool isfinite(genType const & x);
-
86  template <typename valType> detail::tvec2<bool> isfinite(const detail::tvec2<valType>& x);
-
87  template <typename valType> detail::tvec3<bool> isfinite(const detail::tvec3<valType>& x);
-
88  template <typename valType> detail::tvec4<bool> isfinite(const detail::tvec4<valType>& x);
-
89 
-
90  typedef bool bool1;
-
91  typedef detail::tvec2<bool> bool2;
-
92  typedef detail::tvec3<bool> bool3;
-
93  typedef detail::tvec4<bool> bool4;
-
94 
-
95  typedef bool bool1x1;
-
96  typedef detail::tmat2x2<bool> bool2x2;
-
97  typedef detail::tmat2x3<bool> bool2x3;
-
98  typedef detail::tmat2x4<bool> bool2x4;
-
99  typedef detail::tmat3x2<bool> bool3x2;
-
100  typedef detail::tmat3x3<bool> bool3x3;
-
101  typedef detail::tmat3x4<bool> bool3x4;
-
102  typedef detail::tmat4x2<bool> bool4x2;
-
103  typedef detail::tmat4x3<bool> bool4x3;
-
104  typedef detail::tmat4x4<bool> bool4x4;
-
105 
-
106  typedef int int1;
-
107  typedef detail::tvec2<int> int2;
-
108  typedef detail::tvec3<int> int3;
-
109  typedef detail::tvec4<int> int4;
-
110 
-
111  typedef int int1x1;
-
112  typedef detail::tmat2x2<int> int2x2;
-
113  typedef detail::tmat2x3<int> int2x3;
-
114  typedef detail::tmat2x4<int> int2x4;
-
115  typedef detail::tmat3x2<int> int3x2;
-
116  typedef detail::tmat3x3<int> int3x3;
-
117  typedef detail::tmat3x4<int> int3x4;
-
118  typedef detail::tmat4x2<int> int4x2;
-
119  typedef detail::tmat4x3<int> int4x3;
-
120  typedef detail::tmat4x4<int> int4x4;
-
121 
-
122  typedef detail::half half1;
-
123  typedef detail::tvec2<detail::half> half2;
-
124  typedef detail::tvec3<detail::half> half3;
-
125  typedef detail::tvec4<detail::half> half4;
-
126 
- -
128  typedef detail::tmat2x2<detail::half> half2x2;
-
129  typedef detail::tmat2x3<detail::half> half2x3;
-
130  typedef detail::tmat2x4<detail::half> half2x4;
-
131  typedef detail::tmat3x2<detail::half> half3x2;
-
132  typedef detail::tmat3x3<detail::half> half3x3;
-
133  typedef detail::tmat3x4<detail::half> half3x4;
-
134  typedef detail::tmat4x2<detail::half> half4x2;
-
135  typedef detail::tmat4x3<detail::half> half4x3;
-
136  typedef detail::tmat4x4<detail::half> half4x4;
-
137 
-
138  typedef float float1;
-
139  typedef detail::tvec2<float> float2;
-
140  typedef detail::tvec3<float> float3;
-
141  typedef detail::tvec4<float> float4;
-
142 
-
143  typedef float float1x1;
-
144  typedef detail::tmat2x2<float> float2x2;
-
145  typedef detail::tmat2x3<float> float2x3;
-
146  typedef detail::tmat2x4<float> float2x4;
-
147  typedef detail::tmat3x2<float> float3x2;
-
148  typedef detail::tmat3x3<float> float3x3;
-
149  typedef detail::tmat3x4<float> float3x4;
-
150  typedef detail::tmat4x2<float> float4x2;
-
151  typedef detail::tmat4x3<float> float4x3;
-
152  typedef detail::tmat4x4<float> float4x4;
-
153 
-
154  typedef double double1;
-
155  typedef detail::tvec2<double> double2;
-
156  typedef detail::tvec3<double> double3;
-
157  typedef detail::tvec4<double> double4;
-
158 
-
159  typedef double double1x1;
-
160  typedef detail::tmat2x2<double> double2x2;
-
161  typedef detail::tmat2x3<double> double2x3;
-
162  typedef detail::tmat2x4<double> double2x4;
-
163  typedef detail::tmat3x2<double> double3x2;
-
164  typedef detail::tmat3x3<double> double3x3;
-
165  typedef detail::tmat3x4<double> double3x4;
-
166  typedef detail::tmat4x2<double> double4x2;
-
167  typedef detail::tmat4x3<double> double4x3;
-
168  typedef detail::tmat4x4<double> double4x4;
-
169 
-
171 }//namespace glm
-
172 
-
173 #include "compatibility.inl"
-
174 
-
175 #endif//GLM_GTX_compatibility
-
176 
-
- - - - + + + + + + +GLM: closest_point.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
closest_point.hpp
+
+
+
1 
+
38 #ifndef GLM_GTX_closest_point
+
39 #define GLM_GTX_closest_point
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_closest_point extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T, precision P>
+
56  detail::tvec3<T, P> closestPointOnLine(
+
57  detail::tvec3<T, P> const & point,
+
58  detail::tvec3<T, P> const & a,
+
59  detail::tvec3<T, P> const & b);
+
60 
+
62 }// namespace glm
+
63 
+
64 #include "closest_point.inl"
+
65 
+
66 #endif//GLM_GTX_closest_point
+
detail::tvec3< T, P > closestPointOnLine(detail::tvec3< T, P > const &point, detail::tvec3< T, P > const &a, detail::tvec3< T, P > const &b)
Find the point on a straight line which is the closet of a point.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00014.html glm-0.9.5.1/doc/api/a00014.html --- glm-0.9.4.6/doc/api/a00014.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00014.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,87 +1,105 @@ - - - - - -component_wise.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
component_wise.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType::value_type compAdd (genType const &v)
 
template<typename genType >
genType::value_type compMax (genType const &v)
 
template<typename genType >
genType::value_type compMin (genType const &v)
 
template<typename genType >
genType::value_type compMul (genType const &v)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_component_wise

-
Date
2007-05-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file component_wise.hpp.

-
- - - - + + + + + + +GLM: color_space.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
color_space.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tvec3< T, P > hsvColor (detail::tvec3< T, P > const &rgbValue)
 
template<typename T , precision P>
luminosity (detail::tvec3< T, P > const &color)
 
template<typename T , precision P>
detail::tvec3< T, P > rgbColor (detail::tvec3< T, P > const &hsvValue)
 
template<typename T , precision P>
detail::tmat4x4< T, P > saturation (T const s)
 
template<typename T , precision P>
detail::tvec3< T, P > saturation (T const s, detail::tvec3< T, P > const &color)
 
template<typename T , precision P>
detail::tvec4< T, P > saturation (T const s, detail::tvec4< T, P > const &color)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_color_space

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file color_space.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00014_source.html glm-0.9.5.1/doc/api/a00014_source.html --- glm-0.9.4.6/doc/api/a00014_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00014_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,127 +1,111 @@ - - - - - -component_wise.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
component_wise.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_component_wise
-
39 #define GLM_GTX_component_wise GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_component_wise extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename genType>
-
56  typename genType::value_type compAdd(
-
57  genType const & v);
-
58 
-
61  template <typename genType>
-
62  typename genType::value_type compMul(
-
63  genType const & v);
-
64 
-
67  template <typename genType>
-
68  typename genType::value_type compMin(
-
69  genType const & v);
-
70 
-
73  template <typename genType>
-
74  typename genType::value_type compMax(
-
75  genType const & v);
-
76 
-
78 }//namespace glm
-
79 
-
80 #include "component_wise.inl"
-
81 
-
82 #endif//GLM_GTX_component_wise
-
- - - - + + + + + + +GLM: color_space.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
color_space.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_color_space
+
39 #define GLM_GTX_color_space
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_color_space extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T, precision P>
+
56  detail::tvec3<T, P> rgbColor(
+
57  detail::tvec3<T, P> const & hsvValue);
+
58 
+
61  template <typename T, precision P>
+
62  detail::tvec3<T, P> hsvColor(
+
63  detail::tvec3<T, P> const & rgbValue);
+
64 
+
67  template <typename T, precision P>
+
68  detail::tmat4x4<T, P> saturation(
+
69  T const s);
+
70 
+
73  template <typename T, precision P>
+
74  detail::tvec3<T, P> saturation(
+
75  T const s,
+
76  detail::tvec3<T, P> const & color);
+
77 
+
80  template <typename T, precision P>
+
81  detail::tvec4<T, P> saturation(
+
82  T const s,
+
83  detail::tvec4<T, P> const & color);
+
84 
+
87  template <typename T, precision P>
+
88  T luminosity(
+
89  detail::tvec3<T, P> const & color);
+
90 
+
92 }//namespace glm
+
93 
+
94 #include "color_space.inl"
+
95 
+
96 #endif//GLM_GTX_color_space
+
detail::tvec3< T, P > hsvColor(detail::tvec3< T, P > const &rgbValue)
Converts a color from RGB color space to its color in HSV color space.
+
detail::tmat4x4< T, P > saturation(T const s)
Build a saturation matrix.
+
detail::tvec3< T, P > rgbColor(detail::tvec3< T, P > const &hsvValue)
Converts a color from HSV color space to its color in RGB color space.
+
T luminosity(detail::tvec3< T, P > const &color)
Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00015.html glm-0.9.5.1/doc/api/a00015.html --- glm-0.9.4.6/doc/api/a00015.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00015.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,152 +1,99 @@ - - - - - -constants.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
gtc/constants.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType e ()
 
template<typename genType >
genType epsilon ()
 
template<typename genType >
genType euler ()
 
template<typename genType >
genType golden_ratio ()
 
template<typename genType >
genType half_pi ()
 
template<typename genType >
genType ln_ln_two ()
 
template<typename genType >
genType ln_ten ()
 
template<typename genType >
genType ln_two ()
 
template<typename genType >
genType one ()
 
template<typename genType >
genType one_over_pi ()
 
template<typename genType >
genType one_over_root_two ()
 
template<typename genType >
genType pi ()
 
template<typename genType >
genType quarter_pi ()
 
template<typename genType >
genType root_five ()
 
template<typename genType >
genType root_half_pi ()
 
template<typename genType >
genType root_ln_four ()
 
template<typename genType >
genType root_pi ()
 
template<typename genType >
genType root_three ()
 
template<typename genType >
genType root_two ()
 
template<typename genType >
genType root_two_pi ()
 
template<typename genType >
genType third ()
 
template<typename genType >
genType two_over_pi ()
 
template<typename genType >
genType two_over_root_pi ()
 
template<typename genType >
genType two_thirds ()
 
template<typename genType >
genType zero ()
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_constants

-
Date
2011-09-30 / 2012-01-25
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_half_float (dependence)
- -

Definition in file gtc/constants.hpp.

-
- - - - + + + + + + +GLM: color_space_YCoCg.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
color_space_YCoCg.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tvec3< T, P > rgb2YCoCg (detail::tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
detail::tvec3< T, P > rgb2YCoCgR (detail::tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
detail::tvec3< T, P > YCoCg2rgb (detail::tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
detail::tvec3< T, P > YCoCgR2rgb (detail::tvec3< T, P > const &YCoCgColor)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_color_space_YCoCg

+
Date
2008-10-28 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file color_space_YCoCg.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00015_source.html glm-0.9.5.1/doc/api/a00015_source.html --- glm-0.9.4.6/doc/api/a00015_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00015_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,188 +1,102 @@ - - - - - -constants.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtc/constants.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTC_constants
-
40 #define GLM_GTC_constants GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtc/half_float.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTC_constants extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
58  template <typename genType>
-
59  genType epsilon();
-
60 
-
63  template <typename genType>
-
64  genType zero();
-
65 
-
68  template <typename genType>
-
69  genType one();
-
70 
-
73  template <typename genType>
-
74  genType pi();
-
75 
-
78  template <typename genType>
-
79  genType root_pi();
-
80 
-
83  template <typename genType>
-
84  genType half_pi();
-
85 
-
88  template <typename genType>
-
89  genType quarter_pi();
-
90 
-
93  template <typename genType>
-
94  genType one_over_pi();
-
95 
-
98  template <typename genType>
-
99  genType two_over_pi();
-
100 
-
103  template <typename genType>
-
104  genType two_over_root_pi();
-
105 
-
108  template <typename genType>
-
109  genType one_over_root_two();
-
110 
-
113  template <typename genType>
-
114  genType root_half_pi();
-
115 
-
118  template <typename genType>
-
119  genType root_two_pi();
-
120 
-
123  template <typename genType>
-
124  genType root_ln_four();
-
125 
-
128  template <typename genType>
-
129  genType e();
-
130 
-
133  template <typename genType>
-
134  genType euler();
-
135 
-
138  template <typename genType>
-
139  genType root_two();
-
140 
-
143  template <typename genType>
-
144  genType root_three();
-
145 
-
148  template <typename genType>
-
149  genType root_five();
-
150 
-
153  template <typename genType>
-
154  genType ln_two();
-
155 
-
158  template <typename genType>
-
159  genType ln_ten();
-
160 
-
163  template <typename genType>
-
164  genType ln_ln_two();
-
165 
-
168  template <typename genType>
-
169  genType third();
-
170 
-
173  template <typename genType>
-
174  genType two_thirds();
-
175 
-
178  template <typename genType>
-
179  genType golden_ratio();
-
180 
-
182 } //namespace glm
-
183 
-
184 #include "constants.inl"
-
185 
-
186 #endif//GLM_GTC_constants
-
- - - - + + + + + + +GLM: color_space_YCoCg.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
color_space_YCoCg.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef glm_gtx_color_space_YCoCg
+
39 #define glm_gtx_color_space_YCoCg
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_color_space_YCoCg extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T, precision P>
+
56  detail::tvec3<T, P> rgb2YCoCg(
+
57  detail::tvec3<T, P> const & rgbColor);
+
58 
+
61  template <typename T, precision P>
+
62  detail::tvec3<T, P> YCoCg2rgb(
+
63  detail::tvec3<T, P> const & YCoCgColor);
+
64 
+
68  template <typename T, precision P>
+
69  detail::tvec3<T, P> rgb2YCoCgR(
+
70  detail::tvec3<T, P> const & rgbColor);
+
71 
+
75  template <typename T, precision P>
+
76  detail::tvec3<T, P> YCoCgR2rgb(
+
77  detail::tvec3<T, P> const & YCoCgColor);
+
78 
+
80 }//namespace glm
+
81 
+
82 #include "color_space_YCoCg.inl"
+
83 
+
84 #endif//glm_gtx_color_space_YCoCg
+
detail::tvec3< T, P > YCoCgR2rgb(detail::tvec3< T, P > const &YCoCgColor)
Convert a color from YCoCgR color space to RGB color space.
+
detail::tvec3< T, P > rgb2YCoCgR(detail::tvec3< T, P > const &rgbColor)
Convert a color from RGB color space to YCoCgR color space.
+
detail::tvec3< T, P > YCoCg2rgb(detail::tvec3< T, P > const &YCoCgColor)
Convert a color from YCoCg color space to RGB color space.
+
detail::tvec3< T, P > rgbColor(detail::tvec3< T, P > const &hsvValue)
Converts a color from HSV color space to its color in RGB color space.
+
detail::tvec3< T, P > rgb2YCoCg(detail::tvec3< T, P > const &rgbColor)
Convert a color from RGB color space to YCoCg color space.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00016.html glm-0.9.5.1/doc/api/a00016.html --- glm-0.9.4.6/doc/api/a00016.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00016.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,74 @@ + + + + + + +GLM: common.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
common.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file common.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00016_source.html glm-0.9.5.1/doc/api/a00016_source.html --- glm-0.9.4.6/doc/api/a00016_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00016_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,89 +1,69 @@ - - - - - -constants.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtx/constants.hpp
-
-
-
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 #ifndef GLM_GTX_constants
-
25 #define GLM_GTX_constants GLM_VERSION
-
26 
-
27 #include "../gtc/constants.hpp"
-
28 
-
29 #if(defined(GLM_MESSAGES))
-
30 # pragma message("GLM: GLM_GTX_constants extension is deprecated, include GLM_GTC_constants (glm/gtc/constants.hpp) instead")
-
31 #endif
-
32 
-
33 #endif//GLM_GTX_constants
-
- - - - + + + + + + +GLM: common.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
common.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_COMMON_INCLUDED
+
30 #define GLM_COMMON_INCLUDED
+
31 
+
32 #include "detail/func_common.hpp"
+
33 
+
34 #endif//GLM_COMMON_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00017.html glm-0.9.5.1/doc/api/a00017.html --- glm-0.9.4.6/doc/api/a00017.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00017.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,91 +1,397 @@ - - - - - -epsilon.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
gtc/epsilon.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType::boolType epsilonEqual (genType const &x, genType const &y, typename genType::value_type const &epsilon)
 
template<typename genType >
genType::boolType epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
genType::boolType epsilonNotEqual (genType const &x, genType const &y, typename genType::value_type const &epsilon)
 
template<typename genType >
genType::boolType epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_epsilon

-
Date
2012-04-07 / 2012-04-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_half_float (dependence)
-
-GLM_GTC_quaternion (dependence)
- -

Definition in file gtc/epsilon.hpp.

-
- - - - + + + + + + +GLM: compatibility.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
compatibility.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

+typedef bool bool1
 
+typedef bool bool1x1
 
+typedef detail::tvec2< bool,
+highp > 
bool2
 
+typedef detail::tmat2x2< bool,
+highp > 
bool2x2
 
+typedef detail::tmat2x3< bool,
+highp > 
bool2x3
 
+typedef detail::tmat2x4< bool,
+highp > 
bool2x4
 
+typedef detail::tvec3< bool,
+highp > 
bool3
 
+typedef detail::tmat3x2< bool,
+highp > 
bool3x2
 
+typedef detail::tmat3x3< bool,
+highp > 
bool3x3
 
+typedef detail::tmat3x4< bool,
+highp > 
bool3x4
 
+typedef detail::tvec4< bool,
+highp > 
bool4
 
+typedef detail::tmat4x2< bool,
+highp > 
bool4x2
 
+typedef detail::tmat4x3< bool,
+highp > 
bool4x3
 
+typedef detail::tmat4x4< bool,
+highp > 
bool4x4
 
+typedef double double1
 
+typedef double double1x1
 
+typedef detail::tvec2< double,
+highp > 
double2
 
+typedef detail::tmat2x2
+< double, highp > 
double2x2
 
+typedef detail::tmat2x3
+< double, highp > 
double2x3
 
+typedef detail::tmat2x4
+< double, highp > 
double2x4
 
+typedef detail::tvec3< double,
+highp > 
double3
 
+typedef detail::tmat3x2
+< double, highp > 
double3x2
 
+typedef detail::tmat3x3
+< double, highp > 
double3x3
 
+typedef detail::tmat3x4
+< double, highp > 
double3x4
 
+typedef detail::tvec4< double,
+highp > 
double4
 
+typedef detail::tmat4x2
+< double, highp > 
double4x2
 
+typedef detail::tmat4x3
+< double, highp > 
double4x3
 
+typedef detail::tmat4x4
+< double, highp > 
double4x4
 
+typedef float float1
 
+typedef float float1x1
 
+typedef detail::tvec2< float,
+highp > 
float2
 
+typedef detail::tmat2x2< float,
+highp > 
float2x2
 
+typedef detail::tmat2x3< float,
+highp > 
float2x3
 
+typedef detail::tmat2x4< float,
+highp > 
float2x4
 
+typedef detail::tvec3< float,
+highp > 
float3
 
+typedef detail::tmat3x2< float,
+highp > 
float3x2
 
+typedef detail::tmat3x3< float,
+highp > 
float3x3
 
+typedef detail::tmat3x4< float,
+highp > 
float3x4
 
+typedef detail::tvec4< float,
+highp > 
float4
 
+typedef detail::tmat4x2< float,
+highp > 
float4x2
 
+typedef detail::tmat4x3< float,
+highp > 
float4x3
 
+typedef detail::tmat4x4< float,
+highp > 
float4x4
 
+typedef int int1
 
+typedef int int1x1
 
+typedef detail::tvec2< int, highp > int2
 
+typedef detail::tmat2x2< int,
+highp > 
int2x2
 
+typedef detail::tmat2x3< int,
+highp > 
int2x3
 
+typedef detail::tmat2x4< int,
+highp > 
int2x4
 
+typedef detail::tvec3< int, highp > int3
 
+typedef detail::tmat3x2< int,
+highp > 
int3x2
 
+typedef detail::tmat3x3< int,
+highp > 
int3x3
 
+typedef detail::tmat3x4< int,
+highp > 
int3x4
 
+typedef detail::tvec4< int, highp > int4
 
+typedef detail::tmat4x2< int,
+highp > 
int4x2
 
+typedef detail::tmat4x3< int,
+highp > 
int4x3
 
+typedef detail::tmat4x4< int,
+highp > 
int4x4
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+template<typename T , precision P>
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec2< T, P > 
atan2 (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec3< T, P > 
atan2 (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec4< T, P > 
atan2 (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y)
 
+template<typename genType >
bool isfinite (genType const &x)
 
+template<typename T , precision P>
detail::tvec2< bool, P > isfinite (const detail::tvec2< T, P > &x)
 
+template<typename T , precision P>
detail::tvec3< bool, P > isfinite (const detail::tvec3< T, P > &x)
 
+template<typename T , precision P>
detail::tvec4< bool, P > isfinite (const detail::tvec4< T, P > &x)
 
+template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec2< T, P > 
lerp (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec3< T, P > 
lerp (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec4< T, P > 
lerp (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec2< T, P > 
lerp (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y, const detail::tvec2< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec3< T, P > 
lerp (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y, const detail::tvec3< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec4< T, P > 
lerp (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y, const detail::tvec4< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER T saturate (T x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec2< T, P > 
saturate (const detail::tvec2< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec3< T, P > 
saturate (const detail::tvec3< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec4< T, P > 
saturate (const detail::tvec4< T, P > &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_compatibility

+
Date
2007-01-24 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+ +

Definition in file compatibility.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00017_source.html glm-0.9.5.1/doc/api/a00017_source.html --- glm-0.9.4.6/doc/api/a00017_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00017_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,139 +1,246 @@ - - - - - -epsilon.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtc/epsilon.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 #ifndef GLM_GTC_epsilon
-
41 #define GLM_GTC_epsilon GLM_VERSION
-
42 
-
43 // Dependency:
-
44 #include "../glm.hpp"
-
45 #include "../gtc/half_float.hpp"
-
46 #include "../gtc/quaternion.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
49 # pragma message("GLM: GLM_GTC_epsilon extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
59  template <typename genType>
-
60  typename genType::boolType epsilonEqual(
-
61  genType const & x,
-
62  genType const & y,
-
63  typename genType::value_type const & epsilon);
-
64 
-
67  template <typename genType>
-
68  typename genType::boolType epsilonEqual(
-
69  genType const & x,
-
70  genType const & y,
-
71  genType const & epsilon);
-
72 
-
75  template <typename genType>
-
76  typename genType::boolType epsilonNotEqual(
-
77  genType const & x,
-
78  genType const & y,
-
79  typename genType::value_type const & epsilon);
-
80 
-
83  template <typename genType>
-
84  typename genType::boolType epsilonNotEqual(
-
85  genType const & x,
-
86  genType const & y,
-
87  genType const & epsilon);
-
88 
-
90 }//namespace glm
-
91 
-
92 #include "epsilon.inl"
-
93 
-
94 #endif//GLM_GTC_epsilon
-
- - - - + + + + + + +GLM: compatibility.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
compatibility.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_compatibility
+
40 #define GLM_GTX_compatibility
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 #include "../gtc/quaternion.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_compatibility extension included")
+
48 #endif
+
49 
+
50 #if(GLM_COMPILER & GLM_COMPILER_VC)
+
51 # include <cfloat>
+
52 #elif(GLM_COMPILER & GLM_COMPILER_GCC)
+
53 # include <cmath>
+
54 # if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
+
55 # undef isfinite
+
56 # endif
+
57 #endif//GLM_COMPILER
+
58 
+
59 namespace glm
+
60 {
+
63 
+
64  template <typename T> GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){return mix(x, y, a);}
+
65  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec2<T, P> lerp(const detail::tvec2<T, P>& x, const detail::tvec2<T, P>& y, T a){return mix(x, y, a);}
+
66 
+
67  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec3<T, P> lerp(const detail::tvec3<T, P>& x, const detail::tvec3<T, P>& y, T a){return mix(x, y, a);}
+
68  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec4<T, P> lerp(const detail::tvec4<T, P>& x, const detail::tvec4<T, P>& y, T a){return mix(x, y, a);}
+
69  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec2<T, P> lerp(const detail::tvec2<T, P>& x, const detail::tvec2<T, P>& y, const detail::tvec2<T, P>& a){return mix(x, y, a);}
+
70  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec3<T, P> lerp(const detail::tvec3<T, P>& x, const detail::tvec3<T, P>& y, const detail::tvec3<T, P>& a){return mix(x, y, a);}
+
71  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec4<T, P> lerp(const detail::tvec4<T, P>& x, const detail::tvec4<T, P>& y, const detail::tvec4<T, P>& a){return mix(x, y, a);}
+
72 
+
73  template <typename T, precision P> GLM_FUNC_QUALIFIER T slerp(detail::tquat<T, P> const & x, detail::tquat<T, P> const & y, T const & a){return mix(x, y, a);}
+
74 
+
75  template <typename T, precision P> GLM_FUNC_QUALIFIER T saturate(T x){return clamp(x, T(0), T(1));}
+
76  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec2<T, P> saturate(const detail::tvec2<T, P>& x){return clamp(x, T(0), T(1));}
+
77  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec3<T, P> saturate(const detail::tvec3<T, P>& x){return clamp(x, T(0), T(1));}
+
78  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec4<T, P> saturate(const detail::tvec4<T, P>& x){return clamp(x, T(0), T(1));}
+
79 
+
80  template <typename T, precision P> GLM_FUNC_QUALIFIER T atan2(T x, T y){return atan(x, y);}
+
81  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec2<T, P> atan2(const detail::tvec2<T, P>& x, const detail::tvec2<T, P>& y){return atan(x, y);}
+
82  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec3<T, P> atan2(const detail::tvec3<T, P>& x, const detail::tvec3<T, P>& y){return atan(x, y);}
+
83  template <typename T, precision P> GLM_FUNC_QUALIFIER detail::tvec4<T, P> atan2(const detail::tvec4<T, P>& x, const detail::tvec4<T, P>& y){return atan(x, y);}
+
84 
+
85  template <typename genType> bool isfinite(genType const & x);
+
86  template <typename T, precision P> detail::tvec2<bool, P> isfinite(const detail::tvec2<T, P>& x);
+
87  template <typename T, precision P> detail::tvec3<bool, P> isfinite(const detail::tvec3<T, P>& x);
+
88  template <typename T, precision P> detail::tvec4<bool, P> isfinite(const detail::tvec4<T, P>& x);
+
89 
+
90  typedef bool bool1;
+
91  typedef detail::tvec2<bool, highp> bool2;
+
92  typedef detail::tvec3<bool, highp> bool3;
+
93  typedef detail::tvec4<bool, highp> bool4;
+
94 
+
95  typedef bool bool1x1;
+
96  typedef detail::tmat2x2<bool, highp> bool2x2;
+
97  typedef detail::tmat2x3<bool, highp> bool2x3;
+
98  typedef detail::tmat2x4<bool, highp> bool2x4;
+
99  typedef detail::tmat3x2<bool, highp> bool3x2;
+
100  typedef detail::tmat3x3<bool, highp> bool3x3;
+
101  typedef detail::tmat3x4<bool, highp> bool3x4;
+
102  typedef detail::tmat4x2<bool, highp> bool4x2;
+
103  typedef detail::tmat4x3<bool, highp> bool4x3;
+
104  typedef detail::tmat4x4<bool, highp> bool4x4;
+
105 
+
106  typedef int int1;
+
107  typedef detail::tvec2<int, highp> int2;
+
108  typedef detail::tvec3<int, highp> int3;
+
109  typedef detail::tvec4<int, highp> int4;
+
110 
+
111  typedef int int1x1;
+
112  typedef detail::tmat2x2<int, highp> int2x2;
+
113  typedef detail::tmat2x3<int, highp> int2x3;
+
114  typedef detail::tmat2x4<int, highp> int2x4;
+
115  typedef detail::tmat3x2<int, highp> int3x2;
+
116  typedef detail::tmat3x3<int, highp> int3x3;
+
117  typedef detail::tmat3x4<int, highp> int3x4;
+
118  typedef detail::tmat4x2<int, highp> int4x2;
+
119  typedef detail::tmat4x3<int, highp> int4x3;
+
120  typedef detail::tmat4x4<int, highp> int4x4;
+
121 
+
122  typedef float float1;
+
123  typedef detail::tvec2<float, highp> float2;
+
124  typedef detail::tvec3<float, highp> float3;
+
125  typedef detail::tvec4<float, highp> float4;
+
126 
+
127  typedef float float1x1;
+
128  typedef detail::tmat2x2<float, highp> float2x2;
+
129  typedef detail::tmat2x3<float, highp> float2x3;
+
130  typedef detail::tmat2x4<float, highp> float2x4;
+
131  typedef detail::tmat3x2<float, highp> float3x2;
+
132  typedef detail::tmat3x3<float, highp> float3x3;
+
133  typedef detail::tmat3x4<float, highp> float3x4;
+
134  typedef detail::tmat4x2<float, highp> float4x2;
+
135  typedef detail::tmat4x3<float, highp> float4x3;
+
136  typedef detail::tmat4x4<float, highp> float4x4;
+
137 
+
138  typedef double double1;
+
139  typedef detail::tvec2<double, highp> double2;
+
140  typedef detail::tvec3<double, highp> double3;
+
141  typedef detail::tvec4<double, highp> double4;
+
142 
+
143  typedef double double1x1;
+
144  typedef detail::tmat2x2<double, highp> double2x2;
+
145  typedef detail::tmat2x3<double, highp> double2x3;
+
146  typedef detail::tmat2x4<double, highp> double2x4;
+
147  typedef detail::tmat3x2<double, highp> double3x2;
+
148  typedef detail::tmat3x3<double, highp> double3x3;
+
149  typedef detail::tmat3x4<double, highp> double3x4;
+
150  typedef detail::tmat4x2<double, highp> double4x2;
+
151  typedef detail::tmat4x3<double, highp> double4x3;
+
152  typedef detail::tmat4x4<double, highp> double4x4;
+
153 
+
155 }//namespace glm
+
156 
+
157 #include "compatibility.inl"
+
158 
+
159 #endif//GLM_GTX_compatibility
+
160 
+
detail::tmat2x2< int, highp > int2x2
integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
+
float float1x1
single-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...
+
detail::tmat3x4< int, highp > int3x4
integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
+
detail::tmat2x2< float, highp > float2x2
single-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...
+
GLM_FUNC_DECL genType atan(genType const &y, genType const &x)
Arc tangent.
+
detail::tvec4< float, highp > float4
single-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...
+
detail::tmat4x2< bool, highp > bool4x2
boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
+
GLM_FUNC_DECL detail::tquat< T, P > lerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Linear interpolation of two quaternions.
+
detail::tmat4x2< int, highp > int4x2
integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
+
GLM_FUNC_QUALIFIER T saturate(T x)
Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
+
detail::tvec3< int, highp > int3
integer vector with 3 components. (From GLM_GTX_compatibility extension)
+
detail::tmat3x3< float, highp > float3x3
single-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...
+
detail::tmat4x3< double, highp > double4x3
double-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...
+
GLM_FUNC_DECL genTypeT mix(genTypeT const &x, genTypeT const &y, genTypeU const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
+
int int1x1
integer matrix with 1 component. (From GLM_GTX_compatibility extension)
+
bool bool1x1
boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)
+
detail::tvec2< int, highp > int2
integer vector with 2 components. (From GLM_GTX_compatibility extension)
+
detail::tmat4x4< double, highp > double4x4
double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...
+
detail::tmat2x2< double, highp > double2x2
double-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...
+
detail::tmat2x3< bool, highp > bool2x3
boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
+
int int1
integer vector with 1 component. (From GLM_GTX_compatibility extension)
+
detail::tmat2x4< float, highp > float2x4
single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...
+
detail::tmat3x2< double, highp > double3x2
double-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...
+
detail::tvec4< bool, highp > bool4
boolean type with 4 components. (From GLM_GTX_compatibility extension)
+
GLM_FUNC_QUALIFIER T atan2(T x, T y)
Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...
+
detail::tmat3x2< bool, highp > bool3x2
boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
+
detail::tmat4x4< int, highp > int4x4
integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
+
bool bool1
boolean type with 1 component. (From GLM_GTX_compatibility extension)
+
double double1x1
double-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...
+
detail::tmat4x3< float, highp > float4x3
single-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...
+
detail::tmat4x4< bool, highp > bool4x4
boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
+
detail::tmat3x3< bool, highp > bool3x3
boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
+
detail::tmat3x3< int, highp > int3x3
integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
+
detail::tmat3x4< double, highp > double3x4
double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...
+
detail::tvec4< int, highp > int4
integer vector with 4 components. (From GLM_GTX_compatibility extension)
+
detail::tmat3x4< bool, highp > bool3x4
boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
+
detail::tmat2x3< double, highp > double2x3
double-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...
+
detail::tmat4x2< double, highp > double4x2
double-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...
+
detail::tmat2x3< int, highp > int2x3
integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
+
detail::tvec3< double, highp > double3
double-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...
+
detail::tmat2x4< int, highp > int2x4
integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
+
detail::tmat2x4< double, highp > double2x4
double-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...
+
detail::tmat3x2< float, highp > float3x2
single-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...
+
detail::tmat4x3< bool, highp > bool4x3
boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
+
detail::tmat2x3< float, highp > float2x3
single-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...
+
GLM_FUNC_DECL detail::tquat< T, P > slerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Spherical linear interpolation of two quaternions.
+
GLM_FUNC_DECL genType clamp(genType const &x, genType const &minVal, genType const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
+
detail::tmat3x2< int, highp > int3x2
integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
+
detail::tmat2x2< bool, highp > bool2x2
boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
+
detail::tmat4x4< float, highp > float4x4
single-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...
+
detail::tvec2< double, highp > double2
double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...
+
detail::tmat4x3< int, highp > int4x3
integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
+
detail::tmat3x3< double, highp > double3x3
double-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...
+
detail::tvec3< float, highp > float3
single-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...
+
detail::tvec3< bool, highp > bool3
boolean type with 3 components. (From GLM_GTX_compatibility extension)
+
double double1
double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...
+
detail::tmat4x2< float, highp > float4x2
single-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...
+
bool isfinite(genType const &x)
Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)...
+
detail::tmat3x4< float, highp > float3x4
single-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...
+
detail::tvec2< bool, highp > bool2
boolean type with 2 components. (From GLM_GTX_compatibility extension)
+
detail::tmat2x4< bool, highp > bool2x4
boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
+
detail::tvec4< double, highp > double4
double-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...
+
float float1
single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...
+
detail::tvec2< float, highp > float2
single-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00018.html glm-0.9.5.1/doc/api/a00018.html --- glm-0.9.4.6/doc/api/a00018.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00018.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,99 @@ + + + + + + +GLM: component_wise.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
component_wise.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + +

+Functions

template<typename genType >
genType::value_type compAdd (genType const &v)
 
template<typename genType >
genType::value_type compMax (genType const &v)
 
template<typename genType >
genType::value_type compMin (genType const &v)
 
template<typename genType >
genType::value_type compMul (genType const &v)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_component_wise

+
Date
2007-05-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file component_wise.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00018_source.html glm-0.9.5.1/doc/api/a00018_source.html --- glm-0.9.4.6/doc/api/a00018_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00018_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,85 +1,101 @@ - - - - - -epsilon.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtx/epsilon.hpp
-
-
-
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 #if(defined(GLM_MESSAGES))
-
25 # pragma message("GLM: GLM_GTX_epsilon extension is deprecated, include GLM_GTC_epsilon (glm/gtc/epsilon) instead")
-
26 #endif
-
27 
-
28 // Promoted:
-
29 #include "../gtc/epsilon.hpp"
-
- - - - + + + + + + +GLM: component_wise.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
component_wise.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_component_wise
+
39 #define GLM_GTX_component_wise
+
40 
+
41 // Dependencies
+
42 #include "../detail/setup.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_component_wise extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename genType>
+
56  typename genType::value_type compAdd(
+
57  genType const & v);
+
58 
+
61  template <typename genType>
+
62  typename genType::value_type compMul(
+
63  genType const & v);
+
64 
+
67  template <typename genType>
+
68  typename genType::value_type compMin(
+
69  genType const & v);
+
70 
+
73  template <typename genType>
+
74  typename genType::value_type compMax(
+
75  genType const & v);
+
76 
+
78 }//namespace glm
+
79 
+
80 #include "component_wise.inl"
+
81 
+
82 #endif//GLM_GTX_component_wise
+
genType::value_type compMin(genType const &v)
Find the minimum value between single vector components.
+
genType::value_type compMul(genType const &v)
Multiply all vector components together.
+
genType::value_type compMax(genType const &v)
Find the maximum value between single vector components.
+
genType::value_type compAdd(genType const &v)
Add all vector components together.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00019.html glm-0.9.5.1/doc/api/a00019.html --- glm-0.9.4.6/doc/api/a00019.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00019.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,122 +1,164 @@ - - - - - -euler_angles.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
euler_angles.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tmat4x4< valType > eulerAngleX (valType const &angleX)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleXY (valType const &angleX, valType const &angleY)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleXZ (valType const &angleX, valType const &angleZ)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleY (valType const &angleY)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleYX (valType const &angleY, valType const &angleX)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleYXZ (valType const &yaw, valType const &pitch, valType const &roll)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleYZ (valType const &angleY, valType const &angleZ)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleZ (valType const &angleZ)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleZX (valType const &angleZ, valType const &angleX)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleZY (valType const &angleZ, valType const &angleY)
 
template<typename T >
detail::tmat2x2< T > orientate2 (T const &angle)
 
template<typename T >
detail::tmat3x3< T > orientate3 (T const &angle)
 
template<typename T >
detail::tmat3x3< T > orientate3 (detail::tvec3< T > const &angles)
 
template<typename T >
detail::tmat4x4< T > orientate4 (detail::tvec3< T > const &angles)
 
template<typename valType >
detail::tmat4x4< valType > yawPitchRoll (valType const &yaw, valType const &pitch, valType const &roll)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_euler_angles

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_half_float (dependence)
- -

Definition in file euler_angles.hpp.

-
- - - - + + + + + + +GLM: constants.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
gtc/constants.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType e ()
 
template<typename genType >
GLM_FUNC_DECL genType epsilon ()
 
template<typename genType >
GLM_FUNC_DECL genType euler ()
 
template<typename genType >
GLM_FUNC_DECL genType golden_ratio ()
 
template<typename genType >
GLM_FUNC_DECL genType half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ten ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType one ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType pi ()
 
template<typename genType >
GLM_FUNC_DECL genType quarter_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_five ()
 
template<typename genType >
GLM_FUNC_DECL genType root_half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_ln_four ()
 
template<typename genType >
GLM_FUNC_DECL genType root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_three ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType third ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_thirds ()
 
template<typename genType >
GLM_FUNC_DECL genType zero ()
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_constants

+
Date
2011-09-30 / 2012-01-25
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+ +

Definition in file gtc/constants.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00019_source.html glm-0.9.5.1/doc/api/a00019_source.html --- glm-0.9.4.6/doc/api/a00019_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00019_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,179 +1,181 @@ - - - - - -euler_angles.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
euler_angles.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_euler_angles
-
40 #define GLM_GTX_euler_angles GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtc/half_float.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_euler_angles extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename valType>
-
58  detail::tmat4x4<valType> eulerAngleX(
-
59  valType const & angleX);
-
60 
-
63  template <typename valType>
-
64  detail::tmat4x4<valType> eulerAngleY(
-
65  valType const & angleY);
-
66 
-
69  template <typename valType>
-
70  detail::tmat4x4<valType> eulerAngleZ(
-
71  valType const & angleZ);
-
72 
-
75  template <typename valType>
-
76  detail::tmat4x4<valType> eulerAngleXY(
-
77  valType const & angleX,
-
78  valType const & angleY);
-
79 
-
82  template <typename valType>
-
83  detail::tmat4x4<valType> eulerAngleYX(
-
84  valType const & angleY,
-
85  valType const & angleX);
-
86 
-
89  template <typename valType>
-
90  detail::tmat4x4<valType> eulerAngleXZ(
-
91  valType const & angleX,
-
92  valType const & angleZ);
-
93 
-
96  template <typename valType>
-
97  detail::tmat4x4<valType> eulerAngleZX(
-
98  valType const & angleZ,
-
99  valType const & angleX);
-
100 
-
103  template <typename valType>
-
104  detail::tmat4x4<valType> eulerAngleYZ(
-
105  valType const & angleY,
-
106  valType const & angleZ);
-
107 
-
110  template <typename valType>
-
111  detail::tmat4x4<valType> eulerAngleZY(
-
112  valType const & angleZ,
-
113  valType const & angleY);
-
114 
-
117  template <typename valType>
-
118  detail::tmat4x4<valType> eulerAngleYXZ(
-
119  valType const & yaw,
-
120  valType const & pitch,
-
121  valType const & roll);
-
122 
-
125  template <typename valType>
-
126  detail::tmat4x4<valType> yawPitchRoll(
-
127  valType const & yaw,
-
128  valType const & pitch,
-
129  valType const & roll);
-
130 
-
133  template <typename T>
-
134  detail::tmat2x2<T> orientate2(T const & angle);
-
135 
-
138  template <typename T>
-
139  detail::tmat3x3<T> orientate3(T const & angle);
-
140 
-
143  template <typename T>
-
144  detail::tmat3x3<T> orientate3(detail::tvec3<T> const & angles);
-
145 
-
148  template <typename T>
-
149  detail::tmat4x4<T> orientate4(detail::tvec3<T> const & angles);
-
150 
-
152 }//namespace glm
-
153 
-
154 #include "euler_angles.inl"
-
155 
-
156 #endif//GLM_GTX_euler_angles
-
- - - - + + + + + + +GLM: constants.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtc/constants.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTC_constants
+
40 #define GLM_GTC_constants
+
41 
+
42 // Dependencies
+
43 #include "../detail/setup.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTC_constants extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
57  template <typename genType>
+
58  GLM_FUNC_DECL genType epsilon();
+
59 
+
62  template <typename genType>
+
63  GLM_FUNC_DECL genType zero();
+
64 
+
67  template <typename genType>
+
68  GLM_FUNC_DECL genType one();
+
69 
+
72  template <typename genType>
+
73  GLM_FUNC_DECL genType pi();
+
74 
+
77  template <typename genType>
+
78  GLM_FUNC_DECL genType root_pi();
+
79 
+
82  template <typename genType>
+
83  GLM_FUNC_DECL genType half_pi();
+
84 
+
87  template <typename genType>
+
88  GLM_FUNC_DECL genType quarter_pi();
+
89 
+
92  template <typename genType>
+
93  GLM_FUNC_DECL genType one_over_pi();
+
94 
+
97  template <typename genType>
+
98  GLM_FUNC_DECL genType two_over_pi();
+
99 
+
102  template <typename genType>
+
103  GLM_FUNC_DECL genType two_over_root_pi();
+
104 
+
107  template <typename genType>
+
108  GLM_FUNC_DECL genType one_over_root_two();
+
109 
+
112  template <typename genType>
+
113  GLM_FUNC_DECL genType root_half_pi();
+
114 
+
117  template <typename genType>
+
118  GLM_FUNC_DECL genType root_two_pi();
+
119 
+
122  template <typename genType>
+
123  GLM_FUNC_DECL genType root_ln_four();
+
124 
+
127  template <typename genType>
+
128  GLM_FUNC_DECL genType e();
+
129 
+
132  template <typename genType>
+
133  GLM_FUNC_DECL genType euler();
+
134 
+
137  template <typename genType>
+
138  GLM_FUNC_DECL genType root_two();
+
139 
+
142  template <typename genType>
+
143  GLM_FUNC_DECL genType root_three();
+
144 
+
147  template <typename genType>
+
148  GLM_FUNC_DECL genType root_five();
+
149 
+
152  template <typename genType>
+
153  GLM_FUNC_DECL genType ln_two();
+
154 
+
157  template <typename genType>
+
158  GLM_FUNC_DECL genType ln_ten();
+
159 
+
162  template <typename genType>
+
163  GLM_FUNC_DECL genType ln_ln_two();
+
164 
+
167  template <typename genType>
+
168  GLM_FUNC_DECL genType third();
+
169 
+
172  template <typename genType>
+
173  GLM_FUNC_DECL genType two_thirds();
+
174 
+
177  template <typename genType>
+
178  GLM_FUNC_DECL genType golden_ratio();
+
179 
+
181 } //namespace glm
+
182 
+
183 #include "constants.inl"
+
184 
+
185 #endif//GLM_GTC_constants
+
GLM_FUNC_DECL genType e()
Return e constant.
+
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
+
GLM_FUNC_DECL genType golden_ratio()
Return the golden ratio constant.
+
GLM_FUNC_DECL genType root_ln_four()
Return sqrt(ln(4)).
+
GLM_FUNC_DECL genType root_three()
Return sqrt(3).
+
GLM_FUNC_DECL genType pi()
Return the pi constant.
+
GLM_FUNC_DECL genType root_two_pi()
Return sqrt(2 * pi).
+
GLM_FUNC_DECL genType ln_ten()
Return ln(10).
+
GLM_FUNC_DECL genType one()
Return 1.
+
GLM_FUNC_DECL genType two_thirds()
Return 2 / 3.
+
GLM_FUNC_DECL genType zero()
Return 0.
+
GLM_FUNC_DECL genType one_over_root_two()
Return 1 / sqrt(2).
+
GLM_FUNC_DECL genType ln_two()
Return ln(2).
+
GLM_FUNC_DECL genType two_over_root_pi()
Return 2 / sqrt(pi).
+
GLM_FUNC_DECL genType root_two()
Return sqrt(2).
+
GLM_FUNC_DECL genType two_over_pi()
Return 2 / pi.
+
GLM_FUNC_DECL genType half_pi()
Return pi / 2.
+
GLM_FUNC_DECL genType quarter_pi()
Return pi / 4.
+
GLM_FUNC_DECL genType one_over_pi()
Return 1 / pi.
+
GLM_FUNC_DECL genType euler()
Return Euler&#39;s constant.
+
GLM_FUNC_DECL genType third()
Return 1 / 3.
+
GLM_FUNC_DECL genType root_pi()
Return square root of pi.
+
GLM_FUNC_DECL genType root_half_pi()
Return sqrt(pi / 2).
+
GLM_FUNC_DECL genType root_five()
Return sqrt(5).
+
GLM_FUNC_DECL genType ln_ln_two()
Return ln(ln(2)).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00020_source.html glm-0.9.5.1/doc/api/a00020_source.html --- glm-0.9.4.6/doc/api/a00020_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00020_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,201 +1,73 @@ - - - - - -ext.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
ext.hpp
-
-
-
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 
-
41 
-
42 
-
43 
-
44 
-
45 
-
46 
-
47 
-
48 
-
49 
-
50 
-
51 
-
52 
-
53 
-
54 
-
55 
-
56 
-
57 
-
58 #ifndef glm_ext
-
59 #define glm_ext
-
60 
-
61 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED))
-
62 # define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED
-
63 # pragma message("GLM: All extensions included (not recommanded)")
-
64 #endif//GLM_MESSAGES
-
65 
-
66 #include "./gtc/constants.hpp"
-
67 #include "./gtc/epsilon.hpp"
-
68 #include "./gtc/half_float.hpp"
-
69 #include "./gtc/matrix_access.hpp"
-
70 #include "./gtc/matrix_integer.hpp"
-
71 #include "./gtc/matrix_inverse.hpp"
- -
73 #include "./gtc/noise.hpp"
-
74 #include "./gtc/quaternion.hpp"
-
75 #include "./gtc/random.hpp"
-
76 #include "./gtc/reciprocal.hpp"
-
77 #include "./gtc/swizzle.hpp"
-
78 #include "./gtc/type_precision.hpp"
-
79 #include "./gtc/type_ptr.hpp"
-
80 #include "./gtc/ulp.hpp"
-
81 
- -
83 #include "./gtx/bit.hpp"
-
84 #include "./gtx/closest_point.hpp"
-
85 #include "./gtx/color_cast.hpp"
-
86 #include "./gtx/color_space.hpp"
- -
88 #include "./gtx/compatibility.hpp"
-
89 #include "./gtx/component_wise.hpp"
-
90 #include "./gtx/euler_angles.hpp"
-
91 #include "./gtx/extend.hpp"
- - - - -
96 #include "./gtx/gradient_paint.hpp"
- -
98 #include "./gtx/inertia.hpp"
-
99 #include "./gtx/int_10_10_10_2.hpp"
-
100 #include "./gtx/integer.hpp"
-
101 #include "./gtx/intersect.hpp"
-
102 #include "./gtx/log_base.hpp"
- - - - -
107 #include "./gtx/matrix_query.hpp"
-
108 #include "./gtx/mixed_product.hpp"
-
109 #include "./gtx/multiple.hpp"
-
110 #include "./gtx/norm.hpp"
-
111 #include "./gtx/normal.hpp"
-
112 #include "./gtx/normalize_dot.hpp"
- -
114 #include "./gtx/ocl_type.hpp"
-
115 #include "./gtx/optimum_pow.hpp"
-
116 #include "./gtx/orthonormalize.hpp"
-
117 #include "./gtx/perpendicular.hpp"
- -
119 #include "./gtx/projection.hpp"
-
120 #include "./gtx/quaternion.hpp"
-
121 #include "./gtx/raw_data.hpp"
-
122 #include "./gtx/rotate_vector.hpp"
-
123 #include "./gtx/spline.hpp"
-
124 #include "./gtx/std_based_type.hpp"
-
125 #include "./gtx/string_cast.hpp"
-
126 #include "./gtx/transform.hpp"
-
127 #include "./gtx/transform2.hpp"
-
128 #include "./gtx/vec1.hpp"
-
129 #include "./gtx/vector_access.hpp"
-
130 #include "./gtx/vector_angle.hpp"
-
131 #include "./gtx/vector_query.hpp"
- -
133 #include "./gtx/wrap.hpp"
-
134 
-
135 #if(GLM_ARCH & GLM_ARCH_SSE2)
-
136 # include "./gtx/simd_vec4.hpp"
-
137 # include "./gtx/simd_mat4.hpp"
-
138 #endif
-
139 
-
140 #include "./virtrev/xstream.hpp"
-
141 
-
142 //const float goldenRatio = 1.618033988749894848f;
-
143 //const float pi = 3.141592653589793238f;
-
144 
-
145 #endif //glm_ext
-
- - - - + + + + + + +GLM: constants.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtx/constants.hpp
+
+
+
1 
+
24 #ifndef GLM_GTX_constants
+
25 #define GLM_GTX_constants
+
26 
+
27 #include "../gtc/constants.hpp"
+
28 
+
29 #if(defined(GLM_MESSAGES))
+
30 # pragma message("GLM: GLM_GTX_constants extension is deprecated, include GLM_GTC_constants (glm/gtc/constants.hpp) instead")
+
31 #endif
+
32 
+
33 #endif//GLM_GTX_constants
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00021.html glm-0.9.5.1/doc/api/a00021.html --- glm-0.9.4.6/doc/api/a00021.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00021.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,78 +1,151 @@ - - - - - -extend.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
extend.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - -

-Functions

template<typename genType >
genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_extend

-
Date
2006-01-07 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file extend.hpp.

-
- - - - + + + + + + +GLM: dual_quaternion.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
dual_quaternion.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_ddualquat ddualquat
 
typedef highp_fdualquat dualquat
 
typedef highp_fdualquat fdualquat
 
typedef detail::tdualquat
+< double, highp > 
highp_ddualquat
 
typedef detail::tdualquat
+< float, highp > 
highp_dualquat
 
typedef detail::tdualquat
+< float, highp > 
highp_fdualquat
 
typedef detail::tdualquat
+< double, lowp > 
lowp_ddualquat
 
typedef detail::tdualquat
+< float, lowp > 
lowp_dualquat
 
typedef detail::tdualquat
+< float, lowp > 
lowp_fdualquat
 
typedef detail::tdualquat
+< double, mediump > 
mediump_ddualquat
 
typedef detail::tdualquat
+< float, mediump > 
mediump_dualquat
 
typedef detail::tdualquat
+< float, mediump > 
mediump_fdualquat
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tdualquat< T, P > dualquat_cast (detail::tmat2x4< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > dualquat_cast (detail::tmat3x4< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > inverse (detail::tdualquat< T, P > const &q)
 
template<typename T , precision P>
detail::tdualquat< T, P > lerp (detail::tdualquat< T, P > const &x, detail::tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
detail::tmat2x4< T, P > mat2x4_cast (detail::tdualquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat3x4< T, P > mat3x4_cast (detail::tdualquat< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > normalize (detail::tdualquat< T, P > const &q)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

gtx_dual_quaternion

+
Date
2013-02-10 / 2013-02-20
+
Author
Maksim Vorobiev (msome.nosp@m.one@.nosp@m.gmail.nosp@m..com)
+
See Also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+
+GLM_GTC_constants (dependence)
+
+GLM_GTC_quaternion (dependence)
+ +

Definition in file dual_quaternion.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00021_source.html glm-0.9.5.1/doc/api/a00021_source.html --- glm-0.9.4.6/doc/api/a00021_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00021_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,117 +1,273 @@ - - - - - -extend.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
extend.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_extend
-
39 #define GLM_GTX_extend GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_extend extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename genType>
-
56  genType extend(
-
57  genType const & Origin,
-
58  genType const & Source,
-
59  typename genType::value_type const Length);
-
60 
-
62 }//namespace glm
-
63 
-
64 #include "extend.inl"
-
65 
-
66 #endif//GLM_GTX_extend
-
- - - - + + + + + + +GLM: dual_quaternion.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
dual_quaternion.hpp
+
+
+Go to the documentation of this file.
1 
+
41 #ifndef GLM_GTX_dual_quaternion
+
42 #define GLM_GTX_dual_quaternion
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 #include "../gtc/constants.hpp"
+
47 #include "../gtc/quaternion.hpp"
+
48 
+
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
50 # pragma message("GLM: GLM_GTX_dual_quaternion extension included")
+
51 #endif
+
52 
+
53 namespace glm{
+
54 namespace detail
+
55 {
+
56  template <typename T, precision P>
+
57  struct tdualquat
+
58  {
+
59  enum ctor{null};
+
60 
+
61  typedef glm::detail::tquat<T, P> part_type;
+
62 
+
63  public:
+
64  glm::detail::tquat<T, P> real, dual;
+
65 
+
66  GLM_FUNC_DECL GLM_CONSTEXPR int length() const;
+
67 
+
68  // Constructors
+
69  tdualquat();
+
70  explicit tdualquat(tquat<T, P> const & real);
+
71  tdualquat(tquat<T, P> const & real,tquat<T, P> const & dual);
+
72  tdualquat(tquat<T, P> const & orientation,tvec3<T, P> const& translation);
+
73 
+
75  // tdualquat conversions
+
76  explicit tdualquat(tmat2x4<T, P> const & holder_mat);
+
77  explicit tdualquat(tmat3x4<T, P> const & aug_mat);
+
78 
+
79  // Accesses
+
80  part_type & operator[](int i);
+
81  part_type const & operator[](int i) const;
+
82 
+
83  // Operators
+
84  tdualquat<T, P> & operator*=(T const & s);
+
85  tdualquat<T, P> & operator/=(T const & s);
+
86  };
+
87 
+
88  template <typename T, precision P>
+
89  detail::tquat<T, P> operator- (
+
90  detail::tquat<T, P> const & q);
+
91 
+
92  template <typename T, precision P>
+
93  detail::tdualquat<T, P> operator+ (
+
94  detail::tdualquat<T, P> const & q,
+
95  detail::tdualquat<T, P> const & p);
+
96 
+
97  template <typename T, precision P>
+
98  detail::tdualquat<T, P> operator* (
+
99  detail::tdualquat<T, P> const & q,
+
100  detail::tdualquat<T, P> const & p);
+
101 
+
102  template <typename T, precision P>
+
103  detail::tvec3<T, P> operator* (
+
104  detail::tquat<T, P> const & q,
+
105  detail::tvec3<T, P> const & v);
+
106 
+
107  template <typename T, precision P>
+
108  detail::tvec3<T, P> operator* (
+
109  detail::tvec3<T, P> const & v,
+
110  detail::tquat<T, P> const & q);
+
111 
+
112  template <typename T, precision P>
+
113  detail::tvec4<T, P> operator* (
+
114  detail::tquat<T, P> const & q,
+
115  detail::tvec4<T, P> const & v);
+
116 
+
117  template <typename T, precision P>
+
118  detail::tvec4<T, P> operator* (
+
119  detail::tvec4<T, P> const & v,
+
120  detail::tquat<T, P> const & q);
+
121 
+
122  template <typename T, precision P>
+
123  detail::tdualquat<T, P> operator* (
+
124  detail::tdualquat<T, P> const & q,
+
125  T const & s);
+
126 
+
127  template <typename T, precision P>
+
128  detail::tdualquat<T, P> operator* (
+
129  T const & s,
+
130  detail::tdualquat<T, P> const & q);
+
131 
+
132  template <typename T, precision P>
+
133  detail::tdualquat<T, P> operator/ (
+
134  detail::tdualquat<T, P> const & q,
+
135  T const & s);
+
136 } //namespace detail
+
137 
+
140 
+
144  template <typename T, precision P>
+
145  detail::tdualquat<T, P> normalize(
+
146  detail::tdualquat<T, P> const & q);
+
147 
+
151  template <typename T, precision P>
+
152  detail::tdualquat<T, P> lerp(
+
153  detail::tdualquat<T, P> const & x,
+
154  detail::tdualquat<T, P> const & y,
+
155  T const & a);
+
156 
+
160  template <typename T, precision P>
+
161  detail::tdualquat<T, P> inverse(
+
162  detail::tdualquat<T, P> const & q);
+
163 
+
164  /*
+
169  template <typename T, precision P>
+
170  detail::tmat3x3<T, P> mat3_cast(
+
171  detail::tdualquat<T, P> const & x);
+
172  */
+
173 
+
177  template <typename T, precision P>
+
178  detail::tmat2x4<T, P> mat2x4_cast(
+
179  detail::tdualquat<T, P> const & x);
+
180 
+
184  template <typename T, precision P>
+
185  detail::tmat3x4<T, P> mat3x4_cast(
+
186  detail::tdualquat<T, P> const & x);
+
187 
+
191  template <typename T, precision P>
+
192  detail::tdualquat<T, P> dualquat_cast(
+
193  detail::tmat2x4<T, P> const & x);
+
194 
+
198  template <typename T, precision P>
+
199  detail::tdualquat<T, P> dualquat_cast(
+
200  detail::tmat3x4<T, P> const & x);
+
201 
+
202 
+
206  typedef detail::tdualquat<float, lowp> lowp_dualquat;
+
207 
+
211  typedef detail::tdualquat<float, mediump> mediump_dualquat;
+
212 
+
216  typedef detail::tdualquat<float, highp> highp_dualquat;
+
217 
+
218 
+
222  typedef detail::tdualquat<float, lowp> lowp_fdualquat;
+
223 
+
227  typedef detail::tdualquat<float, mediump> mediump_fdualquat;
+
228 
+
232  typedef detail::tdualquat<float, highp> highp_fdualquat;
+
233 
+
234 
+
238  typedef detail::tdualquat<double, lowp> lowp_ddualquat;
+
239 
+
243  typedef detail::tdualquat<double, mediump> mediump_ddualquat;
+
244 
+
248  typedef detail::tdualquat<double, highp> highp_ddualquat;
+
249 
+
250 
+
251 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
252  typedef highp_fdualquat dualquat;
+
256 
+ +
261 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
262  typedef highp_fdualquat dualquat;
+
263  typedef highp_fdualquat fdualquat;
+
264 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
265  typedef mediump_fdualquat dualquat;
+ +
267 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
+
268  typedef lowp_fdualquat dualquat;
+
269  typedef lowp_fdualquat fdualquat;
+
270 #else
+
271 # error "GLM error: multiple default precision requested for single-precision floating-point types"
+
272 #endif
+
273 
+
274 
+
275 #if(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
276  typedef highp_ddualquat ddualquat;
+
280 #elif(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
281  typedef highp_ddualquat ddualquat;
+
282 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+ +
284 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
+
285  typedef lowp_ddualquat ddualquat;
+
286 #else
+
287 # error "GLM error: Multiple default precision requested for double-precision floating-point types"
+
288 #endif
+
289 
+
291 } //namespace glm
+
292 
+
293 #include "dual_quaternion.inl"
+
294 
+
295 #endif//GLM_GTX_dual_quaternion
+
detail::tdualquat< float, highp > highp_dualquat
Dual-quaternion of high single-precision floating-point numbers.
+
GLM_FUNC_DECL detail::tquat< T, P > lerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Linear interpolation of two quaternions.
+
detail::tmat3x4< T, P > mat3x4_cast(detail::tdualquat< T, P > const &x)
Converts a quaternion to a 3 * 4 matrix.
+
detail::tdualquat< double, highp > highp_ddualquat
Dual-quaternion of high double-precision floating-point numbers.
+
highp_fdualquat fdualquat
Dual-quaternion of single-precision floating-point numbers.
+
detail::tdualquat< double, lowp > lowp_ddualquat
Dual-quaternion of low double-precision floating-point numbers.
+
detail::tmat4x4< T, P > orientation(detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
Build a rotation matrix from a normal and a up vector.
+
GLM_FUNC_DECL genType normalize(genType const &x)
Returns a vector in the same direction as x but with length of 1.
+
detail::tdualquat< double, mediump > mediump_ddualquat
Dual-quaternion of medium double-precision floating-point numbers.
+
detail::tdualquat< float, lowp > lowp_dualquat
Dual-quaternion of low single-precision floating-point numbers.
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
detail::tdualquat< T, P > dualquat_cast(detail::tmat2x4< T, P > const &x)
Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion. ...
+
highp_ddualquat ddualquat
Dual-quaternion of default double-precision floating-point numbers.
+
detail::tmat2x4< T, P > mat2x4_cast(detail::tdualquat< T, P > const &x)
Converts a quaternion to a 2 * 4 matrix.
+
detail::tdualquat< float, mediump > mediump_fdualquat
Dual-quaternion of medium single-precision floating-point numbers.
+
detail::tdualquat< float, lowp > lowp_fdualquat
Dual-quaternion of low single-precision floating-point numbers.
+
detail::tdualquat< float, highp > highp_fdualquat
Dual-quaternion of high single-precision floating-point numbers.
+
detail::tdualquat< float, mediump > mediump_dualquat
Dual-quaternion of medium single-precision floating-point numbers.
+
highp_fdualquat dualquat
Dual-quaternion of floating-point numbers.
+
GLM_FUNC_DECL detail::tquat< T, P > inverse(detail::tquat< T, P > const &q)
Returns the q inverse.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00022.html glm-0.9.5.1/doc/api/a00022.html --- glm-0.9.4.6/doc/api/a00022.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00022.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,113 +1,103 @@ - - - - - -extented_min_max.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
extented_min_max.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, typename C< T >::value_type const &y, typename C< T >::value_type const &z)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, typename C< T >::value_type const &y, typename C< T >::value_type const &z, typename C< T >::value_type const &w)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T >
min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, typename C< T >::value_type const &y, typename C< T >::value_type const &z)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, typename C< T >::value_type const &y, typename C< T >::value_type const &z, typename C< T >::value_type const &w)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_extented_min_max

-
Date
2007-03-14 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-gtx_half_float (dependence)
- -

Definition in file extented_min_max.hpp.

-
- - - - + + + + + + +GLM: epsilon.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
gtc/epsilon.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + +

+Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > epsilonEqual (vecType< T, P > const &x, vecType< T, P > const &y, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL genType::boolType epsilonNotEqual (genType const &x, genType const &y, typename genType::value_type const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_epsilon

+
Date
2012-04-07 / 2012-04-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+
+GLM_GTC_quaternion (dependence)
+ +

Definition in file gtc/epsilon.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00022_source.html glm-0.9.5.1/doc/api/a00022_source.html --- glm-0.9.4.6/doc/api/a00022_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00022_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,223 +1,109 @@ - - - - - -extented_min_max.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
extented_min_max.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_extented_min_max
-
40 #define GLM_GTX_extented_min_max GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtc/half_float.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_extented_min_max extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename T>
-
58  T min(
-
59  T const & x,
-
60  T const & y,
-
61  T const & z);
-
62 
-
65  template
-
66  <
-
67  typename T,
-
68  template <typename> class C
-
69  >
-
70  C<T> min(
-
71  C<T> const & x,
-
72  typename C<T>::value_type const & y,
-
73  typename C<T>::value_type const & z);
-
74 
-
77  template
-
78  <
-
79  typename T,
-
80  template <typename> class C
-
81  >
-
82  C<T> min(
-
83  C<T> const & x,
-
84  C<T> const & y,
-
85  C<T> const & z);
-
86 
-
89  template <typename T>
-
90  T min(
-
91  T const & x,
-
92  T const & y,
-
93  T const & z,
-
94  T const & w);
-
95 
-
98  template
-
99  <
-
100  typename T,
-
101  template <typename> class C
-
102  >
-
103  C<T> min(
-
104  C<T> const & x,
-
105  typename C<T>::value_type const & y,
-
106  typename C<T>::value_type const & z,
-
107  typename C<T>::value_type const & w);
-
108 
-
111  template
-
112  <
-
113  typename T,
-
114  template <typename> class C
-
115  >
-
116  C<T> min(
-
117  C<T> const & x,
-
118  C<T> const & y,
-
119  C<T> const & z,
-
120  C<T> const & w);
-
121 
-
124  template <typename T>
-
125  T max(
-
126  T const & x,
-
127  T const & y,
-
128  T const & z);
-
129 
-
132  template
-
133  <
-
134  typename T,
-
135  template <typename> class C
-
136  >
-
137  C<T> max(
-
138  C<T> const & x,
-
139  typename C<T>::value_type const & y,
-
140  typename C<T>::value_type const & z);
-
141 
-
144  template
-
145  <
-
146  typename T,
-
147  template <typename> class C
-
148  >
-
149  C<T> max(
-
150  C<T> const & x,
-
151  C<T> const & y,
-
152  C<T> const & z);
-
153 
-
156  template <typename T>
-
157  T max(
-
158  T const & x,
-
159  T const & y,
-
160  T const & z,
-
161  T const & w);
-
162 
-
165  template
-
166  <
-
167  typename T,
-
168  template <typename> class C
-
169  >
-
170  C<T> max(
-
171  C<T> const & x,
-
172  typename C<T>::value_type const & y,
-
173  typename C<T>::value_type const & z,
-
174  typename C<T>::value_type const & w);
-
175 
-
178  template
-
179  <
-
180  typename T,
-
181  template <typename> class C
-
182  >
-
183  C<T> max(
-
184  C<T> const & x,
-
185  C<T> const & y,
-
186  C<T> const & z,
-
187  C<T> const & w);
-
188 
-
190 }//namespace glm
-
191 
-
192 #include "extented_min_max.inl"
-
193 
-
194 #endif//GLM_GTX_extented_min_max
-
- - - - + + + + + + +GLM: epsilon.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtc/epsilon.hpp
+
+
+Go to the documentation of this file.
1 
+
40 #ifndef GLM_GTC_epsilon
+
41 #define GLM_GTC_epsilon
+
42 
+
43 // Dependencies
+
44 #include "../detail/setup.hpp"
+
45 #include "../detail/precision.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTC_epsilon extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
60  template <typename T, precision P, template <typename, precision> class vecType>
+
61  GLM_FUNC_DECL vecType<bool, P> epsilonEqual(
+
62  vecType<T, P> const & x,
+
63  vecType<T, P> const & y,
+
64  T const & epsilon);
+
65 
+
70  template <typename genType>
+
71  GLM_FUNC_DECL bool epsilonEqual(
+
72  genType const & x,
+
73  genType const & y,
+
74  genType const & epsilon);
+
75 
+
80  template <typename genType>
+
81  GLM_FUNC_DECL typename genType::boolType epsilonNotEqual(
+
82  genType const & x,
+
83  genType const & y,
+
84  typename genType::value_type const & epsilon);
+
85 
+
90  template <typename genType>
+
91  GLM_FUNC_DECL bool epsilonNotEqual(
+
92  genType const & x,
+
93  genType const & y,
+
94  genType const & epsilon);
+
95 
+
97 }//namespace glm
+
98 
+
99 #include "epsilon.inl"
+
100 
+
101 #endif//GLM_GTC_epsilon
+
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
+
GLM_FUNC_DECL vecType< bool, P > epsilonEqual(vecType< T, P > const &x, vecType< T, P > const &y, T const &epsilon)
Returns the component-wise comparison of |x - y| &lt; epsilon.
+
GLM_FUNC_DECL genType::boolType epsilonNotEqual(genType const &x, genType const &y, typename genType::value_type const &epsilon)
Returns the component-wise comparison of |x - y| &lt; epsilon.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00023.html glm-0.9.5.1/doc/api/a00023.html --- glm-0.9.4.6/doc/api/a00023.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00023.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,98 +0,0 @@ - - - - - -fast_exponential.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
fast_exponential.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
fastExp (const T &x)
 
template<typename T >
fastExp2 (const T &x)
 
template<typename T >
fastLn (const T &x)
 
template<typename T >
fastLog (const T &x)
 
template<typename T >
fastLog2 (const T &x)
 
template<typename genType >
genType fastPow (genType const &x, genType const &y)
 
template<typename genTypeT , typename genTypeU >
genTypeT fastPow (genTypeT const &x, genTypeU const &y)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_fast_exponential

-
Date
2006-01-09 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-gtx_half_float (dependence)
- -

Definition in file fast_exponential.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00023_source.html glm-0.9.5.1/doc/api/a00023_source.html --- glm-0.9.4.6/doc/api/a00023_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00023_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,138 +1,69 @@ - - - - - -fast_exponential.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
fast_exponential.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_fast_exponential
-
40 #define GLM_GTX_fast_exponential GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtc/half_float.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_fast_exponential extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename genType>
-
58  genType fastPow(
-
59  genType const & x,
-
60  genType const & y);
-
61 
-
64  template <typename genTypeT, typename genTypeU>
-
65  genTypeT fastPow(
-
66  genTypeT const & x,
-
67  genTypeU const & y);
-
68 
-
71  template <typename T>
-
72  T fastExp(const T& x);
-
73 
-
76  template <typename T>
-
77  T fastLog(const T& x);
-
78 
-
81  template <typename T>
-
82  T fastExp2(const T& x);
-
83 
-
86  template <typename T>
-
87  T fastLog2(const T& x);
-
88 
-
91  template <typename T>
-
92  T fastLn(const T& x);
-
93 
-
95 }//namespace glm
-
96 
-
97 #include "fast_exponential.inl"
-
98 
-
99 #endif//GLM_GTX_fast_exponential
-
- - - - + + + + + + +GLM: epsilon.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtx/epsilon.hpp
+
+
+
1 
+
24 #if(defined(GLM_MESSAGES))
+
25 # pragma message("GLM: GLM_GTX_epsilon extension is deprecated, include GLM_GTC_epsilon (glm/gtc/epsilon) instead")
+
26 #endif
+
27 
+
28 // Promoted:
+
29 #include "../gtc/epsilon.hpp"
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00024.html glm-0.9.5.1/doc/api/a00024.html --- glm-0.9.4.6/doc/api/a00024.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00024.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,90 +1,134 @@ - - - - - -fast_square_root.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
fast_square_root.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType::value_type fastDistance (genType const &x, genType const &y)
 
template<typename genType >
genType fastInverseSqrt (genType const &x)
 
template<typename genType >
genType::value_type fastLength (genType const &x)
 
template<typename genType >
genType fastNormalize (genType const &x)
 
template<typename genType >
genType fastSqrt (genType const &x)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_fast_square_root

-
Date
2006-01-04 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file fast_square_root.hpp.

-
- - - - + + + + + + +GLM: euler_angles.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
euler_angles.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleX (T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleY (T const &angleY)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZ (T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZX (T const &angle, T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename T >
detail::tmat2x2< T, defaultp > orientate2 (T const &angle)
 
template<typename T >
detail::tmat3x3< T, defaultp > orientate3 (T const &angle)
 
template<typename T , precision P>
detail::tmat3x3< T, P > orientate3 (detail::tvec3< T, P > const &angles)
 
template<typename T , precision P>
detail::tmat4x4< T, P > orientate4 (detail::tvec3< T, P > const &angles)
 
template<typename T >
detail::tmat4x4< T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_euler_angles

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+ +

Definition in file euler_angles.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00024_source.html glm-0.9.5.1/doc/api/a00024_source.html --- glm-0.9.4.6/doc/api/a00024_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00024_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,128 +1,165 @@ - - - - - -fast_square_root.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
fast_square_root.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 #ifndef GLM_GTX_fast_square_root
-
41 #define GLM_GTX_fast_square_root GLM_VERSION
-
42 
-
43 // Dependency:
-
44 #include "../glm.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_fast_square_root extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename genType>
-
58  genType fastSqrt(genType const & x);
-
59 
-
62  template <typename genType>
-
63  genType fastInverseSqrt(genType const & x);
-
64 
-
67  template <typename genType>
-
68  typename genType::value_type fastLength(genType const & x);
-
69 
-
72  template <typename genType>
-
73  typename genType::value_type fastDistance(genType const & x, genType const & y);
-
74 
-
77  template <typename genType>
-
78  genType fastNormalize(genType const & x);
-
79 
-
81 }// namespace glm
-
82 
-
83 #include "fast_square_root.inl"
-
84 
-
85 #endif//GLM_GTX_fast_square_root
-
- - - - + + + + + + +GLM: euler_angles.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
euler_angles.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_euler_angles
+
40 #define GLM_GTX_euler_angles
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_euler_angles extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  template <typename T>
+
57  detail::tmat4x4<T, defaultp> eulerAngleX(
+
58  T const & angleX);
+
59 
+
62  template <typename T>
+
63  detail::tmat4x4<T, defaultp> eulerAngleY(
+
64  T const & angleY);
+
65 
+
68  template <typename T>
+
69  detail::tmat4x4<T, defaultp> eulerAngleZ(
+
70  T const & angleZ);
+
71 
+
74  template <typename T>
+
75  detail::tmat4x4<T, defaultp> eulerAngleXY(
+
76  T const & angleX,
+
77  T const & angleY);
+
78 
+
81  template <typename T>
+
82  detail::tmat4x4<T, defaultp> eulerAngleYX(
+
83  T const & angleY,
+
84  T const & angleX);
+
85 
+
88  template <typename T>
+
89  detail::tmat4x4<T, defaultp> eulerAngleXZ(
+
90  T const & angleX,
+
91  T const & angleZ);
+
92 
+
95  template <typename T>
+
96  detail::tmat4x4<T, defaultp> eulerAngleZX(
+
97  T const & angle,
+
98  T const & angleX);
+
99 
+
102  template <typename T>
+
103  detail::tmat4x4<T, defaultp> eulerAngleYZ(
+
104  T const & angleY,
+
105  T const & angleZ);
+
106 
+
109  template <typename T>
+
110  detail::tmat4x4<T, defaultp> eulerAngleZY(
+
111  T const & angleZ,
+
112  T const & angleY);
+
113 
+
116  template <typename T>
+
117  detail::tmat4x4<T, defaultp> eulerAngleYXZ(
+
118  T const & yaw,
+
119  T const & pitch,
+
120  T const & roll);
+
121 
+
124  template <typename T>
+
125  detail::tmat4x4<T, defaultp> yawPitchRoll(
+
126  T const & yaw,
+
127  T const & pitch,
+
128  T const & roll);
+
129 
+
132  template <typename T>
+
133  detail::tmat2x2<T, defaultp> orientate2(T const & angle);
+
134 
+
137  template <typename T>
+
138  detail::tmat3x3<T, defaultp> orientate3(T const & angle);
+
139 
+
142  template <typename T, precision P>
+
143  detail::tmat3x3<T, P> orientate3(detail::tvec3<T, P> const & angles);
+
144 
+
147  template <typename T, precision P>
+
148  detail::tmat4x4<T, P> orientate4(detail::tvec3<T, P> const & angles);
+
149 
+
151 }//namespace glm
+
152 
+
153 #include "euler_angles.inl"
+
154 
+
155 #endif//GLM_GTX_euler_angles
+
detail::tmat4x4< T, defaultp > yawPitchRoll(T const &yaw, T const &pitch, T const &roll)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
+
detail::tmat4x4< T, defaultp > eulerAngleZX(T const &angle, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).
+
detail::tmat4x4< T, defaultp > eulerAngleYZ(T const &angleY, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).
+
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
detail::tmat4x4< T, defaultp > eulerAngleXY(T const &angleX, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).
+
detail::tmat3x3< T, defaultp > orientate3(T const &angle)
Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.
+
detail::tmat4x4< T, defaultp > eulerAngleZ(T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.
+
detail::tmat4x4< T, P > orientate4(detail::tvec3< T, P > const &angles)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
+
GLM_FUNC_DECL T roll(detail::tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees ot...
+
detail::tmat4x4< T, defaultp > eulerAngleYXZ(T const &yaw, T const &pitch, T const &roll)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
+
detail::tmat4x4< T, defaultp > eulerAngleX(T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.
+
detail::tmat4x4< T, defaultp > eulerAngleYX(T const &angleY, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).
+
detail::tmat4x4< T, defaultp > eulerAngleY(T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.
+
detail::tmat4x4< T, defaultp > eulerAngleZY(T const &angleZ, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).
+
GLM_FUNC_DECL T pitch(detail::tquat< T, P > const &x)
Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees o...
+
detail::tmat2x2< T, defaultp > orientate2(T const &angle)
Creates a 2D 2 * 2 rotation matrix from an euler angle.
+
GLM_FUNC_DECL T yaw(detail::tquat< T, P > const &x)
Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees oth...
+
detail::tmat4x4< T, defaultp > eulerAngleXZ(T const &angleX, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00025.html glm-0.9.5.1/doc/api/a00025.html --- glm-0.9.4.6/doc/api/a00025.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00025.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,96 +1,74 @@ - - - - - -fast_trigonometry.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
fast_trigonometry.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
fastAcos (const T &angle)
 
template<typename T >
fastAsin (const T &angle)
 
template<typename T >
fastAtan (const T &y, const T &x)
 
template<typename T >
fastAtan (const T &angle)
 
template<typename T >
fastCos (const T &angle)
 
template<typename T >
fastSin (const T &angle)
 
template<typename T >
fastTan (const T &angle)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_fast_trigonometry

-
Date
2006-01-08 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file fast_trigonometry.hpp.

-
- - - - + + + + + + +GLM: exponential.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
exponential.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file exponential.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00025_source.html glm-0.9.5.1/doc/api/a00025_source.html --- glm-0.9.4.6/doc/api/a00025_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00025_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,132 +1,69 @@ - - - - - -fast_trigonometry.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
fast_trigonometry.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_fast_trigonometry
-
39 #define GLM_GTX_fast_trigonometry GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_fast_trigonometry extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
56  template <typename T>
-
57  T fastSin(const T& angle);
-
58 
-
62  template <typename T>
-
63  T fastCos(const T& angle);
-
64 
-
68  template <typename T>
-
69  T fastTan(const T& angle);
-
70 
-
74  template <typename T>
-
75  T fastAsin(const T& angle);
-
76 
-
80  template <typename T>
-
81  T fastAcos(const T& angle);
-
82 
-
86  template <typename T>
-
87  T fastAtan(const T& y, const T& x);
-
88 
-
92  template <typename T>
-
93  T fastAtan(const T& angle);
-
94 
-
96 }//namespace glm
-
97 
-
98 #include "fast_trigonometry.inl"
-
99 
-
100 #endif//GLM_GTX_fast_trigonometry
-
- - - - + + + + + + +GLM: exponential.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
exponential.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_EXPONENTIAL_INCLUDED
+
30 #define GLM_EXPONENTIAL_INCLUDED
+
31 
+
32 #include "detail/func_exponential.hpp"
+
33 
+
34 #endif//GLM_EXPONENTIAL_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00026.html glm-0.9.5.1/doc/api/a00026.html --- glm-0.9.4.6/doc/api/a00026.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00026.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,153 +0,0 @@ - - - - - -func_common.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
func_common.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType abs (genType const &x)
 
template<typename genType >
genType ceil (genType const &x)
 
template<typename genType >
genType clamp (genType const &x, genType const &minVal, genType const &maxVal)
 
template<typename genType , typename genIType >
genIType floatBitsToInt (genType const &value)
 
template<typename genType , typename genUType >
genUType floatBitsToUint (genType const &value)
 
template<typename genType >
genType floor (genType const &x)
 
template<typename genType >
genType fma (genType const &a, genType const &b, genType const &c)
 
template<typename genType >
genType fract (genType const &x)
 
template<typename genType , typename genIType >
genType frexp (genType const &x, genIType &exp)
 
template<typename genType , typename genIType >
genType intBitsToFloat (genIType const &value)
 
template<typename genType >
genType::bool_type isinf (genType const &x)
 
template<typename genType >
genType::bool_type isnan (genType const &x)
 
template<typename genType , typename genIType >
genType ldexp (genType const &x, genIType const &exp)
 
template<typename genType >
genType max (genType const &x, genType const &y)
 
template<typename genType >
genType min (genType const &x, genType const &y)
 
template<typename genTypeT , typename genTypeU >
genTypeT mix (genTypeT const &x, genTypeT const &y, genTypeU const &a)
 
template<typename genType >
genType mod (genType const &x, genType const &y)
 
template<typename genType >
genType mod (genType const &x, typename genType::value_type const &y)
 
template<typename genType >
genType modf (genType const &x, genType &i)
 
template<typename genType >
genType round (genType const &x)
 
template<typename genType >
genType roundEven (genType const &x)
 
template<typename genType >
genType sign (genType const &x)
 
template<typename genType >
genType smoothstep (genType const &edge0, genType const &edge1, genType const &x)
 
template<typename genType >
genType step (genType const &edge, genType const &x)
 
template<typename genType >
genType trunc (genType const &x)
 
template<typename genType , typename genUType >
genType uintBitsToFloat (genUType const &value)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-03-08 / 2010-01-26
-
Author
Christophe Riccio
-
See Also
GLSL 4.20.8 specification, section 8.3 Common Functions
- -

Definition in file func_common.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00026_source.html glm-0.9.5.1/doc/api/a00026_source.html --- glm-0.9.4.6/doc/api/a00026_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00026_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,227 +1,204 @@ - - - - - -func_common.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
func_common.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 #ifndef GLM_CORE_func_common
-
37 #define GLM_CORE_func_common GLM_VERSION
-
38 
-
39 #include "_fixes.hpp"
-
40 
-
41 namespace glm
-
42 {
-
45 
-
52  template <typename genType>
-
53  genType abs(genType const & x);
-
54 
-
61  template <typename genType>
-
62  genType sign(genType const & x);
-
63 
-
70  template <typename genType>
-
71  genType floor(genType const & x);
-
72 
-
80  template <typename genType>
-
81  genType trunc(genType const & x);
-
82 
-
93  template <typename genType>
-
94  genType round(genType const & x);
-
95 
-
105  template <typename genType>
-
106  genType roundEven(genType const & x);
-
107 
-
115  template <typename genType>
-
116  genType ceil(genType const & x);
-
117 
-
124  template <typename genType>
-
125  genType fract(genType const & x);
-
126 
-
134  template <typename genType>
-
135  genType mod(
-
136  genType const & x,
-
137  genType const & y);
-
138 
-
146  template <typename genType>
-
147  genType mod(
-
148  genType const & x,
-
149  typename genType::value_type const & y);
-
150 
-
160  template <typename genType>
-
161  genType modf(
-
162  genType const & x,
-
163  genType & i);
-
164 
-
171  template <typename genType>
-
172  genType min(
-
173  genType const & x,
-
174  genType const & y);
-
175 
-
176  template <typename genType>
-
177  genType min(
-
178  genType const & x,
-
179  typename genType::value_type const & y);
-
180 
-
187  template <typename genType>
-
188  genType max(
-
189  genType const & x,
-
190  genType const & y);
-
191 
-
192  template <typename genType>
-
193  genType max(
-
194  genType const & x,
-
195  typename genType::value_type const & y);
-
196 
-
204  template <typename genType>
-
205  genType clamp(
-
206  genType const & x,
-
207  genType const & minVal,
-
208  genType const & maxVal);
-
209 
-
210  template <typename genType>
-
211  genType clamp(
-
212  genType const & x,
-
213  typename genType::value_type const & minVal,
-
214  typename genType::value_type const & maxVal);
-
215 
-
258  template <typename genTypeT, typename genTypeU>
-
259  genTypeT mix(genTypeT const & x, genTypeT const & y, genTypeU const & a);
-
260 
-
265  template <typename genType>
-
266  genType step(
-
267  genType const & edge,
-
268  genType const & x);
-
269 
-
270  template <typename genType>
-
271  genType step(
-
272  typename genType::value_type const & edge,
-
273  genType const & x);
-
274 
-
289  template <typename genType>
-
290  genType smoothstep(
-
291  genType const & edge0,
-
292  genType const & edge1,
-
293  genType const & x);
-
294 
-
295  template <typename genType>
-
296  genType smoothstep(
-
297  typename genType::value_type const & edge0,
-
298  typename genType::value_type const & edge1,
-
299  genType const & x);
-
300 
-
313  template <typename genType>
-
314  typename genType::bool_type isnan(genType const & x);
-
315 
-
326  template <typename genType>
-
327  typename genType::bool_type isinf(genType const & x);
-
328 
-
338  template <typename genType, typename genIType>
-
339  genIType floatBitsToInt(genType const & value);
-
340 
-
350  template <typename genType, typename genUType>
-
351  genUType floatBitsToUint(genType const & value);
-
352 
-
366  template <typename genType, typename genIType>
-
367  genType intBitsToFloat(genIType const & value);
-
368 
-
382  template <typename genType, typename genUType>
-
383  genType uintBitsToFloat(genUType const & value);
-
384 
-
391  template <typename genType>
-
392  genType fma(genType const & a, genType const & b, genType const & c);
-
393 
-
408  template <typename genType, typename genIType>
-
409  genType frexp(genType const & x, genIType & exp);
-
410 
-
422  template <typename genType, typename genIType>
-
423  genType ldexp(genType const & x, genIType const & exp);
-
424 
-
426 }//namespace glm
-
427 
-
428 #include "func_common.inl"
-
429 
-
430 #endif//GLM_CORE_func_common
-
- - - - + + + + + + +GLM: ext.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
ext.hpp
+
+
+
1 
+
58 #ifndef GLM_EXT_INCLUDED
+
59 #define GLM_EXT_INCLUDED
+
60 
+
61 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED))
+
62 # define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED
+
63 # pragma message("GLM: All extensions included (not recommanded)")
+
64 #endif//GLM_MESSAGES
+
65 
+
66 #include "./gtc/constants.hpp"
+
67 #include "./gtc/epsilon.hpp"
+
68 #include "./gtc/matrix_access.hpp"
+
69 #include "./gtc/matrix_integer.hpp"
+
70 #include "./gtc/matrix_inverse.hpp"
+ +
72 #include "./gtc/noise.hpp"
+
73 #include "./gtc/packing.hpp"
+
74 #include "./gtc/quaternion.hpp"
+
75 #include "./gtc/random.hpp"
+
76 #include "./gtc/reciprocal.hpp"
+
77 #include "./gtc/type_precision.hpp"
+
78 #include "./gtc/type_ptr.hpp"
+
79 #include "./gtc/ulp.hpp"
+
80 
+ +
82 #include "./gtx/bit.hpp"
+
83 #include "./gtx/closest_point.hpp"
+
84 #include "./gtx/color_space.hpp"
+ +
86 #include "./gtx/compatibility.hpp"
+
87 #include "./gtx/component_wise.hpp"
+ +
89 #include "./gtx/euler_angles.hpp"
+
90 #include "./gtx/extend.hpp"
+ + + + +
95 #include "./gtx/gradient_paint.hpp"
+ +
97 #include "./gtx/inertia.hpp"
+
98 #include "./gtx/int_10_10_10_2.hpp"
+
99 #include "./gtx/integer.hpp"
+
100 #include "./gtx/intersect.hpp"
+
101 #include "./gtx/log_base.hpp"
+ + + + +
106 #include "./gtx/matrix_query.hpp"
+
107 #include "./gtx/mixed_product.hpp"
+
108 #include "./gtx/multiple.hpp"
+
109 #include "./gtx/norm.hpp"
+
110 #include "./gtx/normal.hpp"
+
111 #include "./gtx/normalize_dot.hpp"
+ +
113 #include "./gtx/optimum_pow.hpp"
+
114 #include "./gtx/orthonormalize.hpp"
+
115 #include "./gtx/perpendicular.hpp"
+ +
117 #include "./gtx/projection.hpp"
+
118 #include "./gtx/quaternion.hpp"
+
119 #include "./gtx/raw_data.hpp"
+
120 #include "./gtx/rotate_vector.hpp"
+
121 #include "./gtx/spline.hpp"
+
122 #include "./gtx/std_based_type.hpp"
+
123 #include "./gtx/string_cast.hpp"
+
124 #include "./gtx/transform.hpp"
+
125 #include "./gtx/transform2.hpp"
+
126 #include "./gtx/vec1.hpp"
+
127 #include "./gtx/vector_angle.hpp"
+
128 #include "./gtx/vector_query.hpp"
+
129 #include "./gtx/wrap.hpp"
+
130 
+
131 #if(GLM_ARCH & GLM_ARCH_SSE2)
+
132 # include "./gtx/simd_vec4.hpp"
+
133 # include "./gtx/simd_mat4.hpp"
+
134 #endif
+
135 
+
136 #endif //GLM_EXT_INCLUDED
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00027.html glm-0.9.5.1/doc/api/a00027.html --- glm-0.9.4.6/doc/api/a00027.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00027.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,96 +1,90 @@ - - - - - -func_exponential.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
func_exponential.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType exp (genType const &x)
 
template<typename genType >
genType exp2 (genType const &x)
 
template<typename genType >
genType inversesqrt (genType const &x)
 
template<typename genType >
genType log (genType const &x)
 
template<typename genType >
genType log2 (genType const &x)
 
template<typename genType >
genType pow (genType const &x, genType const &y)
 
template<typename genType >
genType sqrt (genType const &x)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-08 / 2011-06-14
-
Author
Christophe Riccio
-
See Also
GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -

Definition in file func_exponential.hpp.

-
- - - - + + + + + + +GLM: extend.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
extend.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_extend

+
Date
2006-01-07 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file extend.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00027_source.html glm-0.9.5.1/doc/api/a00027_source.html --- glm-0.9.4.6/doc/api/a00027_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00027_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,123 +1,88 @@ - - - - - -func_exponential.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
func_exponential.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 #ifndef glm_core_func_exponential
-
37 #define glm_core_func_exponential GLM_VERSION
-
38 
-
39 namespace glm
-
40 {
-
43 
-
52  template <typename genType>
-
53  genType pow(genType const & x, genType const & y);
-
54 
-
62  template <typename genType>
-
63  genType exp(genType const & x);
-
64 
-
74  template <typename genType>
-
75  genType log(genType const & x);
-
76 
-
84  template <typename genType>
-
85  genType exp2(genType const & x);
-
86 
-
95  template <typename genType>
-
96  genType log2(genType const & x);
-
97 
-
105  template <typename genType>
-
106  genType sqrt(genType const & x);
-
107 
-
115  template <typename genType>
-
116  genType inversesqrt(genType const & x);
-
117 
-
119 }//namespace glm
-
120 
-
121 #include "func_exponential.inl"
-
122 
-
123 #endif//glm_core_func_exponential
-
- - - - + + + + + + +GLM: extend.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
extend.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_extend
+
39 #define GLM_GTX_extend
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_extend extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename genType>
+
56  GLM_FUNC_DECL genType extend(
+
57  genType const & Origin,
+
58  genType const & Source,
+
59  typename genType::value_type const Length);
+
60 
+
62 }//namespace glm
+
63 
+
64 #include "extend.inl"
+
65 
+
66 #endif//GLM_GTX_extend
+
GLM_FUNC_DECL genType extend(genType const &Origin, genType const &Source, typename genType::value_type const Length)
Extends of Length the Origin position using the (Source - Origin) direction.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00028.html glm-0.9.5.1/doc/api/a00028.html --- glm-0.9.4.6/doc/api/a00028.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00028.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,99 +1,125 @@ - - - - - -func_geometric.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
func_geometric.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tvec3< valType > cross (detail::tvec3< valType > const &x, detail::tvec3< valType > const &y)
 
template<typename genType >
genType::value_type distance (genType const &p0, genType const &p1)
 
template<typename genType >
genType::value_type dot (genType const &x, genType const &y)
 
template<typename genType >
genType faceforward (genType const &N, genType const &I, genType const &Nref)
 
template<typename genType >
genType::value_type length (genType const &x)
 
template<typename genType >
genType normalize (genType const &x)
 
template<typename genType >
genType reflect (genType const &I, genType const &N)
 
template<typename genType >
genType refract (genType const &I, genType const &N, typename genType::value_type const &eta)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-03 / 2011-06-14
-
Author
Christophe Riccio
-
See Also
GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -

Definition in file func_geometric.hpp.

-
- - - - + + + + + + +GLM: extented_min_max.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
extented_min_max.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T >
min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_extented_min_max

+
Date
2007-03-14 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+gtx_half_float (dependence)
+ +

Definition in file extented_min_max.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00028_source.html glm-0.9.5.1/doc/api/a00028_source.html --- glm-0.9.4.6/doc/api/a00028_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00028_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,142 +1,193 @@ - - - - - -func_geometric.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
func_geometric.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 #ifndef glm_core_func_geometric
-
37 #define glm_core_func_geometric GLM_VERSION
-
38 
-
39 namespace glm
-
40 {
-
43 
-
50  template <typename genType>
-
51  typename genType::value_type length(
-
52  genType const & x);
-
53 
-
60  template <typename genType>
-
61  typename genType::value_type distance(
-
62  genType const & p0,
-
63  genType const & p1);
-
64 
-
71  template <typename genType>
-
72  typename genType::value_type dot(
-
73  genType const & x,
-
74  genType const & y);
-
75 
-
82  template <typename valType>
-
83  detail::tvec3<valType> cross(
-
84  detail::tvec3<valType> const & x,
-
85  detail::tvec3<valType> const & y);
-
86 
-
91  template <typename genType>
-
92  genType normalize(
-
93  genType const & x);
-
94 
-
101  template <typename genType>
-
102  genType faceforward(
-
103  genType const & N,
-
104  genType const & I,
-
105  genType const & Nref);
-
106 
-
114  template <typename genType>
-
115  genType reflect(
-
116  genType const & I,
-
117  genType const & N);
-
118 
-
127  template <typename genType>
-
128  genType refract(
-
129  genType const & I,
-
130  genType const & N,
-
131  typename genType::value_type const & eta);
-
132 
-
134 }//namespace glm
-
135 
-
136 #include "func_geometric.inl"
-
137 
-
138 #endif//glm_core_func_geometric
-
- - - - + + + + + + +GLM: extented_min_max.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
extented_min_max.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_extented_min_max
+
40 #define GLM_GTX_extented_min_max
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_extented_min_max extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  template <typename T>
+
57  T min(
+
58  T const & x,
+
59  T const & y,
+
60  T const & z);
+
61 
+
64  template
+
65  <
+
66  typename T,
+
67  template <typename> class C
+
68  >
+
69  C<T> min(
+
70  C<T> const & x,
+
71  typename C<T>::T const & y,
+
72  typename C<T>::T const & z);
+
73 
+
76  template
+
77  <
+
78  typename T,
+
79  template <typename> class C
+
80  >
+
81  C<T> min(
+
82  C<T> const & x,
+
83  C<T> const & y,
+
84  C<T> const & z);
+
85 
+
88  template <typename T>
+
89  T min(
+
90  T const & x,
+
91  T const & y,
+
92  T const & z,
+
93  T const & w);
+
94 
+
97  template
+
98  <
+
99  typename T,
+
100  template <typename> class C
+
101  >
+
102  C<T> min(
+
103  C<T> const & x,
+
104  typename C<T>::T const & y,
+
105  typename C<T>::T const & z,
+
106  typename C<T>::T const & w);
+
107 
+
110  template
+
111  <
+
112  typename T,
+
113  template <typename> class C
+
114  >
+
115  C<T> min(
+
116  C<T> const & x,
+
117  C<T> const & y,
+
118  C<T> const & z,
+
119  C<T> const & w);
+
120 
+
123  template <typename T>
+
124  T max(
+
125  T const & x,
+
126  T const & y,
+
127  T const & z);
+
128 
+
131  template
+
132  <
+
133  typename T,
+
134  template <typename> class C
+
135  >
+
136  C<T> max(
+
137  C<T> const & x,
+
138  typename C<T>::T const & y,
+
139  typename C<T>::T const & z);
+
140 
+
143  template
+
144  <
+
145  typename T,
+
146  template <typename> class C
+
147  >
+
148  C<T> max(
+
149  C<T> const & x,
+
150  C<T> const & y,
+
151  C<T> const & z);
+
152 
+
155  template <typename T>
+
156  T max(
+
157  T const & x,
+
158  T const & y,
+
159  T const & z,
+
160  T const & w);
+
161 
+
164  template
+
165  <
+
166  typename T,
+
167  template <typename> class C
+
168  >
+
169  C<T> max(
+
170  C<T> const & x,
+
171  typename C<T>::T const & y,
+
172  typename C<T>::T const & z,
+
173  typename C<T>::T const & w);
+
174 
+
177  template
+
178  <
+
179  typename T,
+
180  template <typename> class C
+
181  >
+
182  C<T> max(
+
183  C<T> const & x,
+
184  C<T> const & y,
+
185  C<T> const & z,
+
186  C<T> const & w);
+
187 
+
189 }//namespace glm
+
190 
+
191 #include "extented_min_max.inl"
+
192 
+
193 #endif//GLM_GTX_extented_min_max
+
GLM_FUNC_DECL genType max(genType const &x, genType const &y)
Returns y if x &lt; y; otherwise, it returns x.
+
GLM_FUNC_DECL genType min(genType const &x, genType const &y)
Returns y if y &lt; x; otherwise, it returns x.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00029.html glm-0.9.5.1/doc/api/a00029.html --- glm-0.9.4.6/doc/api/a00029.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00029.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,105 +1,110 @@ - - - - - -func_integer.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
func_integer.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T , template< typename > class genIUType>
genIUType< T >::signed_type bitCount (genIUType< T > const &Value)
 
template<typename genIUType >
genIUType bitfieldExtract (genIUType const &Value, int const &Offset, int const &Bits)
 
template<typename genIUType >
genIUType bitfieldInsert (genIUType const &Base, genIUType const &Insert, int const &Offset, int const &Bits)
 
template<typename genIUType >
genIUType bitfieldReverse (genIUType const &Value)
 
template<typename T , template< typename > class genIUType>
genIUType< T >::signed_type findLSB (genIUType< T > const &Value)
 
template<typename T , template< typename > class genIUType>
genIUType< T >::signed_type findMSB (genIUType< T > const &Value)
 
template<typename genIType >
void imulExtended (genIType const &x, genIType const &y, genIType &msb, genIType &lsb)
 
template<typename genUType >
genUType uaddCarry (genUType const &x, genUType const &y, genUType &carry)
 
template<typename genUType >
void umulExtended (genUType const &x, genUType const &y, genUType &msb, genUType &lsb)
 
template<typename genUType >
genUType usubBorrow (genUType const &x, genUType const &y, genUType &borrow)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2010-03-17 / 2011-06-18
-
Author
Christophe Riccio
-
See Also
GLSL 4.20.8 specification, section 8.8 Integer Functions
- -

Definition in file func_integer.hpp.

-
- - - - + + + + + + +GLM: fast_exponential.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
fast_exponential.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
fastExp (const T &x)
 
template<typename T >
fastExp2 (const T &x)
 
template<typename T >
fastLn (const T &x)
 
template<typename T >
fastLog (const T &x)
 
template<typename T >
fastLog2 (const T &x)
 
template<typename genType >
genType fastPow (genType const &x, genType const &y)
 
template<typename genTypeT , typename genTypeU >
genTypeT fastPow (genTypeT const &x, genTypeU const &y)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_fast_exponential

+
Date
2006-01-09 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+gtx_half_float (dependence)
+ +

Definition in file fast_exponential.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00029_source.html glm-0.9.5.1/doc/api/a00029_source.html --- glm-0.9.4.6/doc/api/a00029_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00029_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,156 +1,112 @@ - - - - - -func_integer.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
func_integer.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef glm_core_func_integer
-
39 #define glm_core_func_integer GLM_VERSION
-
40 
-
41 namespace glm
-
42 {
-
45 
-
54  template <typename genUType>
-
55  genUType uaddCarry(
-
56  genUType const & x,
-
57  genUType const & y,
-
58  genUType & carry);
-
59 
-
68  template <typename genUType>
-
69  genUType usubBorrow(
-
70  genUType const & x,
-
71  genUType const & y,
-
72  genUType & borrow);
-
73 
-
82  template <typename genUType>
-
83  void umulExtended(
-
84  genUType const & x,
-
85  genUType const & y,
-
86  genUType & msb,
-
87  genUType & lsb);
-
88 
-
97  template <typename genIType>
-
98  void imulExtended(
-
99  genIType const & x,
-
100  genIType const & y,
-
101  genIType & msb,
-
102  genIType & lsb);
-
103 
-
119  template <typename genIUType>
-
120  genIUType bitfieldExtract(
-
121  genIUType const & Value,
-
122  int const & Offset,
-
123  int const & Bits);
-
124 
-
139  template <typename genIUType>
-
140  genIUType bitfieldInsert(
-
141  genIUType const & Base,
-
142  genIUType const & Insert,
-
143  int const & Offset,
-
144  int const & Bits);
-
145 
-
154  template <typename genIUType>
-
155  genIUType bitfieldReverse(genIUType const & Value);
-
156 
-
165  template <typename T, template <typename> class genIUType>
-
166  typename genIUType<T>::signed_type bitCount(genIUType<T> const & Value);
-
167 
-
178  template <typename T, template <typename> class genIUType>
-
179  typename genIUType<T>::signed_type findLSB(genIUType<T> const & Value);
-
180 
-
192  template <typename T, template <typename> class genIUType>
-
193  typename genIUType<T>::signed_type findMSB(genIUType<T> const & Value);
-
194 
-
196 }//namespace glm
-
197 
-
198 #include "func_integer.inl"
-
199 
-
200 #endif//glm_core_func_integer
-
201 
-
- - - - + + + + + + +GLM: fast_exponential.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
fast_exponential.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_fast_exponential
+
40 #define GLM_GTX_fast_exponential
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_fast_exponential extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  template <typename genType>
+
57  genType fastPow(
+
58  genType const & x,
+
59  genType const & y);
+
60 
+
63  template <typename genTypeT, typename genTypeU>
+
64  genTypeT fastPow(
+
65  genTypeT const & x,
+
66  genTypeU const & y);
+
67 
+
70  template <typename T>
+
71  T fastExp(const T& x);
+
72 
+
75  template <typename T>
+
76  T fastLog(const T& x);
+
77 
+
80  template <typename T>
+
81  T fastExp2(const T& x);
+
82 
+
85  template <typename T>
+
86  T fastLog2(const T& x);
+
87 
+
90  template <typename T>
+
91  T fastLn(const T& x);
+
92 
+
94 }//namespace glm
+
95 
+
96 #include "fast_exponential.inl"
+
97 
+
98 #endif//GLM_GTX_fast_exponential
+
T fastLn(const T &x)
Faster than the common ln function but less accurate.
+
T fastLog(const T &x)
Faster than the common log function but less accurate.
+
T fastExp(const T &x)
Faster than the common exp function but less accurate.
+
T fastExp2(const T &x)
Faster than the common exp2 function but less accurate.
+
genType fastPow(genType const &x, genType const &y)
Faster than the common pow function but less accurate.
+
T fastLog2(const T &x)
Faster than the common log2 function but less accurate.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00030.html glm-0.9.5.1/doc/api/a00030.html --- glm-0.9.4.6/doc/api/a00030.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00030.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,105 +1,102 @@ - - - - - -func_matrix.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
func_matrix.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tmat2x2< valType >
-::value_type 
determinant (detail::tmat2x2< valType > const &m)
 
template<typename valType >
detail::tmat3x3< valType >
-::value_type 
determinant (detail::tmat3x3< valType > const &m)
 
template<typename valType >
detail::tmat4x4< valType >
-::value_type 
determinant (detail::tmat4x4< valType > const &m)
 
template<typename valType >
detail::tmat2x2< valType > inverse (detail::tmat2x2< valType > const &m)
 
template<typename valType >
detail::tmat3x3< valType > inverse (detail::tmat3x3< valType > const &m)
 
template<typename valType >
detail::tmat4x4< valType > inverse (detail::tmat4x4< valType > const &m)
 
template<typename matType >
matType matrixCompMult (matType const &x, matType const &y)
 
template<typename vecType , typename matType >
matType outerProduct (vecType const &c, vecType const &r)
 
template<typename matType >
matType::transpose_type transpose (matType const &x)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-03 / 2011-06-15
-
Author
Christophe Riccio
-
See Also
GLSL 4.20.8 specification, section 8.6 Matrix Functions
- -

Definition in file func_matrix.hpp.

-
- - - - + + + + + + +GLM: fast_square_root.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
fast_square_root.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
genType::value_type fastDistance (genType const &x, genType const &y)
 
template<typename genType >
genType fastInverseSqrt (genType const &x)
 
template<typename genType >
genType::value_type fastLength (genType const &x)
 
template<typename genType >
genType fastNormalize (genType const &x)
 
template<typename genType >
genType fastSqrt (genType const &x)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_fast_square_root

+
Date
2006-01-04 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file fast_square_root.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00030_source.html glm-0.9.5.1/doc/api/a00030_source.html --- glm-0.9.4.6/doc/api/a00030_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00030_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,144 +1,101 @@ - - - - - -func_matrix.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
func_matrix.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 #ifndef GLM_CORE_func_matrix
-
41 #define GLM_CORE_func_matrix GLM_VERSION
-
42 
-
43 namespace glm
-
44 {
-
47 
-
55  template <typename matType>
-
56  matType matrixCompMult(
-
57  matType const & x,
-
58  matType const & y);
-
59 
-
70  template <typename vecType, typename matType>
-
71  matType outerProduct(
-
72  vecType const & c,
-
73  vecType const & r);
-
74 
-
81  template <typename matType>
-
82  typename matType::transpose_type transpose(
-
83  matType const & x);
-
84 
-
91  template <typename valType>
-
92  typename detail::tmat2x2<valType>::value_type determinant(
-
93  detail::tmat2x2<valType> const & m);
-
94 
-
101  template <typename valType>
-
102  typename detail::tmat3x3<valType>::value_type determinant(
-
103  detail::tmat3x3<valType> const & m);
-
104 
-
111  template <typename valType>
-
112  typename detail::tmat4x4<valType>::value_type determinant(
-
113  detail::tmat4x4<valType> const & m);
-
114 
-
121  template <typename valType>
-
122  detail::tmat2x2<valType> inverse(
-
123  detail::tmat2x2<valType> const & m);
-
124 
-
131  template <typename valType>
-
132  detail::tmat3x3<valType> inverse(
-
133  detail::tmat3x3<valType> const & m);
-
134 
-
141  template <typename valType>
-
142  detail::tmat4x4<valType> inverse(
-
143  detail::tmat4x4<valType> const & m);
-
144 
-
146 }//namespace glm
-
147 
-
148 #include "func_matrix.inl"
-
149 
-
150 #endif//GLM_CORE_func_matrix
-
- - - - + + + + + + +GLM: fast_square_root.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
fast_square_root.hpp
+
+
+Go to the documentation of this file.
1 
+
40 #ifndef GLM_GTX_fast_square_root
+
41 #define GLM_GTX_fast_square_root
+
42 
+
43 // Dependency:
+
44 #include "../glm.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_fast_square_root extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
+
54 
+
57  template <typename genType>
+
58  genType fastSqrt(genType const & x);
+
59 
+
62  template <typename genType>
+
63  genType fastInverseSqrt(genType const & x);
+
64 
+
67  template <typename genType>
+
68  typename genType::value_type fastLength(genType const & x);
+
69 
+
72  template <typename genType>
+
73  typename genType::value_type fastDistance(genType const & x, genType const & y);
+
74 
+
77  template <typename genType>
+
78  genType fastNormalize(genType const & x);
+
79 
+
81 }// namespace glm
+
82 
+
83 #include "fast_square_root.inl"
+
84 
+
85 #endif//GLM_GTX_fast_square_root
+
genType fastSqrt(genType const &x)
Faster than the common sqrt function but less accurate.
+
genType fastInverseSqrt(genType const &x)
Faster than the common inversesqrt function but less accurate.
+
genType::value_type fastDistance(genType const &x, genType const &y)
Faster than the common distance function but less accurate.
+
genType fastNormalize(genType const &x)
Faster than the common normalize function but less accurate.
+
genType::value_type fastLength(genType const &x)
Faster than the common length function but less accurate.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00031.html glm-0.9.5.1/doc/api/a00031.html --- glm-0.9.4.6/doc/api/a00031.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00031.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,90 +1,108 @@ - - - - - -func_noise.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
func_noise.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType::value_type noise1 (genType const &x)
 
template<typename genType >
detail::tvec2< typename
-genType::value_type > 
noise2 (genType const &x)
 
template<typename genType >
detail::tvec3< typename
-genType::value_type > 
noise3 (genType const &x)
 
template<typename genType >
detail::tvec4< typename
-genType::value_type > 
noise4 (genType const &x)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-01 / 2011-06-18
-
Author
Christophe Riccio
-
See Also
GLSL 4.20.8 specification, section 8.13 Noise Functions
- -

Definition in file func_noise.hpp.

-
- - - - + + + + + + +GLM: fast_trigonometry.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
fast_trigonometry.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
fastAcos (const T &angle)
 
template<typename T >
fastAsin (const T &angle)
 
template<typename T >
fastAtan (const T &y, const T &x)
 
template<typename T >
fastAtan (const T &angle)
 
template<typename T >
fastCos (const T &angle)
 
template<typename T >
fastSin (const T &angle)
 
template<typename T >
fastTan (const T &angle)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_fast_trigonometry

+
Date
2006-01-08 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file fast_trigonometry.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00031_source.html glm-0.9.5.1/doc/api/a00031_source.html --- glm-0.9.4.6/doc/api/a00031_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00031_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,116 +1,109 @@ - - - - - -func_noise.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
func_noise.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef glm_core_func_noise
-
39 #define glm_core_func_noise GLM_VERSION
-
40 
-
41 namespace glm
-
42 {
-
45 
-
52  template <typename genType>
-
53  typename genType::value_type noise1(genType const & x);
-
54 
-
61  template <typename genType>
-
62  detail::tvec2<typename genType::value_type> noise2(genType const & x);
-
63 
-
70  template <typename genType>
-
71  detail::tvec3<typename genType::value_type> noise3(genType const & x);
-
72 
-
79  template <typename genType>
-
80  detail::tvec4<typename genType::value_type> noise4(genType const & x);
-
81 
-
83 }//namespace glm
-
84 
-
85 #include "func_noise.inl"
-
86 
-
87 #endif//glm_core_func_noise
-
- - - - + + + + + + +GLM: fast_trigonometry.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
fast_trigonometry.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_fast_trigonometry
+
39 #define GLM_GTX_fast_trigonometry
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_fast_trigonometry extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
56  template <typename T>
+
57  T fastSin(const T& angle);
+
58 
+
62  template <typename T>
+
63  T fastCos(const T& angle);
+
64 
+
68  template <typename T>
+
69  T fastTan(const T& angle);
+
70 
+
74  template <typename T>
+
75  T fastAsin(const T& angle);
+
76 
+
80  template <typename T>
+
81  T fastAcos(const T& angle);
+
82 
+
86  template <typename T>
+
87  T fastAtan(const T& y, const T& x);
+
88 
+
92  template <typename T>
+
93  T fastAtan(const T& angle);
+
94 
+
96 }//namespace glm
+
97 
+
98 #include "fast_trigonometry.inl"
+
99 
+
100 #endif//GLM_GTX_fast_trigonometry
+
T fastAcos(const T &angle)
Faster than the common acos function but less accurate.
+
T fastAtan(const T &y, const T &x)
Faster than the common atan function but less accurate.
+
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
T fastAsin(const T &angle)
Faster than the common asin function but less accurate.
+
T fastTan(const T &angle)
Faster than the common tan function but less accurate.
+
T fastSin(const T &angle)
Faster than the common sin function but less accurate.
+
T fastCos(const T &angle)
Faster than the common cos function but less accurate.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00032.html glm-0.9.5.1/doc/api/a00032.html --- glm-0.9.4.6/doc/api/a00032.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00032.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,99 +0,0 @@ - - - - - -func_packing.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
func_packing.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

double packDouble2x32 (detail::tvec2< detail::uint32 > const &v)
 
uint packHalf2x16 (vec2 const &v)
 
detail::uint32 packSnorm2x16 (detail::tvec2< detail::float32 > const &v)
 
detail::uint32 packSnorm4x8 (detail::tvec4< detail::float32 > const &v)
 
detail::uint32 packUnorm2x16 (detail::tvec2< detail::float32 > const &v)
 
detail::uint32 packUnorm4x8 (detail::tvec4< detail::float32 > const &v)
 
detail::tvec2< detail::uint32 > unpackDouble2x32 (double const &v)
 
vec2 unpackHalf2x16 (uint const &v)
 
detail::tvec2< detail::float32 > unpackSnorm2x16 (detail::uint32 const &p)
 
detail::tvec4< detail::float32 > unpackSnorm4x8 (detail::uint32 const &p)
 
detail::tvec2< detail::float32 > unpackUnorm2x16 (detail::uint32 const &p)
 
detail::tvec4< detail::float32 > unpackUnorm4x8 (detail::uint32 const &p)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2010-03-17 / 2011-06-15
-
Author
Christophe Riccio
-
See Also
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -

Definition in file func_packing.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00032_source.html glm-0.9.5.1/doc/api/a00032_source.html --- glm-0.9.4.6/doc/api/a00032_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00032_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,127 +1,240 @@ - - - - - -func_packing.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
func_packing.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 #ifndef GLM_CORE_func_packing
-
37 #define GLM_CORE_func_packing GLM_VERSION
-
38 
-
39 namespace glm
-
40 {
-
43 
-
55  detail::uint32 packUnorm2x16(detail::tvec2<detail::float32> const & v);
-
56 
-
68  detail::uint32 packSnorm2x16(detail::tvec2<detail::float32> const & v);
-
69 
-
81  detail::uint32 packUnorm4x8(detail::tvec4<detail::float32> const & v);
-
82 
-
94  detail::uint32 packSnorm4x8(detail::tvec4<detail::float32> const & v);
-
95 
-
107  detail::tvec2<detail::float32> unpackUnorm2x16(detail::uint32 const & p);
-
108 
-
120  detail::tvec2<detail::float32> unpackSnorm2x16(detail::uint32 const & p);
-
121 
-
133  detail::tvec4<detail::float32> unpackUnorm4x8(detail::uint32 const & p);
-
134 
-
146  detail::tvec4<detail::float32> unpackSnorm4x8(detail::uint32 const & p);
-
147 
-
156  double packDouble2x32(detail::tvec2<detail::uint32> const & v);
-
157 
-
165  detail::tvec2<detail::uint32> unpackDouble2x32(double const & v);
-
166 
-
175  uint packHalf2x16(vec2 const & v);
-
176 
-
185  vec2 unpackHalf2x16(uint const & v);
-
186 
-
188 }//namespace glm
-
189 
-
190 #include "func_packing.inl"
-
191 
-
192 #endif//GLM_CORE_func_packing
-
193 
-
- - - - + + + + + + +GLM: func_common.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
func_common.hpp
+
+
+
1 
+
36 #ifndef GLM_FUNC_COMMON_INCLUDED
+
37 #define GLM_FUNC_COMMON_INCLUDED
+
38 
+
39 #include "setup.hpp"
+
40 #include "precision.hpp"
+
41 #include "type_int.hpp"
+
42 #include "_fixes.hpp"
+
43 
+
44 namespace glm
+
45 {
+
48 
+
55  template <typename genType>
+
56  GLM_FUNC_DECL genType abs(genType const & x);
+
57 
+
64  template <typename genType>
+
65  GLM_FUNC_DECL genType sign(genType const & x);
+
66 
+
73  template <typename genType>
+
74  GLM_FUNC_DECL genType floor(genType const & x);
+
75 
+
83  template <typename genType>
+
84  GLM_FUNC_DECL genType trunc(genType const & x);
+
85 
+
96  template <typename genType>
+
97  GLM_FUNC_DECL genType round(genType const & x);
+
98 
+
108  template <typename genType>
+
109  GLM_FUNC_DECL genType roundEven(genType const & x);
+
110 
+
118  template <typename genType>
+
119  GLM_FUNC_DECL genType ceil(genType const & x);
+
120 
+
127  template <typename genType>
+
128  GLM_FUNC_DECL genType fract(genType const & x);
+
129 
+
137  template <typename genType>
+
138  GLM_FUNC_DECL genType mod(
+
139  genType const & x,
+
140  genType const & y);
+
141 
+
149  template <typename genType>
+
150  GLM_FUNC_DECL genType mod(
+
151  genType const & x,
+
152  typename genType::value_type const & y);
+
153 
+
163  template <typename genType>
+
164  GLM_FUNC_DECL genType modf(
+
165  genType const & x,
+
166  genType & i);
+
167 
+
174  template <typename genType>
+
175  GLM_FUNC_DECL genType min(
+
176  genType const & x,
+
177  genType const & y);
+
178 
+
179  template <typename genType>
+
180  GLM_FUNC_DECL genType min(
+
181  genType const & x,
+
182  typename genType::value_type const & y);
+
183 
+
190  template <typename genType>
+
191  GLM_FUNC_DECL genType max(
+
192  genType const & x,
+
193  genType const & y);
+
194 
+
195  template <typename genType>
+
196  GLM_FUNC_DECL genType max(
+
197  genType const & x,
+
198  typename genType::value_type const & y);
+
199 
+
207  template <typename genType>
+
208  GLM_FUNC_DECL genType clamp(
+
209  genType const & x,
+
210  genType const & minVal,
+
211  genType const & maxVal);
+
212 
+
213  template <typename genType, precision P>
+
214  GLM_FUNC_DECL genType clamp(
+
215  genType const & x,
+
216  typename genType::value_type const & minVal,
+
217  typename genType::value_type const & maxVal);
+
218 
+
261  template <typename genTypeT, typename genTypeU>
+
262  GLM_FUNC_DECL genTypeT mix(
+
263  genTypeT const & x,
+
264  genTypeT const & y,
+
265  genTypeU const & a);
+
266 
+
271  template <typename genType>
+
272  GLM_FUNC_DECL genType step(
+
273  genType const & edge,
+
274  genType const & x);
+
275 
+
280  template <template <typename, precision> class vecType, typename T, precision P>
+
281  GLM_FUNC_DECL vecType<T, P> step(
+
282  T const & edge,
+
283  vecType<T, P> const & x);
+
284 
+
299  template <typename genType>
+
300  GLM_FUNC_DECL genType smoothstep(
+
301  genType const & edge0,
+
302  genType const & edge1,
+
303  genType const & x);
+
304 
+
305  template <typename genType>
+
306  GLM_FUNC_DECL genType smoothstep(
+
307  typename genType::value_type const & edge0,
+
308  typename genType::value_type const & edge1,
+
309  genType const & x);
+
310 
+
323  template <typename genType>
+
324  GLM_FUNC_DECL typename genType::bool_type isnan(genType const & x);
+
325 
+
336  template <typename genType>
+
337  GLM_FUNC_DECL typename genType::bool_type isinf(genType const & x);
+
338 
+
345  GLM_FUNC_DECL int floatBitsToInt(float const & v);
+
346 
+
353  template <template <typename, precision> class vecType, precision P>
+
354  GLM_FUNC_DECL vecType<int, P> floatBitsToInt(vecType<float, P> const & v);
+
355 
+
362  GLM_FUNC_DECL uint floatBitsToUint(float const & v);
+
363 
+
370  template <template <typename, precision> class vecType, precision P>
+
371  GLM_FUNC_DECL vecType<uint, P> floatBitsToUint(vecType<float, P> const & v);
+
372 
+
381  GLM_FUNC_DECL float intBitsToFloat(int const & v);
+
382 
+
391  template <template <typename, precision> class vecType, precision P>
+
392  GLM_FUNC_DECL vecType<float, P> intBitsToFloat(vecType<int, P> const & v);
+
393 
+
402  GLM_FUNC_DECL float uintBitsToFloat(uint const & v);
+
403 
+
412  template <template <typename, precision> class vecType, precision P>
+
413  GLM_FUNC_DECL vecType<float, P> uintBitsToFloat(vecType<uint, P> const & v);
+
414 
+
421  template <typename genType>
+
422  GLM_FUNC_DECL genType fma(genType const & a, genType const & b, genType const & c);
+
423 
+
438  template <typename genType, typename genIType>
+
439  GLM_FUNC_DECL genType frexp(genType const & x, genIType & exp);
+
440 
+
452  template <typename genType, typename genIType>
+
453  GLM_FUNC_DECL genType ldexp(genType const & x, genIType const & exp);
+
454 
+
456 }//namespace glm
+
457 
+
458 #include "func_common.inl"
+
459 
+
460 #endif//GLM_FUNC_COMMON_INCLUDED
+
GLM_FUNC_DECL genType floor(genType const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
+
GLM_FUNC_DECL genTypeT mix(genTypeT const &x, genTypeT const &y, genTypeU const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:171
+
GLM_FUNC_DECL genType mod(genType const &x, genType const &y)
Modulus.
+
GLM_FUNC_DECL genType modf(genType const &x, genType &i)
Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...
+
GLM_FUNC_DECL genType exp(genType const &x)
Returns the natural exponentiation of x, i.e., e^x.
+
GLM_FUNC_DECL genType fract(genType const &x)
Return x - floor(x).
+
GLM_FUNC_DECL genType ceil(genType const &x)
Returns a value equal to the nearest integer that is greater than or equal to x.
+
GLM_FUNC_DECL genType::bool_type isnan(genType const &x)
Returns true if x holds a NaN (not a number) representation in the underlying implementation&#39;s set of...
+
GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)
Computes and returns a * b + c.
+
GLM_FUNC_DECL float intBitsToFloat(int const &v)
Returns a floating-point value corresponding to a signed integer encoding of a floating-point value...
+
GLM_FUNC_DECL genType step(genType const &edge, genType const &x)
Returns 0.0 if x &lt; edge, otherwise it returns 1.0 for each component of a genType.
+
GLM_FUNC_DECL int floatBitsToInt(float const &v)
Returns a signed integer value representing the encoding of a floating-point value.
+
GLM_FUNC_DECL genType trunc(genType const &x)
Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...
+
GLM_FUNC_DECL genType roundEven(genType const &x)
Returns a value equal to the nearest integer to x.
+
GLM_FUNC_DECL genType round(genType const &x)
Returns a value equal to the nearest integer to x.
+
GLM_FUNC_DECL float uintBitsToFloat(uint const &v)
Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value...
+
GLM_FUNC_DECL uint floatBitsToUint(float const &v)
Returns a unsigned integer value representing the encoding of a floating-point value.
+
GLM_FUNC_DECL genType abs(genType const &x)
Returns x if x &gt;= 0; otherwise, it returns -x.
+
GLM_FUNC_DECL genType::bool_type isinf(genType const &x)
Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...
+
GLM_FUNC_DECL genType ldexp(genType const &x, genIType const &exp)
Builds a floating-point number from x and the corresponding integral exponent of two in exp...
+
GLM_FUNC_DECL genType smoothstep(genType const &edge0, genType const &edge1, genType const &x)
Returns 0.0 if x &lt;= edge0 and 1.0 if x &gt;= edge1 and performs smooth Hermite interpolation between 0 a...
+
GLM_FUNC_DECL genType clamp(genType const &x, genType const &minVal, genType const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
+
GLM_FUNC_DECL genType max(genType const &x, genType const &y)
Returns y if x &lt; y; otherwise, it returns x.
+
GLM_FUNC_DECL genType sign(genType const &x)
Returns 1.0 if x &gt; 0, 0.0 if x == 0, or -1.0 if x &lt; 0.
+
GLM_FUNC_DECL genType min(genType const &x, genType const &y)
Returns y if y &lt; x; otherwise, it returns x.
+
GLM_FUNC_DECL genType frexp(genType const &x, genIType &exp)
Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two...
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00033.html glm-0.9.5.1/doc/api/a00033.html --- glm-0.9.4.6/doc/api/a00033.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00033.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,120 +0,0 @@ - - - - - -func_trigonometric.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
func_trigonometric.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType acos (genType const &x)
 
template<typename genType >
genType acosh (genType const &x)
 
template<typename genType >
genType asin (genType const &x)
 
template<typename genType >
genType asinh (genType const &x)
 
template<typename genType >
genType atan (genType const &y, genType const &x)
 
template<typename genType >
genType atan (genType const &y_over_x)
 
template<typename genType >
genType atanh (genType const &x)
 
template<typename genType >
genType cos (genType const &angle)
 
template<typename genType >
genType cosh (genType const &angle)
 
template<typename genType >
genType degrees (genType const &radians)
 
template<typename genType >
genType radians (genType const &degrees)
 
template<typename genType >
genType sin (genType const &angle)
 
template<typename genType >
genType sinh (genType const &angle)
 
template<typename genType >
genType tan (genType const &angle)
 
template<typename genType >
genType tanh (genType const &angle)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-01 / 2011-06-15
-
Author
Christophe Riccio
-
See Also
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -

Definition in file func_trigonometric.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00033_source.html glm-0.9.5.1/doc/api/a00033_source.html --- glm-0.9.4.6/doc/api/a00033_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00033_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,153 +1,108 @@ - - - - - -func_trigonometric.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
func_trigonometric.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 #ifndef GLM_CORE_func_trigonometric
-
41 #define GLM_CORE_func_trigonometric GLM_VERSION
-
42 
-
43 namespace glm
-
44 {
-
47 
-
54  template <typename genType>
-
55  genType radians(genType const & degrees);
-
56 
-
63  template <typename genType>
-
64  genType degrees(genType const & radians);
-
65 
-
73  template <typename genType>
-
74  genType sin(genType const & angle);
-
75 
-
83  template <typename genType>
-
84  genType cos(genType const & angle);
-
85 
-
92  template <typename genType>
-
93  genType tan(genType const & angle);
-
94 
-
103  template <typename genType>
-
104  genType asin(genType const & x);
-
105 
-
114  template <typename genType>
-
115  genType acos(genType const & x);
-
116 
-
127  template <typename genType>
-
128  genType atan(genType const & y, genType const & x);
-
129 
-
137  template <typename genType>
-
138  genType atan(genType const & y_over_x);
-
139 
-
146  template <typename genType>
-
147  genType sinh(genType const & angle);
-
148 
-
155  template <typename genType>
-
156  genType cosh(genType const & angle);
-
157 
-
164  template <typename genType>
-
165  genType tanh(genType const & angle);
-
166 
-
173  template <typename genType>
-
174  genType asinh(genType const & x);
-
175 
-
183  template <typename genType>
-
184  genType acosh(genType const & x);
-
185 
-
193  template <typename genType>
-
194  genType atanh(genType const & x);
-
195 
-
197 }//namespace glm
-
198 
-
199 #include "func_trigonometric.inl"
-
200 
-
201 #endif//GLM_CORE_func_trigonometric
-
202 
-
203 
-
- - - - + + + + + + +GLM: func_exponential.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
func_exponential.hpp
+
+
+
1 
+
36 #ifndef glm_core_func_exponential
+
37 #define glm_core_func_exponential
+
38 
+
39 #include "type_vec1.hpp"
+
40 #include "type_vec2.hpp"
+
41 #include "type_vec3.hpp"
+
42 #include "type_vec4.hpp"
+
43 #include <cmath>
+
44 
+
45 namespace glm
+
46 {
+
49 
+
58  template <typename genType>
+
59  GLM_FUNC_DECL genType pow(genType const & base, genType const & exponent);
+
60 
+
68  template <typename genType>
+
69  GLM_FUNC_DECL genType exp(genType const & x);
+
70 
+
80  template <typename genType>
+
81  GLM_FUNC_DECL genType log(genType const & x);
+
82 
+
90  template <typename genType>
+
91  GLM_FUNC_DECL genType exp2(genType const & x);
+
92 
+
101  template <typename genType>
+
102  GLM_FUNC_DECL genType log2(genType const & x);
+
103 
+
111  template <typename genType>
+
112  GLM_FUNC_DECL genType sqrt(genType const & x);
+
113 
+
121  template <typename genType>
+
122  GLM_FUNC_DECL genType inversesqrt(genType const & x);
+
123 
+
125 }//namespace glm
+
126 
+
127 #include "func_exponential.inl"
+
128 
+
129 #endif//glm_core_func_exponential
+
GLM_FUNC_DECL genType sqrt(genType const &x)
Returns the positive square root of x.
+
GLM_FUNC_DECL genType inversesqrt(genType const &x)
Returns the reciprocal of the positive square root of x.
+
GLM_FUNC_DECL genType exp(genType const &x)
Returns the natural exponentiation of x, i.e., e^x.
+
GLM_FUNC_DECL genType log2(genType const &x)
Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...
+
GLM_FUNC_DECL genType pow(genType const &base, genType const &exponent)
Returns &#39;base&#39; raised to the power &#39;exponent&#39;.
+
GLM_FUNC_DECL genType exp2(genType const &x)
Returns 2 raised to the x power.
+
GLM_FUNC_DECL genType log(genType const &x)
Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y...
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00034.html glm-0.9.5.1/doc/api/a00034.html --- glm-0.9.4.6/doc/api/a00034.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00034.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,102 +0,0 @@ - - - - - -func_vector_relational.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
func_vector_relational.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<template< typename > class vecType>
bool all (vecType< bool > const &v)
 
template<template< typename > class vecType>
bool any (vecType< bool > const &v)
 
template<typename vecType >
vecType::bool_type equal (vecType const &x, vecType const &y)
 
template<typename vecType >
vecType::bool_type greaterThan (vecType const &x, vecType const &y)
 
template<typename vecType >
vecType::bool_type greaterThanEqual (vecType const &x, vecType const &y)
 
template<typename vecType >
vecType::bool_type lessThan (vecType const &x, vecType const &y)
 
template<typename vecType >
vecType::bool_type lessThanEqual (vecType const &x, vecType const &y)
 
template<template< typename > class vecType>
vecType< bool > not_ (vecType< bool > const &v)
 
template<typename vecType >
vecType::bool_type notEqual (vecType const &x, vecType const &y)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-03 / 2011-06-15
-
Author
Christophe Riccio
-
See Also
GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -

Definition in file func_vector_relational.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00034_source.html glm-0.9.5.1/doc/api/a00034_source.html --- glm-0.9.4.6/doc/api/a00034_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00034_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,136 +1,129 @@ - - - - - -func_vector_relational.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
func_vector_relational.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 
-
41 #ifndef GLM_CORE_func_vector_relational
-
42 #define GLM_CORE_func_vector_relational GLM_VERSION
-
43 
-
44 #include "_detail.hpp"
-
45 
-
46 namespace glm
-
47 {
-
50 
-
57  template <typename vecType>
-
58  typename vecType::bool_type lessThan(vecType const & x, vecType const & y);
-
59 
-
66  template <typename vecType>
-
67  typename vecType::bool_type lessThanEqual(vecType const & x, vecType const & y);
-
68 
-
75  template <typename vecType>
-
76  typename vecType::bool_type greaterThan(vecType const & x, vecType const & y);
-
77 
-
84  template <typename vecType>
-
85  typename vecType::bool_type greaterThanEqual(vecType const & x, vecType const & y);
-
86 
-
93  template <typename vecType>
-
94  typename vecType::bool_type equal(vecType const & x, vecType const & y);
-
95 
-
102  template <typename vecType>
-
103  typename vecType::bool_type notEqual(vecType const & x, vecType const & y);
-
104 
-
111  template <template <typename> class vecType>
-
112  bool any(vecType<bool> const & v);
-
113 
-
120  template <template <typename> class vecType>
-
121  bool all(vecType<bool> const & v);
-
122 
-
130  template <template <typename> class vecType>
-
131  vecType<bool> not_(vecType<bool> const & v);
-
132 
-
134 }//namespace glm
-
135 
-
136 #include "func_vector_relational.inl"
-
137 
-
138 #endif//GLM_CORE_func_vector_relational
-
- - - - + + + + + + +GLM: func_geometric.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
func_geometric.hpp
+
+
+
1 
+
36 #ifndef glm_core_func_geometric
+
37 #define glm_core_func_geometric
+
38 
+
39 #include "type_vec3.hpp"
+
40 
+
41 namespace glm
+
42 {
+
45 
+
52  template <typename genType>
+
53  GLM_FUNC_DECL typename genType::value_type length(
+
54  genType const & x);
+
55 
+
62  template <typename genType>
+
63  GLM_FUNC_DECL typename genType::value_type distance(
+
64  genType const & p0,
+
65  genType const & p1);
+
66 
+
73  template <typename T, precision P, template <typename, precision> class vecType>
+
74  GLM_FUNC_DECL T dot(
+
75  vecType<T, P> const & x,
+
76  vecType<T, P> const & y);
+
77 
+
84  template <typename genType>
+
85  GLM_FUNC_DECL genType dot(
+
86  genType const & x,
+
87  genType const & y);
+
88 
+
95  template <typename T, precision P>
+
96  GLM_FUNC_DECL detail::tvec3<T, P> cross(
+
97  detail::tvec3<T, P> const & x,
+
98  detail::tvec3<T, P> const & y);
+
99 
+
104  template <typename genType>
+
105  GLM_FUNC_DECL genType normalize(
+
106  genType const & x);
+
107 
+
114  template <typename genType>
+
115  GLM_FUNC_DECL genType faceforward(
+
116  genType const & N,
+
117  genType const & I,
+
118  genType const & Nref);
+
119 
+
127  template <typename genType>
+
128  GLM_FUNC_DECL genType reflect(
+
129  genType const & I,
+
130  genType const & N);
+
131 
+
140  template <typename T, precision P, template <typename, precision> class vecType>
+
141  GLM_FUNC_DECL vecType<T, P> refract(
+
142  vecType<T, P> const & I,
+
143  vecType<T, P> const & N,
+
144  T const & eta);
+
145 
+
147 }//namespace glm
+
148 
+
149 #include "func_geometric.inl"
+
150 
+
151 #endif//glm_core_func_geometric
+
GLM_FUNC_DECL genType faceforward(genType const &N, genType const &I, genType const &Nref)
If dot(Nref, I) &lt; 0.0, return N, otherwise, return -N.
+
GLM_FUNC_DECL T dot(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the dot product of x and y, i.e., result = x * y.
+
GLM_FUNC_DECL detail::tvec3< T, P > cross(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
Returns the cross product of x and y.
+
GLM_FUNC_DECL genType normalize(genType const &x)
Returns a vector in the same direction as x but with length of 1.
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
GLM_FUNC_DECL vecType< T, P > refract(vecType< T, P > const &I, vecType< T, P > const &N, T const &eta)
For the incident vector I and surface normal N, and the ratio of indices of refraction eta...
+
GLM_FUNC_DECL genType reflect(genType const &I, genType const &N)
For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...
+
GLM_FUNC_DECL genType::value_type distance(genType const &p0, genType const &p1)
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00035.html glm-0.9.5.1/doc/api/a00035.html --- glm-0.9.4.6/doc/api/a00035.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00035.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,74 +0,0 @@ - - - - - -glm.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
glm.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-
Date
2009-05-01 / 2011-05-16
-
Author
Christophe Riccio
-

GLM Core (Dependence)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2005-01-14 / 2011-10-24
-
Author
Christophe Riccio
- -

Definition in file glm.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00035_source.html glm-0.9.5.1/doc/api/a00035_source.html --- glm-0.9.4.6/doc/api/a00035_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00035_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,184 +1,138 @@ - - - - - -glm.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
glm.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 
-
41 
-
42 
-
43 
-
44 
-
45 
-
46 
-
47 
-
48 
-
49 
-
50 
-
51 
-
52 
-
53 
-
54 
-
55 
-
56 
-
57 
-
58 
-
59 
-
60 
-
61 
-
62 
-
63 
-
64 
-
65 
-
66 
-
67 
-
68 
-
69 
-
70 
-
71 
-
72 
-
73 
-
74 
-
75 
-
76 
-
77 
-
78 #include "core/_fixes.hpp"
-
79 
-
80 #ifndef glm_glm
-
81 #define glm_glm
-
82 
-
83 #include <cmath>
-
84 #include <climits>
-
85 #include <cfloat>
-
86 #include <limits>
-
87 #include <cstdio>
-
88 //#include <type_traits>
-
89 #include "core/setup.hpp"
-
90 
-
91 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_CORE_INCLUDED_DISPLAYED))
-
92 # define GLM_MESSAGE_CORE_INCLUDED_DISPLAYED
-
93 # pragma message("GLM: Core library included")
-
94 #endif//GLM_MESSAGE
-
95 
-
96 #include "./core/_detail.hpp"
-
97 #include "./core/_vectorize.hpp"
-
98 #include "./core/type.hpp"
-
99 
- - -
102 #include "./core/func_common.hpp"
-
103 #include "./core/func_packing.hpp"
-
104 #include "./core/func_geometric.hpp"
-
105 #include "./core/func_matrix.hpp"
- -
107 #include "./core/func_integer.hpp"
-
108 #include "./core/func_noise.hpp"
-
109 #include "./core/_swizzle.hpp"
-
110 
-
112 // check type sizes
-
113 #ifndef GLM_STATIC_ASSERT_NULL
-
114  GLM_STATIC_ASSERT(sizeof(glm::detail::int8) == 1, "int8 size isn't 1 byte on this platform");
-
115  GLM_STATIC_ASSERT(sizeof(glm::detail::int16) == 2, "int16 size isn't 2 bytes on this platform");
-
116  GLM_STATIC_ASSERT(sizeof(glm::detail::int32) == 4, "int32 size isn't 4 bytes on this platform");
-
117  GLM_STATIC_ASSERT(sizeof(glm::detail::int64) == 8, "int64 size isn't 8 bytes on this platform");
-
118 
-
119  GLM_STATIC_ASSERT(sizeof(glm::detail::uint8) == 1, "uint8 size isn't 1 byte on this platform");
-
120  GLM_STATIC_ASSERT(sizeof(glm::detail::uint16) == 2, "uint16 size isn't 2 bytes on this platform");
-
121  GLM_STATIC_ASSERT(sizeof(glm::detail::uint32) == 4, "uint32 size isn't 4 bytes on this platform");
-
122  GLM_STATIC_ASSERT(sizeof(glm::detail::uint64) == 8, "uint64 size isn't 8 bytes on this platform");
-
123 
-
124  GLM_STATIC_ASSERT(sizeof(glm::detail::float16) == 2, "float16 size isn't 2 bytes on this platform");
-
125  GLM_STATIC_ASSERT(sizeof(glm::detail::float32) == 4, "float32 size isn't 4 bytes on this platform");
-
126  GLM_STATIC_ASSERT(sizeof(glm::detail::float64) == 8, "float64 size isn't 8 bytes on this platform");
-
127 #endif//GLM_STATIC_ASSERT_NULL
-
128 
-
129 #endif//glm_glm
-
- - - - + + + + + + +GLM: func_integer.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
func_integer.hpp
+
+
+
1 
+
38 #ifndef glm_core_func_integer
+
39 #define glm_core_func_integer
+
40 
+
41 #include "setup.hpp"
+
42 
+
43 namespace glm
+
44 {
+
47 
+
56  template <typename genUType>
+
57  GLM_FUNC_DECL genUType uaddCarry(
+
58  genUType const & x,
+
59  genUType const & y,
+
60  genUType & carry);
+
61 
+
70  template <typename genUType>
+
71  GLM_FUNC_DECL genUType usubBorrow(
+
72  genUType const & x,
+
73  genUType const & y,
+
74  genUType & borrow);
+
75 
+
84  template <typename genUType>
+
85  GLM_FUNC_DECL void umulExtended(
+
86  genUType const & x,
+
87  genUType const & y,
+
88  genUType & msb,
+
89  genUType & lsb);
+
90 
+
99  template <typename genIType>
+
100  GLM_FUNC_DECL void imulExtended(
+
101  genIType const & x,
+
102  genIType const & y,
+
103  genIType & msb,
+
104  genIType & lsb);
+
105 
+
121  template <typename genIUType>
+
122  GLM_FUNC_DECL genIUType bitfieldExtract(
+
123  genIUType const & Value,
+
124  int const & Offset,
+
125  int const & Bits);
+
126 
+
141  template <typename genIUType>
+
142  GLM_FUNC_DECL genIUType bitfieldInsert(
+
143  genIUType const & Base,
+
144  genIUType const & Insert,
+
145  int const & Offset,
+
146  int const & Bits);
+
147 
+
156  template <typename genIUType>
+
157  GLM_FUNC_DECL genIUType bitfieldReverse(genIUType const & Value);
+
158 
+
167  template <typename T, template <typename> class genIUType>
+
168  GLM_FUNC_DECL typename genIUType<T>::signed_type bitCount(genIUType<T> const & Value);
+
169 
+
180  template <typename T, template <typename> class genIUType>
+
181  GLM_FUNC_DECL typename genIUType<T>::signed_type findLSB(genIUType<T> const & Value);
+
182 
+
194  template <typename T, template <typename> class genIUType>
+
195  GLM_FUNC_DECL typename genIUType<T>::signed_type findMSB(genIUType<T> const & Value);
+
196 
+
198 }//namespace glm
+
199 
+
200 #include "func_integer.inl"
+
201 
+
202 #endif//glm_core_func_integer
+
203 
+
GLM_FUNC_DECL genIUType< T >::signed_type findLSB(genIUType< T > const &Value)
Returns the bit number of the least significant bit set to 1 in the binary representation of value...
+
GLM_FUNC_DECL genIUType< T >::signed_type bitCount(genIUType< T > const &Value)
Returns the number of bits set to 1 in the binary representation of value.
+
GLM_FUNC_DECL void imulExtended(genIType const &x, genIType const &y, genIType &msb, genIType &lsb)
Multiplies 32-bit integers x and y, producing a 64-bit result.
+
GLM_FUNC_DECL genIUType bitfieldExtract(genIUType const &Value, int const &Offset, int const &Bits)
Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of...
+
GLM_FUNC_DECL genIUType bitfieldReverse(genIUType const &Value)
Returns the reversal of the bits of value.
+
GLM_FUNC_DECL void umulExtended(genUType const &x, genUType const &y, genUType &msb, genUType &lsb)
Multiplies 32-bit integers x and y, producing a 64-bit result.
+
GLM_FUNC_DECL genIUType bitfieldInsert(genIUType const &Base, genIUType const &Insert, int const &Offset, int const &Bits)
Returns the insertion the bits least-significant bits of insert into base.
+
GLM_FUNC_DECL genIUType< T >::signed_type findMSB(genIUType< T > const &Value)
Returns the bit number of the most significant bit in the binary representation of value...
+
GLM_FUNC_DECL genUType uaddCarry(genUType const &x, genUType const &y, genUType &carry)
Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).
+
GLM_FUNC_DECL genUType usubBorrow(genUType const &x, genUType const &y, genUType &borrow)
Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00036.html glm-0.9.5.1/doc/api/a00036.html --- glm-0.9.4.6/doc/api/a00036.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00036.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ - - - - - -gradient_paint.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
gradient_paint.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Functions

template<typename valType >
valType linearGradient (detail::tvec2< valType > const &Point0, detail::tvec2< valType > const &Point1, detail::tvec2< valType > const &Position)
 
template<typename valType >
valType radialGradient (detail::tvec2< valType > const &Center, valType const &Radius, detail::tvec2< valType > const &Focal, detail::tvec2< valType > const &Position)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_gradient_paint

-
Date
2009-03-06 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_optimum_pow (dependence)
- -

Definition in file gradient_paint.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00036_source.html glm-0.9.5.1/doc/api/a00036_source.html --- glm-0.9.4.6/doc/api/a00036_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00036_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,125 +1,166 @@ - - - - - -gradient_paint.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gradient_paint.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_gradient_paint
-
39 #define GLM_GTX_gradient_paint GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 #include "../gtx/optimum_pow.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTX_gradient_paint extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename valType>
-
57  valType radialGradient(
-
58  detail::tvec2<valType> const & Center,
-
59  valType const & Radius,
-
60  detail::tvec2<valType> const & Focal,
-
61  detail::tvec2<valType> const & Position);
-
62 
-
65  template <typename valType>
-
66  valType linearGradient(
-
67  detail::tvec2<valType> const & Point0,
-
68  detail::tvec2<valType> const & Point1,
-
69  detail::tvec2<valType> const & Position);
-
70 
-
72 }// namespace glm
-
73 
-
74 #include "gradient_paint.inl"
-
75 
-
76 #endif//GLM_GTX_gradient_paint
-
- - - - + + + + + + +GLM: func_matrix.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
func_matrix.hpp
+
+
+
1 
+
40 #ifndef GLM_CORE_func_matrix
+
41 #define GLM_CORE_func_matrix
+
42 
+
43 // Dependencies
+
44 #include "../detail/precision.hpp"
+
45 #include "../detail/setup.hpp"
+
46 #include "../detail/type_mat.hpp"
+
47 #include "../vec2.hpp"
+
48 #include "../vec3.hpp"
+
49 #include "../vec4.hpp"
+
50 #include "../mat2x2.hpp"
+
51 #include "../mat2x3.hpp"
+
52 #include "../mat2x4.hpp"
+
53 #include "../mat3x2.hpp"
+
54 #include "../mat3x3.hpp"
+
55 #include "../mat3x4.hpp"
+
56 #include "../mat4x2.hpp"
+
57 #include "../mat4x3.hpp"
+
58 #include "../mat4x4.hpp"
+
59 
+
60 namespace glm{
+
61 namespace detail
+
62 {
+
63  template <typename T, precision P>
+
64  struct outerProduct_trait<T, P, tvec2, tvec2>
+
65  {
+
66  typedef tmat2x2<T, P> type;
+
67  };
+
68 
+
69  template <typename T, precision P>
+
70  struct outerProduct_trait<T, P, tvec2, tvec3>
+
71  {
+
72  typedef tmat2x3<T, P> type;
+
73  };
+
74 
+
75  template <typename T, precision P>
+
76  struct outerProduct_trait<T, P, tvec2, tvec4>
+
77  {
+
78  typedef tmat2x4<T, P> type;
+
79  };
+
80 
+
81  template <typename T, precision P>
+
82  struct outerProduct_trait<T, P, tvec3, tvec2>
+
83  {
+
84  typedef tmat3x2<T, P> type;
+
85  };
+
86 
+
87  template <typename T, precision P>
+
88  struct outerProduct_trait<T, P, tvec3, tvec3>
+
89  {
+
90  typedef tmat3x3<T, P> type;
+
91  };
+
92 
+
93  template <typename T, precision P>
+
94  struct outerProduct_trait<T, P, tvec3, tvec4>
+
95  {
+
96  typedef tmat3x4<T, P> type;
+
97  };
+
98 
+
99  template <typename T, precision P>
+
100  struct outerProduct_trait<T, P, tvec4, tvec2>
+
101  {
+
102  typedef tmat4x2<T, P> type;
+
103  };
+
104 
+
105  template <typename T, precision P>
+
106  struct outerProduct_trait<T, P, tvec4, tvec3>
+
107  {
+
108  typedef tmat4x3<T, P> type;
+
109  };
+
110 
+
111  template <typename T, precision P>
+
112  struct outerProduct_trait<T, P, tvec4, tvec4>
+
113  {
+
114  typedef tmat4x4<T, P> type;
+
115  };
+
116 
+
117 }//namespace detail
+
118 
+
121 
+
129  template <typename T, precision P, template <typename, precision> class matType>
+
130  GLM_FUNC_DECL matType<T, P> matrixCompMult(matType<T, P> const & x, matType<T, P> const & y);
+
131 
+
142  template <typename T, precision P, template <typename, precision> class vecTypeA, template <typename, precision> class vecTypeB>
+
143  GLM_FUNC_DECL typename detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type outerProduct(vecTypeA<T, P> const & c, vecTypeB<T, P> const & r);
+
144 
+
151 # if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC11))
+
152  template <typename T, precision P, template <typename, precision> class matType>
+
153  GLM_FUNC_DECL typename matType<T, P>::transpose_type transpose(matType<T, P> const & x);
+
154 # endif
+
155 
+
162  template <typename T, precision P, template <typename, precision> class matType>
+
163  GLM_FUNC_DECL T determinant(matType<T, P> const & m);
+
164 
+
171  template <typename T, precision P, template <typename, precision> class matType>
+
172  GLM_FUNC_DECL matType<T, P> inverse(matType<T, P> const & m);
+
173 
+
175 }//namespace glm
+
176 
+
177 #include "func_matrix.inl"
+
178 
+
179 #endif//GLM_CORE_func_matrix
+
GLM_FUNC_DECL detail::tquat< T, P > inverse(detail::tquat< T, P > const &q)
Returns the q inverse.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00037.html glm-0.9.5.1/doc/api/a00037.html --- glm-0.9.4.6/doc/api/a00037.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00037.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,134 +0,0 @@ - - - - - -half_float.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
half_float.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::half half
 
typedef detail::tmat2x2
-< detail::half > 
hmat2
 
typedef detail::tmat2x2
-< detail::half > 
hmat2x2
 
typedef detail::tmat2x3
-< detail::half > 
hmat2x3
 
typedef detail::tmat2x4
-< detail::half > 
hmat2x4
 
typedef detail::tmat3x3
-< detail::half > 
hmat3
 
typedef detail::tmat3x2
-< detail::half > 
hmat3x2
 
typedef detail::tmat3x3
-< detail::half > 
hmat3x3
 
typedef detail::tmat3x4
-< detail::half > 
hmat3x4
 
typedef detail::tmat4x4
-< detail::half > 
hmat4
 
typedef detail::tmat4x2
-< detail::half > 
hmat4x2
 
typedef detail::tmat4x3
-< detail::half > 
hmat4x3
 
typedef detail::tmat4x4
-< detail::half > 
hmat4x4
 
typedef detail::tvec2
-< detail::half > 
hvec2
 
typedef detail::tvec3
-< detail::half > 
hvec3
 
typedef detail::tvec4
-< detail::half > 
hvec4
 
- - - - - - - - - -

-Functions

half abs (half const &x)
 
hvec2 abs (hvec2 const &x)
 
hvec3 abs (hvec3 const &x)
 
hvec4 abs (hvec4 const &x)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_half_float

-
Date
2009-04-29 / 2012-11-06
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file half_float.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00037_source.html glm-0.9.5.1/doc/api/a00037_source.html --- glm-0.9.4.6/doc/api/a00037_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00037_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,406 +1,95 @@ - - - - - -half_float.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
half_float.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 #ifndef GLM_GTC_half_float
-
38 #define GLM_GTC_half_float GLM_VERSION
-
39 
-
40 // Dependency:
-
41 #include "../glm.hpp"
-
42 
-
43 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
44 # pragma message("GLM: GLM_GTC_half_float extension included")
-
45 #endif
-
46 
-
47 namespace glm{
-
48 namespace detail
-
49 {
-
50 #if(GLM_COMPONENT == GLM_COMPONENT_CXX98)
-
51  template <>
-
52  struct tvec2<half>
-
53  {
-
54  enum ctor{null};
-
55  typedef half value_type;
-
56  typedef std::size_t size_type;
-
57 
-
58  GLM_FUNC_DECL size_type length() const;
-
59  static GLM_FUNC_DECL size_type value_size();
-
60 
-
61  typedef tvec2<half> type;
-
62  typedef tvec2<bool> bool_type;
-
63 
-
65  // Data
-
66 
-
67  half x, y;
-
68 
-
70  // Accesses
-
71 
-
72  half & operator[](size_type i);
-
73  half const & operator[](size_type i) const;
-
74 
-
76  // Implicit basic constructors
-
77 
-
78  tvec2();
-
79  tvec2(tvec2<half> const & v);
-
80 
-
82  // Explicit basic constructors
-
83 
-
84  explicit tvec2(ctor);
-
85  explicit tvec2(
-
86  half const & s);
-
87  explicit tvec2(
-
88  half const & s1,
-
89  half const & s2);
-
90 
-
92  // Swizzle constructors
-
93 
-
94  tvec2(tref2<half> const & r);
-
95 
-
97  // Convertion scalar constructors
-
98 
-
100  template <typename U>
-
101  explicit tvec2(U const & x);
-
103  template <typename U, typename V>
-
104  explicit tvec2(U const & x, V const & y);
-
105 
-
107  // Convertion vector constructors
-
108 
-
110  template <typename U>
-
111  explicit tvec2(tvec2<U> const & v);
-
113  template <typename U>
-
114  explicit tvec2(tvec3<U> const & v);
-
116  template <typename U>
-
117  explicit tvec2(tvec4<U> const & v);
-
118 
-
120  // Unary arithmetic operators
-
121 
-
122  tvec2<half>& operator= (tvec2<half> const & v);
-
123 
-
124  tvec2<half>& operator+=(half const & s);
-
125  tvec2<half>& operator+=(tvec2<half> const & v);
-
126  tvec2<half>& operator-=(half const & s);
-
127  tvec2<half>& operator-=(tvec2<half> const & v);
-
128  tvec2<half>& operator*=(half const & s);
-
129  tvec2<half>& operator*=(tvec2<half> const & v);
-
130  tvec2<half>& operator/=(half const & s);
-
131  tvec2<half>& operator/=(tvec2<half> const & v);
-
132  tvec2<half>& operator++();
-
133  tvec2<half>& operator--();
-
134 
-
136  // Swizzle operators
-
137 
-
138  half swizzle(comp X) const;
-
139  tvec2<half> swizzle(comp X, comp Y) const;
-
140  tvec3<half> swizzle(comp X, comp Y, comp Z) const;
-
141  tvec4<half> swizzle(comp X, comp Y, comp Z, comp W) const;
-
142  tref2<half> swizzle(comp X, comp Y);
-
143  };
-
144 
-
145  template <>
-
146  struct tvec3<half>
-
147  {
-
148  enum ctor{null};
-
149  typedef half value_type;
-
150  typedef std::size_t size_type;
-
151  GLM_FUNC_DECL size_type length() const;
-
152  static GLM_FUNC_DECL size_type value_size();
-
153 
-
154  typedef tvec3<half> type;
-
155  typedef tvec3<bool> bool_type;
-
156 
-
158  // Data
-
159 
-
160  half x, y, z;
-
161 
-
163  // Accesses
-
164 
-
165  half & operator[](size_type i);
-
166  half const & operator[](size_type i) const;
-
167 
-
169  // Implicit basic constructors
-
170 
-
171  tvec3();
-
172  tvec3(tvec3<half> const & v);
-
173 
-
175  // Explicit basic constructors
-
176 
-
177  explicit tvec3(ctor);
-
178  explicit tvec3(
-
179  half const & s);
-
180  explicit tvec3(
-
181  half const & s1,
-
182  half const & s2,
-
183  half const & s3);
-
184 
-
186  // Swizzle constructors
-
187 
-
188  tvec3(tref3<half> const & r);
-
189 
-
191  // Convertion scalar constructors
-
192 
-
194  template <typename U>
-
195  explicit tvec3(U const & x);
-
197  template <typename U, typename V, typename W>
-
198  explicit tvec3(U const & x, V const & y, W const & z);
-
199 
-
201  // Convertion vector constructors
-
202 
-
204  template <typename A, typename B>
-
205  explicit tvec3(tvec2<A> const & v, B const & s);
-
207  template <typename A, typename B>
-
208  explicit tvec3(A const & s, tvec2<B> const & v);
-
210  template <typename U>
-
211  explicit tvec3(tvec3<U> const & v);
-
213  template <typename U>
-
214  explicit tvec3(tvec4<U> const & v);
-
215 
-
217  // Unary arithmetic operators
-
218 
-
219  tvec3<half>& operator= (tvec3<half> const & v);
-
220 
-
221  tvec3<half>& operator+=(half const & s);
-
222  tvec3<half>& operator+=(tvec3<half> const & v);
-
223  tvec3<half>& operator-=(half const & s);
-
224  tvec3<half>& operator-=(tvec3<half> const & v);
-
225  tvec3<half>& operator*=(half const & s);
-
226  tvec3<half>& operator*=(tvec3<half> const & v);
-
227  tvec3<half>& operator/=(half const & s);
-
228  tvec3<half>& operator/=(tvec3<half> const & v);
-
229  tvec3<half>& operator++();
-
230  tvec3<half>& operator--();
-
231 
-
233  // Swizzle operators
-
234 
-
235  half swizzle(comp X) const;
-
236  tvec2<half> swizzle(comp X, comp Y) const;
-
237  tvec3<half> swizzle(comp X, comp Y, comp Z) const;
-
238  tvec4<half> swizzle(comp X, comp Y, comp Z, comp W) const;
-
239  tref3<half> swizzle(comp X, comp Y, comp Z);
-
240  };
-
241 
-
242  template <>
-
243  struct tvec4<half>
-
244  {
-
245  enum ctor{null};
-
246  typedef half value_type;
-
247  typedef std::size_t size_type;
-
248  GLM_FUNC_DECL size_type length() const;
-
249  static GLM_FUNC_DECL size_type value_size();
-
250 
-
251  typedef tvec4<half> type;
-
252  typedef tvec4<bool> bool_type;
-
253 
-
255  // Data
-
256 
-
257  half x, y, z, w;
-
258 
-
260  // Accesses
-
261 
-
262  half & operator[](size_type i);
-
263  half const & operator[](size_type i) const;
-
264 
-
266  // Implicit basic constructors
-
267 
-
268  tvec4();
-
269  tvec4(tvec4<half> const & v);
-
270 
-
272  // Explicit basic constructors
-
273 
-
274  explicit tvec4(ctor);
-
275  explicit tvec4(
-
276  half const & s);
-
277  explicit tvec4(
-
278  half const & s0,
-
279  half const & s1,
-
280  half const & s2,
-
281  half const & s3);
-
282 
-
284  // Swizzle constructors
-
285 
-
286  tvec4(tref4<half> const & r);
-
287 
-
289  // Convertion scalar constructors
-
290 
-
292  template <typename U>
-
293  explicit tvec4(U const & x);
-
295  template <typename A, typename B, typename C, typename D>
-
296  explicit tvec4(A const & x, B const & y, C const & z, D const & w);
-
297 
-
299  // Convertion vector constructors
-
300 
-
302  template <typename A, typename B, typename C>
-
303  explicit tvec4(tvec2<A> const & v, B const & s1, C const & s2);
-
305  template <typename A, typename B, typename C>
-
306  explicit tvec4(A const & s1, tvec2<B> const & v, C const & s2);
-
308  template <typename A, typename B, typename C>
-
309  explicit tvec4(A const & s1, B const & s2, tvec2<C> const & v);
-
311  template <typename A, typename B>
-
312  explicit tvec4(tvec3<A> const & v, B const & s);
-
314  template <typename A, typename B>
-
315  explicit tvec4(A const & s, tvec3<B> const & v);
-
317  template <typename A, typename B>
-
318  explicit tvec4(tvec2<A> const & v1, tvec2<B> const & v2);
-
320  template <typename U>
-
321  explicit tvec4(tvec4<U> const & v);
-
322 
-
324  // Unary arithmetic operators
-
325 
-
326  tvec4<half>& operator= (tvec4<half> const & v);
-
327 
-
328  tvec4<half>& operator+=(half const & s);
-
329  tvec4<half>& operator+=(tvec4<half> const & v);
-
330  tvec4<half>& operator-=(half const & s);
-
331  tvec4<half>& operator-=(tvec4<half> const & v);
-
332  tvec4<half>& operator*=(half const & s);
-
333  tvec4<half>& operator*=(tvec4<half> const & v);
-
334  tvec4<half>& operator/=(half const & s);
-
335  tvec4<half>& operator/=(tvec4<half> const & v);
-
336  tvec4<half>& operator++();
-
337  tvec4<half>& operator--();
-
338 
-
340  // Swizzle operators
-
341 
-
342  half swizzle(comp X) const;
-
343  tvec2<half> swizzle(comp X, comp Y) const;
-
344  tvec3<half> swizzle(comp X, comp Y, comp Z) const;
-
345  tvec4<half> swizzle(comp X, comp Y, comp Z, comp W) const;
-
346  tref4<half> swizzle(comp X, comp Y, comp Z, comp W);
-
347  };
-
348 #endif//(GLM_COMPONENT == GLM_COMPONENT_CXX98)
-
349 }
-
350 //namespace detail
-
351 
-
354 
- -
358 
-
361  typedef detail::tvec2<detail::half> hvec2;
-
362 
-
365  typedef detail::tvec3<detail::half> hvec3;
-
366 
-
369  typedef detail::tvec4<detail::half> hvec4;
-
370 
-
373  typedef detail::tmat2x2<detail::half> hmat2;
-
374 
-
377  typedef detail::tmat3x3<detail::half> hmat3;
-
378 
-
381  typedef detail::tmat4x4<detail::half> hmat4;
-
382 
-
385  typedef detail::tmat2x2<detail::half> hmat2x2;
-
386 
-
389  typedef detail::tmat2x3<detail::half> hmat2x3;
-
390 
-
393  typedef detail::tmat2x4<detail::half> hmat2x4;
-
394 
-
397  typedef detail::tmat3x2<detail::half> hmat3x2;
-
398 
-
401  typedef detail::tmat3x3<detail::half> hmat3x3;
-
402 
-
405  typedef detail::tmat3x4<detail::half> hmat3x4;
-
406 
-
409  typedef detail::tmat4x2<detail::half> hmat4x2;
-
410 
-
413  typedef detail::tmat4x3<detail::half> hmat4x3;
-
414 
-
417  typedef detail::tmat4x4<detail::half> hmat4x4;
-
418 
-
421  half abs(half const & x);
-
422 
-
425  hvec2 abs(hvec2 const & x);
-
426 
-
429  hvec3 abs(hvec3 const & x);
-
430 
-
433  hvec4 abs(hvec4 const & x);
-
434 
-
436 }// namespace glm
-
437 
-
438 #include "half_float.inl"
-
439 
-
440 #endif//GLM_GTC_half_float
-
- - - - + + + + + + +GLM: func_noise.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
func_noise.hpp
+
+
+
1 
+
38 #ifndef glm_core_func_noise
+
39 #define glm_core_func_noise
+
40 
+
41 #include "type_vec1.hpp"
+
42 #include "type_vec2.hpp"
+
43 #include "type_vec3.hpp"
+
44 #include "setup.hpp"
+
45 
+
46 namespace glm
+
47 {
+
50 
+
57  template <typename genType>
+
58  GLM_FUNC_DECL typename genType::value_type noise1(genType const & x);
+
59 
+
66  template <typename genType>
+
67  GLM_FUNC_DECL detail::tvec2<typename genType::value_type, defaultp> noise2(genType const & x);
+
68 
+
75  template <typename genType>
+
76  GLM_FUNC_DECL detail::tvec3<typename genType::value_type, defaultp> noise3(genType const & x);
+
77 
+
84  template <typename genType>
+
85  GLM_FUNC_DECL detail::tvec4<typename genType::value_type, defaultp> noise4(genType const & x);
+
86 
+
88 }//namespace glm
+
89 
+
90 #include "func_noise.inl"
+
91 
+
92 #endif//glm_core_func_noise
+
GLM_FUNC_DECL genType::value_type noise1(genType const &x)
Returns a 1D noise value based on the input value x.
+
GLM_FUNC_DECL detail::tvec2< typename genType::value_type, defaultp > noise2(genType const &x)
Returns a 2D noise value based on the input value x.
+
GLM_FUNC_DECL detail::tvec4< typename genType::value_type, defaultp > noise4(genType const &x)
Returns a 4D noise value based on the input value x.
+
GLM_FUNC_DECL detail::tvec3< typename genType::value_type, defaultp > noise3(genType const &x)
Returns a 3D noise value based on the input value x.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00038.html glm-0.9.5.1/doc/api/a00038.html --- glm-0.9.4.6/doc/api/a00038.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00038.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,81 +0,0 @@ - - - - - -handed_coordinate_space.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
handed_coordinate_space.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Functions

template<typename T >
bool leftHanded (detail::tvec3< T > const &tangent, detail::tvec3< T > const &binormal, detail::tvec3< T > const &normal)
 
template<typename T >
bool rightHanded (detail::tvec3< T > const &tangent, detail::tvec3< T > const &binormal, detail::tvec3< T > const &normal)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_handed_coordinate_space

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file handed_coordinate_space.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00038_source.html glm-0.9.5.1/doc/api/a00038_source.html --- glm-0.9.4.6/doc/api/a00038_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00038_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,123 +1,117 @@ - - - - - -handed_coordinate_space.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
handed_coordinate_space.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_handed_coordinate_space
-
39 #define GLM_GTX_handed_coordinate_space GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_handed_coordinate_space extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename T>
-
56  bool rightHanded(
-
57  detail::tvec3<T> const & tangent,
-
58  detail::tvec3<T> const & binormal,
-
59  detail::tvec3<T> const & normal);
-
60 
-
63  template <typename T>
-
64  bool leftHanded(
-
65  detail::tvec3<T> const & tangent,
-
66  detail::tvec3<T> const & binormal,
-
67  detail::tvec3<T> const & normal);
-
68 
-
70 }// namespace glm
-
71 
-
72 #include "handed_coordinate_space.inl"
-
73 
-
74 #endif//GLM_GTX_handed_coordinate_space
-
- - - - + + + + + + +GLM: func_packing.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
func_packing.hpp
+
+
+
1 
+
36 #ifndef GLM_CORE_func_packing
+
37 #define GLM_CORE_func_packing
+
38 
+
39 #include "type_vec2.hpp"
+
40 #include "type_vec4.hpp"
+
41 
+
42 namespace glm
+
43 {
+
46 
+
58  GLM_FUNC_DECL uint packUnorm2x16(vec2 const & v);
+
59 
+
71  GLM_FUNC_DECL uint packSnorm2x16(vec2 const & v);
+
72 
+
84  GLM_FUNC_DECL uint packUnorm4x8(vec4 const & v);
+
85 
+
97  GLM_FUNC_DECL uint packSnorm4x8(vec4 const & v);
+
98 
+
110  GLM_FUNC_DECL vec2 unpackUnorm2x16(uint const & p);
+
111 
+
123  GLM_FUNC_DECL vec2 unpackSnorm2x16(uint const & p);
+
124 
+
136  GLM_FUNC_DECL vec4 unpackUnorm4x8(uint const & p);
+
137 
+
149  GLM_FUNC_DECL vec4 unpackSnorm4x8(uint const & p);
+
150 
+
159  GLM_FUNC_DECL double packDouble2x32(uvec2 const & v);
+
160 
+
168  GLM_FUNC_DECL uvec2 unpackDouble2x32(double const & v);
+
169 
+
178  GLM_FUNC_DECL uint packHalf2x16(vec2 const & v);
+
179 
+
188  GLM_FUNC_DECL vec2 unpackHalf2x16(uint const & v);
+
189 
+
191 }//namespace glm
+
192 
+
193 #include "func_packing.inl"
+
194 
+
195 #endif//GLM_CORE_func_packing
+
GLM_FUNC_DECL vec4 unpackSnorm4x8(uint const &p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
+
GLM_FUNC_DECL double packDouble2x32(uvec2 const &v)
Returns a double-precision value obtained by packing the components of v into a 64-bit value...
+
GLM_FUNC_DECL vec2 unpackHalf2x16(uint const &v)
Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned...
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:171
+
GLM_FUNC_DECL uint packUnorm4x8(vec4 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
+
GLM_FUNC_DECL vec4 unpackUnorm4x8(uint const &p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
+
GLM_FUNC_DECL uint packUnorm2x16(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
+
GLM_FUNC_DECL vec2 unpackUnorm2x16(uint const &p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
+
GLM_FUNC_DECL uint packSnorm4x8(vec4 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
+
GLM_FUNC_DECL vec2 unpackSnorm2x16(uint const &p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
+
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:472
+
GLM_FUNC_DECL uint packSnorm2x16(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
+
GLM_FUNC_DECL uint packHalf2x16(vec2 const &v)
Returns an unsigned integer obtained by converting the components of a two-component floating-point v...
+
GLM_FUNC_DECL uvec2 unpackDouble2x32(double const &v)
Returns a two-component unsigned integer vector representation of v.
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00039.html glm-0.9.5.1/doc/api/a00039.html --- glm-0.9.4.6/doc/api/a00039.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00039.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ - - - - - -hint.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
hint.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-14 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file hint.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00039_source.html glm-0.9.5.1/doc/api/a00039_source.html --- glm-0.9.4.6/doc/api/a00039_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00039_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,96 +1,136 @@ - - - - - -hint.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
hint.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type
-
30 #define glm_core_type
-
31 
-
32 namespace glm
-
33 {
-
34  // Use dont_care, nicest and fastest to optimize implementations.
-
35  class dont_care {};
-
36  class nicest {};
-
37  class fastest {};
-
38 }//namespace glm
-
39 
-
40 #endif//glm_core_type
-
- - - - + + + + + + +GLM: func_trigonometric.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
func_trigonometric.hpp
+
+
+
1 
+
40 #ifndef GLM_CORE_func_trigonometric
+
41 #define GLM_CORE_func_trigonometric
+
42 
+
43 namespace glm
+
44 {
+
47 
+
54  template <typename genType>
+
55  GLM_FUNC_DECL genType radians(genType const & degrees);
+
56 
+
63  template <typename genType>
+
64  GLM_FUNC_DECL genType degrees(genType const & radians);
+
65 
+
73  template <typename genType>
+
74  GLM_FUNC_DECL genType sin(genType const & angle);
+
75 
+
83  template <typename genType>
+
84  GLM_FUNC_DECL genType cos(genType const & angle);
+
85 
+
92  template <typename genType>
+
93  GLM_FUNC_DECL genType tan(genType const & angle);
+
94 
+
103  template <typename genType>
+
104  GLM_FUNC_DECL genType asin(genType const & x);
+
105 
+
114  template <typename genType>
+
115  GLM_FUNC_DECL genType acos(genType const & x);
+
116 
+
127  template <typename genType>
+
128  GLM_FUNC_DECL genType atan(genType const & y, genType const & x);
+
129 
+
137  template <typename genType>
+
138  GLM_FUNC_DECL genType atan(genType const & y_over_x);
+
139 
+
146  template <typename genType>
+
147  GLM_FUNC_DECL genType sinh(genType const & angle);
+
148 
+
155  template <typename genType>
+
156  GLM_FUNC_DECL genType cosh(genType const & angle);
+
157 
+
164  template <typename genType>
+
165  GLM_FUNC_DECL genType tanh(genType const & angle);
+
166 
+
173  template <typename genType>
+
174  GLM_FUNC_DECL genType asinh(genType const & x);
+
175 
+
183  template <typename genType>
+
184  GLM_FUNC_DECL genType acosh(genType const & x);
+
185 
+
193  template <typename genType>
+
194  GLM_FUNC_DECL genType atanh(genType const & x);
+
195 
+
197 }//namespace glm
+
198 
+
199 #include "func_trigonometric.inl"
+
200 
+
201 #endif//GLM_CORE_func_trigonometric
+
202 
+
203 
+
GLM_FUNC_DECL genType sinh(genType const &angle)
Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.
+
GLM_FUNC_DECL genType cos(genType const &angle)
The standard trigonometric cosine function.
+
GLM_FUNC_DECL genType atan(genType const &y, genType const &x)
Arc tangent.
+
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL genType radians(genType const &degrees)
Converts degrees to radians and returns the result.
+
GLM_FUNC_DECL genType tanh(genType const &angle)
Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)
+
GLM_FUNC_DECL genType acos(genType const &x)
Arc cosine.
+
GLM_FUNC_DECL genType sin(genType const &angle)
The standard trigonometric sine function.
+
GLM_FUNC_DECL genType cosh(genType const &angle)
Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.
+
GLM_FUNC_DECL genType tan(genType const &angle)
The standard trigonometric tangent function.
+
GLM_FUNC_DECL genType acosh(genType const &x)
Arc hyperbolic cosine; returns the non-negative inverse of cosh.
+
GLM_FUNC_DECL genType asinh(genType const &x)
Arc hyperbolic sine; returns the inverse of sinh.
+
GLM_FUNC_DECL genType asin(genType const &x)
Arc sine.
+
GLM_FUNC_DECL genType degrees(genType const &radians)
Converts radians to degrees and returns the result.
+
GLM_FUNC_DECL genType atanh(genType const &x)
Arc hyperbolic tangent; returns the inverse of tanh.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00040.html glm-0.9.5.1/doc/api/a00040.html --- glm-0.9.4.6/doc/api/a00040.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00040.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,101 +0,0 @@ - - - - - -inertia.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
inertia.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat3x3< T > ballInertia3 (T const &Mass, T const &Radius)
 
template<typename T >
detail::tmat4x4< T > ballInertia4 (T const &Mass, T const &Radius)
 
template<typename T >
detail::tmat3x3< T > boxInertia3 (T const &Mass, detail::tvec3< T > const &Scale)
 
template<typename T >
detail::tmat4x4< T > boxInertia4 (T const &Mass, detail::tvec3< T > const &Scale)
 
template<typename T >
detail::tmat3x3< T > diskInertia3 (T const &Mass, T const &Radius)
 
template<typename T >
detail::tmat4x4< T > diskInertia4 (T const &Mass, T const &Radius)
 
template<typename T >
detail::tmat3x3< T > sphereInertia3 (T const &Mass, T const &Radius)
 
template<typename T >
detail::tmat4x4< T > sphereInertia4 (T const &Mass, T const &Radius)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_inertia

-
Date
2006-04-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
- -

Definition in file inertia.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00040_source.html glm-0.9.5.1/doc/api/a00040_source.html --- glm-0.9.4.6/doc/api/a00040_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00040_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,152 +1,117 @@ - - - - - -inertia.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
inertia.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_inertia
-
40 #define GLM_GTX_inertia GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTX_inertia extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename T>
-
57  detail::tmat3x3<T> boxInertia3(
-
58  T const & Mass,
-
59  detail::tvec3<T> const & Scale);
-
60 
-
63  template <typename T>
-
64  detail::tmat4x4<T> boxInertia4(
-
65  T const & Mass,
-
66  detail::tvec3<T> const & Scale);
-
67 
-
70  template <typename T>
-
71  detail::tmat3x3<T> diskInertia3(
-
72  T const & Mass,
-
73  T const & Radius);
-
74 
-
77  template <typename T>
-
78  detail::tmat4x4<T> diskInertia4(
-
79  T const & Mass,
-
80  T const & Radius);
-
81 
-
84  template <typename T>
-
85  detail::tmat3x3<T> ballInertia3(
-
86  T const & Mass,
-
87  T const & Radius);
-
88 
-
91  template <typename T>
-
92  detail::tmat4x4<T> ballInertia4(
-
93  T const & Mass,
-
94  T const & Radius);
-
95 
-
98  template <typename T>
-
99  detail::tmat3x3<T> sphereInertia3(
-
100  T const & Mass,
-
101  T const & Radius);
-
102 
-
105  template <typename T>
-
106  detail::tmat4x4<T> sphereInertia4(
-
107  T const & Mass,
-
108  T const & Radius);
-
109 
-
111 }// namespace glm
-
112 
-
113 #include "inertia.inl"
-
114 
-
115 #endif//GLM_GTX_inertia
-
- - - - + + + + + + +GLM: func_vector_relational.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
func_vector_relational.hpp
+
+
+
1 
+
41 #ifndef GLM_CORE_func_vector_relational
+
42 #define GLM_CORE_func_vector_relational
+
43 
+
44 #include "precision.hpp"
+
45 #include "setup.hpp"
+
46 
+
47 #if !((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER <= GLM_COMPILER_VC10)) // Workaround a Visual C++ bug
+
48 
+
49 namespace glm
+
50 {
+
53 
+
60  // TODO: Mismatched
+
61  //template <typename T, precision P, template <typename, precision> class vecType>
+
62  //GLM_FUNC_DECL typename vecType<T, P>::bool_type lessThan(vecType<T, P> const & x, vecType<T, P> const & y);
+
63 
+
70  template <typename T, precision P, template <typename, precision> class vecType>
+
71  GLM_FUNC_DECL typename vecType<T, P>::bool_type lessThanEqual(vecType<T, P> const & x, vecType<T, P> const & y);
+
72 
+
79  template <typename T, precision P, template <typename, precision> class vecType>
+
80  GLM_FUNC_DECL typename vecType<T, P>::bool_type greaterThan(vecType<T, P> const & x, vecType<T, P> const & y);
+
81 
+
88  template <typename T, precision P, template <typename, precision> class vecType>
+
89  GLM_FUNC_DECL typename vecType<T, P>::bool_type greaterThanEqual(vecType<T, P> const & x, vecType<T, P> const & y);
+
90 
+
97  //TODO: conflicts with definision
+
98  //template <typename T, precision P, template <typename, precision> class vecType>
+
99  //GLM_FUNC_DECL typename vecType<T, P>::bool_type equal(vecType<T, P> const & x, vecType<T, P> const & y);
+
100 
+
107  template <typename T, precision P, template <typename, precision> class vecType>
+
108  GLM_FUNC_DECL typename vecType<T, P>::bool_type notEqual(vecType<T, P> const & x, vecType<T, P> const & y);
+
109 
+
116  template <precision P, template <typename, precision> class vecType>
+
117  GLM_FUNC_DECL bool any(vecType<bool, P> const & v);
+
118 
+
125  template <precision P, template <typename, precision> class vecType>
+
126  GLM_FUNC_DECL bool all(vecType<bool, P> const & v);
+
127 
+
135  template <precision P, template <typename, precision> class vecType>
+
136  GLM_FUNC_DECL vecType<bool, P> not_(vecType<bool, P> const & v);
+
137 
+
139 }//namespace glm
+
140 
+
141 #endif
+
142 
+
143 #include "func_vector_relational.inl"
+
144 
+
145 #endif//GLM_CORE_func_vector_relational
+
GLM_FUNC_DECL vecType< T, P >::bool_type notEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x == y.
+
GLM_FUNC_DECL bool any(vecType< bool, P > const &v)
Returns true if any component of x is true.
+
GLM_FUNC_DECL vecType< T, P >::bool_type greaterThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x &gt;= y.
+
GLM_FUNC_DECL vecType< bool, P > not_(vecType< bool, P > const &v)
Returns the component-wise logical complement of x.
+
GLM_FUNC_DECL vecType< T, P >::bool_type greaterThan(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x &gt; y.
+
GLM_FUNC_DECL vecType< T, P >::bool_type lessThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison result of x &lt; y.
+
GLM_FUNC_DECL bool all(vecType< bool, P > const &v)
Returns true if all components of x are true.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00041.html glm-0.9.5.1/doc/api/a00041.html --- glm-0.9.4.6/doc/api/a00041.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00041.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,79 +1,1137 @@ - - - - - -int_10_10_10_2.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
int_10_10_10_2.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - -

-Functions

dword uint10_10_10_2_cast (glm::vec4 const &v)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_int_10_10_10_2

-
Date
2010-07-07 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_raw_data (dependence)
- -

Definition in file int_10_10_10_2.hpp.

-
- - - - + + + + + + +GLM: fwd.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
fwd.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_dquat dquat
 
typedef highp_float32_t f32
 
typedef f32mat2x2 f32mat2
 
typedef highp_f32mat2x2 f32mat2x2
 
typedef highp_f32mat2x3 f32mat2x3
 
typedef highp_f32mat2x4 f32mat2x4
 
typedef f32mat3x3 f32mat3
 
typedef highp_f32mat3x2 f32mat3x2
 
typedef highp_f32mat3x3 f32mat3x3
 
typedef highp_f32mat3x4 f32mat3x4
 
typedef f32mat4x4 f32mat4
 
typedef highp_f32mat4x2 f32mat4x2
 
typedef highp_f32mat4x3 f32mat4x3
 
typedef highp_f32mat4x4 f32mat4x4
 
typedef highp_f32quat f32quat
 
typedef highp_f32vec1 f32vec1
 
typedef highp_f32vec2 f32vec2
 
typedef highp_f32vec3 f32vec3
 
typedef highp_f32vec4 f32vec4
 
typedef highp_float64_t f64
 
typedef f64mat2x2 f64mat2
 
typedef highp_f64mat2x2 f64mat2x2
 
typedef highp_f64mat2x3 f64mat2x3
 
typedef highp_f64mat2x4 f64mat2x4
 
typedef f64mat3x3 f64mat3
 
typedef highp_f64mat3x2 f64mat3x2
 
typedef highp_f64mat3x3 f64mat3x3
 
typedef highp_f64mat3x4 f64mat3x4
 
typedef f64mat4x4 f64mat4
 
typedef highp_f64mat4x2 f64mat4x2
 
typedef highp_f64mat4x3 f64mat4x3
 
typedef highp_f64mat4x4 f64mat4x4
 
typedef highp_f64quat f64quat
 
typedef highp_f64vec1 f64vec1
 
typedef highp_f64vec2 f64vec2
 
typedef highp_f64vec3 f64vec3
 
typedef highp_f64vec4 f64vec4
 
typedef highp_float32_t float32_t
 
typedef highp_float64_t float64_t
 
typedef fmat2x2 fmat2
 
typedef highp_f32mat2x2 fmat2x2
 
typedef highp_f32mat2x3 fmat2x3
 
typedef highp_f32mat2x4 fmat2x4
 
typedef fmat3x3 fmat3
 
typedef highp_f32mat3x2 fmat3x2
 
typedef highp_f32mat3x3 fmat3x3
 
typedef highp_f32mat3x4 fmat3x4
 
typedef fmat4x4 fmat4
 
typedef highp_f32mat4x2 fmat4x2
 
typedef highp_f32mat4x3 fmat4x3
 
typedef highp_f32mat4x4 fmat4x4
 
typedef quat fquat
 
typedef highp_f32vec1 fvec1
 
typedef highp_f32vec2 fvec2
 
typedef highp_f32vec3 fvec3
 
typedef highp_f32vec4 fvec4
 
typedef detail::tquat< double,
+highp > 
highp_dquat
 
typedef float32 highp_f32
 
typedef highp_f32mat2x2 highp_f32mat2
 
typedef detail::tmat2x2< f32,
+highp > 
highp_f32mat2x2
 
typedef detail::tmat2x3< f32,
+highp > 
highp_f32mat2x3
 
typedef detail::tmat2x4< f32,
+highp > 
highp_f32mat2x4
 
typedef highp_f32mat3x3 highp_f32mat3
 
typedef detail::tmat3x2< f32,
+highp > 
highp_f32mat3x2
 
typedef detail::tmat3x3< f32,
+highp > 
highp_f32mat3x3
 
typedef detail::tmat3x4< f32,
+highp > 
highp_f32mat3x4
 
typedef highp_f32mat4x4 highp_f32mat4
 
typedef detail::tmat4x2< f32,
+highp > 
highp_f32mat4x2
 
typedef detail::tmat4x3< f32,
+highp > 
highp_f32mat4x3
 
typedef detail::tmat4x4< f32,
+highp > 
highp_f32mat4x4
 
typedef detail::tquat< f32, highp > highp_f32quat
 
typedef detail::tvec1< f32, highp > highp_f32vec1
 
typedef detail::tvec2< f32, highp > highp_f32vec2
 
typedef detail::tvec3< f32, highp > highp_f32vec3
 
typedef detail::tvec4< f32, highp > highp_f32vec4
 
typedef float64 highp_f64
 
typedef highp_f64mat2x2 highp_f64mat2
 
typedef detail::tmat2x2< f64,
+highp > 
highp_f64mat2x2
 
typedef detail::tmat2x3< f64,
+highp > 
highp_f64mat2x3
 
typedef detail::tmat2x4< f64,
+highp > 
highp_f64mat2x4
 
typedef highp_f64mat3x3 highp_f64mat3
 
typedef detail::tmat3x2< f64,
+highp > 
highp_f64mat3x2
 
typedef detail::tmat3x3< f64,
+highp > 
highp_f64mat3x3
 
typedef detail::tmat3x4< f64,
+highp > 
highp_f64mat3x4
 
typedef highp_f64mat4x4 highp_f64mat4
 
typedef detail::tmat4x2< f64,
+highp > 
highp_f64mat4x2
 
typedef detail::tmat4x3< f64,
+highp > 
highp_f64mat4x3
 
typedef detail::tmat4x4< f64,
+highp > 
highp_f64mat4x4
 
typedef detail::tquat< f64, highp > highp_f64quat
 
typedef detail::tvec1< f64, highp > highp_f64vec1
 
typedef detail::tvec2< f64, highp > highp_f64vec2
 
typedef detail::tvec3< f64, highp > highp_f64vec3
 
typedef detail::tvec4< f64, highp > highp_f64vec4
 
typedef detail::float32 highp_float32
 
typedef detail::float32 highp_float32_t
 
typedef detail::float64 highp_float64
 
typedef detail::float64 highp_float64_t
 
typedef highp_fmat2x2 highp_fmat2
 
typedef detail::tmat2x2< f32,
+highp > 
highp_fmat2x2
 
typedef detail::tmat2x3< f32,
+highp > 
highp_fmat2x3
 
typedef detail::tmat2x4< f32,
+highp > 
highp_fmat2x4
 
typedef highp_fmat3x3 highp_fmat3
 
typedef detail::tmat3x2< f32,
+highp > 
highp_fmat3x2
 
typedef detail::tmat3x3< f32,
+highp > 
highp_fmat3x3
 
typedef detail::tmat3x4< f32,
+highp > 
highp_fmat3x4
 
typedef highp_fmat4x4 highp_fmat4
 
typedef detail::tmat4x2< f32,
+highp > 
highp_fmat4x2
 
typedef detail::tmat4x3< f32,
+highp > 
highp_fmat4x3
 
typedef detail::tmat4x4< f32,
+highp > 
highp_fmat4x4
 
typedef highp_quat highp_fquat
 
typedef detail::tvec1< float,
+highp > 
highp_fvec1
 
typedef detail::tvec2< float,
+highp > 
highp_fvec2
 
typedef detail::tvec3< float,
+highp > 
highp_fvec3
 
typedef detail::tvec4< float,
+highp > 
highp_fvec4
 
typedef detail::int16 highp_i16
 
typedef detail::tvec1< i16, highp > highp_i16vec1
 
typedef detail::tvec2< i16, highp > highp_i16vec2
 
typedef detail::tvec3< i16, highp > highp_i16vec3
 
typedef detail::tvec4< i16, highp > highp_i16vec4
 
typedef detail::int32 highp_i32
 
typedef detail::tvec1< i32, highp > highp_i32vec1
 
typedef detail::tvec2< i32, highp > highp_i32vec2
 
typedef detail::tvec3< i32, highp > highp_i32vec3
 
typedef detail::tvec4< i32, highp > highp_i32vec4
 
typedef detail::int64 highp_i64
 
typedef detail::tvec1< i64, highp > highp_i64vec1
 
typedef detail::tvec2< i64, highp > highp_i64vec2
 
typedef detail::tvec3< i64, highp > highp_i64vec3
 
typedef detail::tvec4< i64, highp > highp_i64vec4
 
typedef detail::int8 highp_i8
 
typedef detail::tvec1< i8, highp > highp_i8vec1
 
typedef detail::tvec2< i8, highp > highp_i8vec2
 
typedef detail::tvec3< i8, highp > highp_i8vec3
 
typedef detail::tvec4< i8, highp > highp_i8vec4
 
typedef detail::int16 highp_int16
 
typedef detail::int16 highp_int16_t
 
typedef detail::int32 highp_int32
 
typedef detail::int32 highp_int32_t
 
typedef detail::int64 highp_int64
 
typedef detail::int64 highp_int64_t
 
typedef detail::int8 highp_int8
 
typedef detail::int8 highp_int8_t
 
typedef detail::tquat< float,
+highp > 
highp_quat
 
typedef detail::uint16 highp_u16
 
typedef detail::tvec1< u16, highp > highp_u16vec1
 
typedef detail::tvec2< u16, highp > highp_u16vec2
 
typedef detail::tvec3< u16, highp > highp_u16vec3
 
typedef detail::tvec4< u16, highp > highp_u16vec4
 
typedef detail::uint32 highp_u32
 
typedef detail::tvec1< u32, highp > highp_u32vec1
 
typedef detail::tvec2< u32, highp > highp_u32vec2
 
typedef detail::tvec3< u32, highp > highp_u32vec3
 
typedef detail::tvec4< u32, highp > highp_u32vec4
 
typedef detail::uint64 highp_u64
 
typedef detail::tvec1< u64, highp > highp_u64vec1
 
typedef detail::tvec2< u64, highp > highp_u64vec2
 
typedef detail::tvec3< u64, highp > highp_u64vec3
 
typedef detail::tvec4< u64, highp > highp_u64vec4
 
typedef detail::uint8 highp_u8
 
typedef detail::tvec1< u8, highp > highp_u8vec1
 
typedef detail::tvec2< u8, highp > highp_u8vec2
 
typedef detail::tvec3< u8, highp > highp_u8vec3
 
typedef detail::tvec4< u8, highp > highp_u8vec4
 
typedef detail::uint16 highp_uint16
 
typedef detail::uint16 highp_uint16_t
 
typedef detail::uint32 highp_uint32
 
typedef detail::uint32 highp_uint32_t
 
typedef detail::uint64 highp_uint64
 
typedef detail::uint64 highp_uint64_t
 
typedef detail::uint8 highp_uint8
 
typedef detail::uint8 highp_uint8_t
 
typedef detail::tvec1< float,
+highp > 
highp_vec1
 
typedef detail::int16 i16
 
typedef highp_i16vec1 i16vec1
 
typedef highp_i16vec2 i16vec2
 
typedef highp_i16vec3 i16vec3
 
typedef highp_i16vec4 i16vec4
 
typedef detail::int32 i32
 
typedef highp_i32vec1 i32vec1
 
typedef highp_i32vec2 i32vec2
 
typedef highp_i32vec3 i32vec3
 
typedef highp_i32vec4 i32vec4
 
typedef detail::int64 i64
 
typedef highp_i64vec1 i64vec1
 
typedef highp_i64vec2 i64vec2
 
typedef highp_i64vec3 i64vec3
 
typedef highp_i64vec4 i64vec4
 
typedef detail::int8 i8
 
typedef highp_i8vec1 i8vec1
 
typedef highp_i8vec2 i8vec2
 
typedef highp_i8vec3 i8vec3
 
typedef highp_i8vec4 i8vec4
 
typedef detail::int16 int16_t
 
typedef detail::int32 int32_t
 
typedef detail::int64 int64_t
 
typedef detail::int8 int8_t
 
typedef detail::tquat< double,
+lowp > 
lowp_dquat
 
typedef float32 lowp_f32
 
typedef lowp_f32mat2x2 lowp_f32mat2
 
typedef detail::tmat2x2< f32,
+lowp > 
lowp_f32mat2x2
 
typedef detail::tmat2x3< f32,
+lowp > 
lowp_f32mat2x3
 
typedef detail::tmat2x4< f32,
+lowp > 
lowp_f32mat2x4
 
typedef lowp_f32mat3x3 lowp_f32mat3
 
typedef detail::tmat3x2< f32,
+lowp > 
lowp_f32mat3x2
 
typedef detail::tmat3x3< f32,
+lowp > 
lowp_f32mat3x3
 
typedef detail::tmat3x4< f32,
+lowp > 
lowp_f32mat3x4
 
typedef lowp_f32mat4x4 lowp_f32mat4
 
typedef detail::tmat4x2< f32,
+lowp > 
lowp_f32mat4x2
 
typedef detail::tmat4x3< f32,
+lowp > 
lowp_f32mat4x3
 
typedef detail::tmat4x4< f32,
+lowp > 
lowp_f32mat4x4
 
typedef detail::tquat< f32, lowp > lowp_f32quat
 
typedef detail::tvec1< f32, lowp > lowp_f32vec1
 
typedef detail::tvec2< f32, lowp > lowp_f32vec2
 
typedef detail::tvec3< f32, lowp > lowp_f32vec3
 
typedef detail::tvec4< f32, lowp > lowp_f32vec4
 
typedef float64 lowp_f64
 
typedef lowp_f64mat2x2 lowp_f64mat2
 
typedef detail::tmat2x2< f64,
+lowp > 
lowp_f64mat2x2
 
typedef detail::tmat2x3< f64,
+lowp > 
lowp_f64mat2x3
 
typedef detail::tmat2x4< f64,
+lowp > 
lowp_f64mat2x4
 
typedef lowp_f64mat3x3 lowp_f64mat3
 
typedef detail::tmat3x2< f64,
+lowp > 
lowp_f64mat3x2
 
typedef detail::tmat3x3< f64,
+lowp > 
lowp_f64mat3x3
 
typedef detail::tmat3x4< f64,
+lowp > 
lowp_f64mat3x4
 
typedef lowp_f64mat4x4 lowp_f64mat4
 
typedef detail::tmat4x2< f64,
+lowp > 
lowp_f64mat4x2
 
typedef detail::tmat4x3< f64,
+lowp > 
lowp_f64mat4x3
 
typedef detail::tmat4x4< f64,
+lowp > 
lowp_f64mat4x4
 
typedef detail::tquat< f64, lowp > lowp_f64quat
 
typedef detail::tvec1< f64, lowp > lowp_f64vec1
 
typedef detail::tvec2< f64, lowp > lowp_f64vec2
 
typedef detail::tvec3< f64, lowp > lowp_f64vec3
 
typedef detail::tvec4< f64, lowp > lowp_f64vec4
 
typedef detail::float32 lowp_float32
 
typedef detail::float32 lowp_float32_t
 
typedef detail::float64 lowp_float64
 
typedef detail::float64 lowp_float64_t
 
typedef lowp_fmat2x2 lowp_fmat2
 
typedef detail::tmat2x2< f32,
+lowp > 
lowp_fmat2x2
 
typedef detail::tmat2x3< f32,
+lowp > 
lowp_fmat2x3
 
typedef detail::tmat2x4< f32,
+lowp > 
lowp_fmat2x4
 
typedef lowp_fmat3x3 lowp_fmat3
 
typedef detail::tmat3x2< f32,
+lowp > 
lowp_fmat3x2
 
typedef detail::tmat3x3< f32,
+lowp > 
lowp_fmat3x3
 
typedef detail::tmat3x4< f32,
+lowp > 
lowp_fmat3x4
 
typedef lowp_fmat4x4 lowp_fmat4
 
typedef detail::tmat4x2< f32,
+lowp > 
lowp_fmat4x2
 
typedef detail::tmat4x3< f32,
+lowp > 
lowp_fmat4x3
 
typedef detail::tmat4x4< f32,
+lowp > 
lowp_fmat4x4
 
typedef lowp_quat lowp_fquat
 
typedef detail::tvec1< float,
+lowp > 
lowp_fvec1
 
typedef detail::tvec2< float,
+lowp > 
lowp_fvec2
 
typedef detail::tvec3< float,
+lowp > 
lowp_fvec3
 
typedef detail::tvec4< float,
+lowp > 
lowp_fvec4
 
typedef detail::int16 lowp_i16
 
typedef detail::tvec1< i16, lowp > lowp_i16vec1
 
typedef detail::tvec2< i16, lowp > lowp_i16vec2
 
typedef detail::tvec3< i16, lowp > lowp_i16vec3
 
typedef detail::tvec4< i16, lowp > lowp_i16vec4
 
typedef detail::int32 lowp_i32
 
typedef detail::tvec1< i32, lowp > lowp_i32vec1
 
typedef detail::tvec2< i32, lowp > lowp_i32vec2
 
typedef detail::tvec3< i32, lowp > lowp_i32vec3
 
typedef detail::tvec4< i32, lowp > lowp_i32vec4
 
typedef detail::int64 lowp_i64
 
typedef detail::tvec1< i64, lowp > lowp_i64vec1
 
typedef detail::tvec2< i64, lowp > lowp_i64vec2
 
typedef detail::tvec3< i64, lowp > lowp_i64vec3
 
typedef detail::tvec4< i64, lowp > lowp_i64vec4
 
typedef detail::int8 lowp_i8
 
typedef detail::tvec1< i8, lowp > lowp_i8vec1
 
typedef detail::tvec2< i8, lowp > lowp_i8vec2
 
typedef detail::tvec3< i8, lowp > lowp_i8vec3
 
typedef detail::tvec4< i8, lowp > lowp_i8vec4
 
typedef detail::int16 lowp_int16
 
typedef detail::int16 lowp_int16_t
 
typedef detail::int32 lowp_int32
 
typedef detail::int32 lowp_int32_t
 
typedef detail::int64 lowp_int64
 
typedef detail::int64 lowp_int64_t
 
typedef detail::int8 lowp_int8
 
typedef detail::int8 lowp_int8_t
 
typedef detail::tquat< float,
+lowp > 
lowp_quat
 
typedef detail::uint16 lowp_u16
 
typedef detail::tvec1< u16, lowp > lowp_u16vec1
 
typedef detail::tvec2< u16, lowp > lowp_u16vec2
 
typedef detail::tvec3< u16, lowp > lowp_u16vec3
 
typedef detail::tvec4< u16, lowp > lowp_u16vec4
 
typedef detail::uint32 lowp_u32
 
typedef detail::tvec1< u32, lowp > lowp_u32vec1
 
typedef detail::tvec2< u32, lowp > lowp_u32vec2
 
typedef detail::tvec3< u32, lowp > lowp_u32vec3
 
typedef detail::tvec4< u32, lowp > lowp_u32vec4
 
typedef detail::uint64 lowp_u64
 
typedef detail::tvec1< u64, lowp > lowp_u64vec1
 
typedef detail::tvec2< u64, lowp > lowp_u64vec2
 
typedef detail::tvec3< u64, lowp > lowp_u64vec3
 
typedef detail::tvec4< u64, lowp > lowp_u64vec4
 
typedef detail::uint8 lowp_u8
 
typedef detail::tvec1< u8, lowp > lowp_u8vec1
 
typedef detail::tvec2< u8, lowp > lowp_u8vec2
 
typedef detail::tvec3< u8, lowp > lowp_u8vec3
 
typedef detail::tvec4< u8, lowp > lowp_u8vec4
 
typedef detail::uint16 lowp_uint16
 
typedef detail::uint16 lowp_uint16_t
 
typedef detail::uint32 lowp_uint32
 
typedef detail::uint32 lowp_uint32_t
 
typedef detail::uint64 lowp_uint64
 
typedef detail::uint64 lowp_uint64_t
 
typedef detail::uint8 lowp_uint8
 
typedef detail::uint8 lowp_uint8_t
 
typedef detail::tvec1< float,
+lowp > 
lowp_vec1
 
typedef detail::tquat< double,
+mediump > 
mediump_dquat
 
typedef float32 mediump_f32
 
typedef mediump_f32mat2x2 mediump_f32mat2
 
typedef detail::tmat2x2< f32,
+mediump > 
mediump_f32mat2x2
 
typedef detail::tmat2x3< f32,
+mediump > 
mediump_f32mat2x3
 
typedef detail::tmat2x4< f32,
+mediump > 
mediump_f32mat2x4
 
typedef mediump_f32mat3x3 mediump_f32mat3
 
typedef detail::tmat3x2< f32,
+mediump > 
mediump_f32mat3x2
 
typedef detail::tmat3x3< f32,
+mediump > 
mediump_f32mat3x3
 
typedef detail::tmat3x4< f32,
+mediump > 
mediump_f32mat3x4
 
typedef mediump_f32mat4x4 mediump_f32mat4
 
typedef detail::tmat4x2< f32,
+mediump > 
mediump_f32mat4x2
 
typedef detail::tmat4x3< f32,
+mediump > 
mediump_f32mat4x3
 
typedef detail::tmat4x4< f32,
+mediump > 
mediump_f32mat4x4
 
typedef detail::tquat< f32,
+mediump > 
mediump_f32quat
 
typedef detail::tvec1< f32,
+mediump > 
mediump_f32vec1
 
typedef detail::tvec2< f32,
+mediump > 
mediump_f32vec2
 
typedef detail::tvec3< f32,
+mediump > 
mediump_f32vec3
 
typedef detail::tvec4< f32,
+mediump > 
mediump_f32vec4
 
typedef float64 mediump_f64
 
typedef mediump_f64mat2x2 mediump_f64mat2
 
typedef detail::tmat2x2< f64,
+mediump > 
mediump_f64mat2x2
 
typedef detail::tmat2x3< f64,
+mediump > 
mediump_f64mat2x3
 
typedef detail::tmat2x4< f64,
+mediump > 
mediump_f64mat2x4
 
typedef mediump_f64mat3x3 mediump_f64mat3
 
typedef detail::tmat3x2< f64,
+mediump > 
mediump_f64mat3x2
 
typedef detail::tmat3x3< f64,
+mediump > 
mediump_f64mat3x3
 
typedef detail::tmat3x4< f64,
+mediump > 
mediump_f64mat3x4
 
typedef mediump_f64mat4x4 mediump_f64mat4
 
typedef detail::tmat4x2< f64,
+mediump > 
mediump_f64mat4x2
 
typedef detail::tmat4x3< f64,
+mediump > 
mediump_f64mat4x3
 
typedef detail::tmat4x4< f64,
+mediump > 
mediump_f64mat4x4
 
typedef detail::tquat< f64,
+mediump > 
mediump_f64quat
 
typedef detail::tvec1< f64,
+mediump > 
mediump_f64vec1
 
typedef detail::tvec2< f64,
+mediump > 
mediump_f64vec2
 
typedef detail::tvec3< f64,
+mediump > 
mediump_f64vec3
 
typedef detail::tvec4< f64,
+mediump > 
mediump_f64vec4
 
typedef detail::float32 mediump_float32
 
typedef detail::float32 mediump_float32_t
 
typedef detail::float64 mediump_float64
 
typedef detail::float64 mediump_float64_t
 
typedef mediump_fmat2x2 mediump_fmat2
 
typedef detail::tmat2x2< f32,
+mediump > 
mediump_fmat2x2
 
typedef detail::tmat2x3< f32,
+mediump > 
mediump_fmat2x3
 
typedef detail::tmat2x4< f32,
+mediump > 
mediump_fmat2x4
 
typedef mediump_fmat3x3 mediump_fmat3
 
typedef detail::tmat3x2< f32,
+mediump > 
mediump_fmat3x2
 
typedef detail::tmat3x3< f32,
+mediump > 
mediump_fmat3x3
 
typedef detail::tmat3x4< f32,
+mediump > 
mediump_fmat3x4
 
typedef mediump_fmat4x4 mediump_fmat4
 
typedef detail::tmat4x2< f32,
+mediump > 
mediump_fmat4x2
 
typedef detail::tmat4x3< f32,
+mediump > 
mediump_fmat4x3
 
typedef detail::tmat4x4< f32,
+mediump > 
mediump_fmat4x4
 
typedef mediump_quat mediump_fquat
 
typedef detail::tvec1< float,
+mediump > 
mediump_fvec1
 
typedef detail::tvec2< float,
+mediump > 
mediump_fvec2
 
typedef detail::tvec3< float,
+mediump > 
mediump_fvec3
 
typedef detail::tvec4< float,
+mediump > 
mediump_fvec4
 
typedef detail::int16 mediump_i16
 
typedef detail::tvec1< i16,
+mediump > 
mediump_i16vec1
 
typedef detail::tvec2< i16,
+mediump > 
mediump_i16vec2
 
typedef detail::tvec3< i16,
+mediump > 
mediump_i16vec3
 
typedef detail::tvec4< i16,
+mediump > 
mediump_i16vec4
 
typedef detail::int32 mediump_i32
 
typedef detail::tvec1< i32,
+mediump > 
mediump_i32vec1
 
typedef detail::tvec2< i32,
+mediump > 
mediump_i32vec2
 
typedef detail::tvec3< i32,
+mediump > 
mediump_i32vec3
 
typedef detail::tvec4< i32,
+mediump > 
mediump_i32vec4
 
typedef detail::int64 mediump_i64
 
typedef detail::tvec1< i64,
+mediump > 
mediump_i64vec1
 
typedef detail::tvec2< i64,
+mediump > 
mediump_i64vec2
 
typedef detail::tvec3< i64,
+mediump > 
mediump_i64vec3
 
typedef detail::tvec4< i64,
+mediump > 
mediump_i64vec4
 
typedef detail::int8 mediump_i8
 
typedef detail::tvec1< i8,
+mediump > 
mediump_i8vec1
 
typedef detail::tvec2< i8,
+mediump > 
mediump_i8vec2
 
typedef detail::tvec3< i8,
+mediump > 
mediump_i8vec3
 
typedef detail::tvec4< i8,
+mediump > 
mediump_i8vec4
 
typedef detail::int16 mediump_int16
 
typedef detail::int16 mediump_int16_t
 
typedef detail::int32 mediump_int32
 
typedef detail::int32 mediump_int32_t
 
typedef detail::int64 mediump_int64
 
typedef detail::int64 mediump_int64_t
 
typedef detail::int8 mediump_int8
 
typedef detail::int8 mediump_int8_t
 
typedef detail::tquat< float,
+mediump > 
mediump_quat
 
typedef detail::uint16 mediump_u16
 
typedef detail::tvec1< u16,
+mediump > 
mediump_u16vec1
 
typedef detail::tvec2< u16,
+mediump > 
mediump_u16vec2
 
typedef detail::tvec3< u16,
+mediump > 
mediump_u16vec3
 
typedef detail::tvec4< u16,
+mediump > 
mediump_u16vec4
 
typedef detail::uint32 mediump_u32
 
typedef detail::tvec1< u32,
+mediump > 
mediump_u32vec1
 
typedef detail::tvec2< u32,
+mediump > 
mediump_u32vec2
 
typedef detail::tvec3< u32,
+mediump > 
mediump_u32vec3
 
typedef detail::tvec4< u32,
+mediump > 
mediump_u32vec4
 
typedef detail::uint64 mediump_u64
 
typedef detail::tvec1< u64,
+mediump > 
mediump_u64vec1
 
typedef detail::tvec2< u64,
+mediump > 
mediump_u64vec2
 
typedef detail::tvec3< u64,
+mediump > 
mediump_u64vec3
 
typedef detail::tvec4< u64,
+mediump > 
mediump_u64vec4
 
typedef detail::uint8 mediump_u8
 
typedef detail::tvec1< u8,
+mediump > 
mediump_u8vec1
 
typedef detail::tvec2< u8,
+mediump > 
mediump_u8vec2
 
typedef detail::tvec3< u8,
+mediump > 
mediump_u8vec3
 
typedef detail::tvec4< u8,
+mediump > 
mediump_u8vec4
 
typedef detail::uint16 mediump_uint16
 
typedef detail::uint16 mediump_uint16_t
 
typedef detail::uint32 mediump_uint32
 
typedef detail::uint32 mediump_uint32_t
 
typedef detail::uint64 mediump_uint64
 
typedef detail::uint64 mediump_uint64_t
 
typedef detail::uint8 mediump_uint8
 
typedef detail::uint8 mediump_uint8_t
 
typedef detail::tvec1< float,
+mediump > 
mediump_vec1
 
+typedef highp_quat quat
 
typedef detail::uint16 u16
 
typedef highp_u16vec1 u16vec1
 
typedef highp_u16vec2 u16vec2
 
typedef highp_u16vec3 u16vec3
 
typedef highp_u16vec4 u16vec4
 
typedef detail::uint32 u32
 
typedef highp_u32vec1 u32vec1
 
typedef highp_u32vec2 u32vec2
 
typedef highp_u32vec3 u32vec3
 
typedef highp_u32vec4 u32vec4
 
typedef detail::uint64 u64
 
typedef highp_u64vec1 u64vec1
 
typedef highp_u64vec2 u64vec2
 
typedef highp_u64vec3 u64vec3
 
typedef highp_u64vec4 u64vec4
 
typedef detail::uint8 u8
 
typedef highp_u8vec1 u8vec1
 
typedef highp_u8vec2 u8vec2
 
typedef highp_u8vec3 u8vec3
 
typedef highp_u8vec4 u8vec4
 
typedef detail::uint16 uint16_t
 
typedef detail::uint32 uint32_t
 
typedef detail::uint64 uint64_t
 
typedef detail::uint8 uint8_t
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-03-30 / 2013-03-31
+
Author
Christophe Riccio
+ +

Definition in file fwd.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00041_source.html glm-0.9.5.1/doc/api/a00041_source.html --- glm-0.9.4.6/doc/api/a00041_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00041_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,115 +1,1993 @@ - - - - - -int_10_10_10_2.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
int_10_10_10_2.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_int_10_10_10_2
-
40 #define GLM_GTX_int_10_10_10_2 GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/raw_data.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_int_10_10_10_2 extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
- -
58 
-
60 }//namespace glm
-
61 
-
62 #include "int_10_10_10_2.inl"
-
63 
-
64 #endif//GLM_GTX_int_10_10_10_2
-
- - - - + + + + + + +GLM: fwd.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
fwd.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_FWD_INCLUDED
+
30 #define GLM_FWD_INCLUDED
+
31 
+
32 #include "detail/type_int.hpp"
+
33 #include "detail/type_float.hpp"
+
34 #include "detail/type_vec.hpp"
+
35 #include "detail/type_mat.hpp"
+
36 
+
38 // GLM_GTC_quaternion
+
39 namespace glm{
+
40 namespace detail
+
41 {
+
42  template <typename T, precision P> struct tquat;
+
43 }//namespace detail
+
44 
+
45 
+
49  typedef detail::tquat<float, lowp> lowp_quat;
+
50 
+
54  typedef detail::tquat<float, mediump> mediump_quat;
+
55 
+
59  typedef detail::tquat<float, highp> highp_quat;
+
60 
+
61 #if(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
62  typedef highp_quat quat;
+
63 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
64  typedef mediump_quat quat;
+
65 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
+
66  typedef lowp_quat quat;
+
67 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
68  typedef highp_quat quat;
+
70 #endif
+
71 
+ +
76 
+ +
81 
+ +
86 
+
90  typedef quat fquat;
+
91 
+
92 
+
96  typedef detail::tquat<double, lowp> lowp_dquat;
+
97 
+
101  typedef detail::tquat<double, mediump> mediump_dquat;
+
102 
+
106  typedef detail::tquat<double, highp> highp_dquat;
+
107 
+
108 #if(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
109  typedef highp_dquat dquat;
+
110 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
111  typedef mediump_dquat dquat;
+
112 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
+
113  typedef lowp_dquat dquat;
+
114 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
+
115  typedef highp_dquat dquat;
+
119 #endif
+
120 
+
121 }//namespace glm
+
122 
+
124 // GLM_GTC_precision
+
125 namespace glm
+
126 {
+
129 
+
132  typedef detail::int8 lowp_int8;
+
133 
+
136  typedef detail::int16 lowp_int16;
+
137 
+
140  typedef detail::int32 lowp_int32;
+
141 
+
144  typedef detail::int64 lowp_int64;
+
145 
+
148  typedef detail::int8 lowp_int8_t;
+
149 
+
152  typedef detail::int16 lowp_int16_t;
+
153 
+
156  typedef detail::int32 lowp_int32_t;
+
157 
+
160  typedef detail::int64 lowp_int64_t;
+
161 
+
164  typedef detail::int8 lowp_i8;
+
165 
+
168  typedef detail::int16 lowp_i16;
+
169 
+
172  typedef detail::int32 lowp_i32;
+
173 
+
176  typedef detail::int64 lowp_i64;
+
177 
+
180  typedef detail::int8 mediump_int8;
+
181 
+
184  typedef detail::int16 mediump_int16;
+
185 
+
188  typedef detail::int32 mediump_int32;
+
189 
+
192  typedef detail::int64 mediump_int64;
+
193 
+
196  typedef detail::int8 mediump_int8_t;
+
197 
+
200  typedef detail::int16 mediump_int16_t;
+
201 
+
204  typedef detail::int32 mediump_int32_t;
+
205 
+
208  typedef detail::int64 mediump_int64_t;
+
209 
+
212  typedef detail::int8 mediump_i8;
+
213 
+
216  typedef detail::int16 mediump_i16;
+
217 
+
220  typedef detail::int32 mediump_i32;
+
221 
+
224  typedef detail::int64 mediump_i64;
+
225 
+
228  typedef detail::int8 highp_int8;
+
229 
+
232  typedef detail::int16 highp_int16;
+
233 
+
236  typedef detail::int32 highp_int32;
+
237 
+
240  typedef detail::int64 highp_int64;
+
241 
+
244  typedef detail::int8 highp_int8_t;
+
245 
+
248  typedef detail::int16 highp_int16_t;
+
249 
+
252  typedef detail::int32 highp_int32_t;
+
253 
+
256  typedef detail::int64 highp_int64_t;
+
257 
+
260  typedef detail::int8 highp_i8;
+
261 
+
264  typedef detail::int16 highp_i16;
+
265 
+
268  typedef detail::int32 highp_i32;
+
269 
+
272  typedef detail::int64 highp_i64;
+
273 
+
274 
+
277  typedef detail::int8 int8;
+
278 
+
281  typedef detail::int16 int16;
+
282 
+
285  typedef detail::int32 int32;
+
286 
+
289  typedef detail::int64 int64;
+
290 
+
293  typedef detail::int8 int8_t;
+
294 
+
297  typedef detail::int16 int16_t;
+
298 
+
301  typedef detail::int32 int32_t;
+
302 
+
305  typedef detail::int64 int64_t;
+
306 
+
309  typedef detail::int8 i8;
+
310 
+
313  typedef detail::int16 i16;
+
314 
+
317  typedef detail::int32 i32;
+
318 
+
321  typedef detail::int64 i64;
+
322 
+
323 
+
324 
+
327  typedef detail::tvec1<i8, lowp> lowp_i8vec1;
+
328 
+
331  typedef detail::tvec2<i8, lowp> lowp_i8vec2;
+
332 
+
335  typedef detail::tvec3<i8, lowp> lowp_i8vec3;
+
336 
+
339  typedef detail::tvec4<i8, lowp> lowp_i8vec4;
+
340 
+
341 
+
344  typedef detail::tvec1<i8, mediump> mediump_i8vec1;
+
345 
+
348  typedef detail::tvec2<i8, mediump> mediump_i8vec2;
+
349 
+
352  typedef detail::tvec3<i8, mediump> mediump_i8vec3;
+
353 
+
356  typedef detail::tvec4<i8, mediump> mediump_i8vec4;
+
357 
+
358 
+
361  typedef detail::tvec1<i8, highp> highp_i8vec1;
+
362 
+
365  typedef detail::tvec2<i8, highp> highp_i8vec2;
+
366 
+
369  typedef detail::tvec3<i8, highp> highp_i8vec3;
+
370 
+
373  typedef detail::tvec4<i8, highp> highp_i8vec4;
+
374 
+
375 #if(defined(GLM_PRECISION_LOWP_INT))
+
376  typedef lowp_i8vec1 i8vec1;
+
377  typedef lowp_i8vec2 i8vec2;
+
378  typedef lowp_i8vec3 i8vec3;
+
379  typedef lowp_i8vec4 i8vec4;
+
380 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
381  typedef mediump_i8vec1 i8vec1;
+
382  typedef mediump_i8vec2 i8vec2;
+
383  typedef mediump_i8vec3 i8vec3;
+
384  typedef mediump_i8vec4 i8vec4;
+
385 #else
+
386  typedef highp_i8vec1 i8vec1;
+
389 
+ +
393 
+ +
397 
+ +
401 #endif
+
402 
+
403 
+
406  typedef detail::tvec1<i16, lowp> lowp_i16vec1;
+
407 
+
410  typedef detail::tvec2<i16, lowp> lowp_i16vec2;
+
411 
+
414  typedef detail::tvec3<i16, lowp> lowp_i16vec3;
+
415 
+
418  typedef detail::tvec4<i16, lowp> lowp_i16vec4;
+
419 
+
420 
+
423  typedef detail::tvec1<i16, mediump> mediump_i16vec1;
+
424 
+
427  typedef detail::tvec2<i16, mediump> mediump_i16vec2;
+
428 
+
431  typedef detail::tvec3<i16, mediump> mediump_i16vec3;
+
432 
+
435  typedef detail::tvec4<i16, mediump> mediump_i16vec4;
+
436 
+
437 
+
440  typedef detail::tvec1<i16, highp> highp_i16vec1;
+
441 
+
444  typedef detail::tvec2<i16, highp> highp_i16vec2;
+
445 
+
448  typedef detail::tvec3<i16, highp> highp_i16vec3;
+
449 
+
452  typedef detail::tvec4<i16, highp> highp_i16vec4;
+
453 
+
454 
+
455 #if(defined(GLM_PRECISION_LOWP_INT))
+
456  typedef lowp_i16vec1 i16vec1;
+
457  typedef lowp_i16vec2 i16vec2;
+
458  typedef lowp_i16vec3 i16vec3;
+
459  typedef lowp_i16vec4 i16vec4;
+
460 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
461  typedef mediump_i16vec1 i16vec1;
+
462  typedef mediump_i16vec2 i16vec2;
+
463  typedef mediump_i16vec3 i16vec3;
+
464  typedef mediump_i16vec4 i16vec4;
+
465 #else
+
466  typedef highp_i16vec1 i16vec1;
+
469 
+ +
473 
+ +
477 
+ +
481 #endif
+
482 
+
483 
+
486  typedef detail::tvec1<i32, lowp> lowp_i32vec1;
+
487 
+
490  typedef detail::tvec2<i32, lowp> lowp_i32vec2;
+
491 
+
494  typedef detail::tvec3<i32, lowp> lowp_i32vec3;
+
495 
+
498  typedef detail::tvec4<i32, lowp> lowp_i32vec4;
+
499 
+
500 
+
503  typedef detail::tvec1<i32, mediump> mediump_i32vec1;
+
504 
+
507  typedef detail::tvec2<i32, mediump> mediump_i32vec2;
+
508 
+
511  typedef detail::tvec3<i32, mediump> mediump_i32vec3;
+
512 
+
515  typedef detail::tvec4<i32, mediump> mediump_i32vec4;
+
516 
+
517 
+
520  typedef detail::tvec1<i32, highp> highp_i32vec1;
+
521 
+
524  typedef detail::tvec2<i32, highp> highp_i32vec2;
+
525 
+
528  typedef detail::tvec3<i32, highp> highp_i32vec3;
+
529 
+
532  typedef detail::tvec4<i32, highp> highp_i32vec4;
+
533 
+
534 #if(defined(GLM_PRECISION_LOWP_INT))
+
535  typedef lowp_i32vec1 i32vec1;
+
536  typedef lowp_i32vec2 i32vec2;
+
537  typedef lowp_i32vec3 i32vec3;
+
538  typedef lowp_i32vec4 i32vec4;
+
539 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
540  typedef mediump_i32vec1 i32vec1;
+
541  typedef mediump_i32vec2 i32vec2;
+
542  typedef mediump_i32vec3 i32vec3;
+
543  typedef mediump_i32vec4 i32vec4;
+
544 #else
+
545  typedef highp_i32vec1 i32vec1;
+
548 
+ +
552 
+ +
556 
+ +
560 #endif
+
561 
+
562 
+
565  typedef detail::tvec1<i32, lowp> lowp_i32vec1;
+
566 
+
569  typedef detail::tvec2<i32, lowp> lowp_i32vec2;
+
570 
+
573  typedef detail::tvec3<i32, lowp> lowp_i32vec3;
+
574 
+
577  typedef detail::tvec4<i32, lowp> lowp_i32vec4;
+
578 
+
579 
+
582  typedef detail::tvec1<i32, mediump> mediump_i32vec1;
+
583 
+
586  typedef detail::tvec2<i32, mediump> mediump_i32vec2;
+
587 
+
590  typedef detail::tvec3<i32, mediump> mediump_i32vec3;
+
591 
+
594  typedef detail::tvec4<i32, mediump> mediump_i32vec4;
+
595 
+
596 
+
599  typedef detail::tvec1<i32, highp> highp_i32vec1;
+
600 
+
603  typedef detail::tvec2<i32, highp> highp_i32vec2;
+
604 
+
607  typedef detail::tvec3<i32, highp> highp_i32vec3;
+
608 
+
611  typedef detail::tvec4<i32, highp> highp_i32vec4;
+
612 
+
613 #if(defined(GLM_PRECISION_LOWP_INT))
+
614  typedef lowp_i32vec1 i32vec1;
+
615  typedef lowp_i32vec2 i32vec2;
+
616  typedef lowp_i32vec3 i32vec3;
+
617  typedef lowp_i32vec4 i32vec4;
+
618 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
619  typedef mediump_i32vec1 i32vec1;
+
620  typedef mediump_i32vec2 i32vec2;
+
621  typedef mediump_i32vec3 i32vec3;
+
622  typedef mediump_i32vec4 i32vec4;
+
623 #else
+
624  typedef highp_i32vec1 i32vec1;
+
627 
+
630  typedef highp_i32vec2 i32vec2;
+
631 
+
634  typedef highp_i32vec3 i32vec3;
+
635 
+
638  typedef highp_i32vec4 i32vec4;
+
639 #endif
+
640 
+
641 
+
642 
+
645  typedef detail::tvec1<i64, lowp> lowp_i64vec1;
+
646 
+
649  typedef detail::tvec2<i64, lowp> lowp_i64vec2;
+
650 
+
653  typedef detail::tvec3<i64, lowp> lowp_i64vec3;
+
654 
+
657  typedef detail::tvec4<i64, lowp> lowp_i64vec4;
+
658 
+
659 
+
662  typedef detail::tvec1<i64, mediump> mediump_i64vec1;
+
663 
+
666  typedef detail::tvec2<i64, mediump> mediump_i64vec2;
+
667 
+
670  typedef detail::tvec3<i64, mediump> mediump_i64vec3;
+
671 
+
674  typedef detail::tvec4<i64, mediump> mediump_i64vec4;
+
675 
+
676 
+
679  typedef detail::tvec1<i64, highp> highp_i64vec1;
+
680 
+
683  typedef detail::tvec2<i64, highp> highp_i64vec2;
+
684 
+
687  typedef detail::tvec3<i64, highp> highp_i64vec3;
+
688 
+
691  typedef detail::tvec4<i64, highp> highp_i64vec4;
+
692 
+
693 #if(defined(GLM_PRECISION_LOWP_INT))
+
694  typedef lowp_i64vec1 i64vec1;
+
695  typedef lowp_i64vec2 i64vec2;
+
696  typedef lowp_i64vec3 i64vec3;
+
697  typedef lowp_i64vec4 i64vec4;
+
698 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
699  typedef mediump_i64vec1 i64vec1;
+
700  typedef mediump_i64vec2 i64vec2;
+
701  typedef mediump_i64vec3 i64vec3;
+
702  typedef mediump_i64vec4 i64vec4;
+
703 #else
+
704  typedef highp_i64vec1 i64vec1;
+
707 
+ +
711 
+ +
715 
+ +
719 #endif
+
720 
+
721 
+
723  // Unsigned int vector types
+
724 
+
727  typedef detail::uint8 lowp_uint8;
+
728 
+
731  typedef detail::uint16 lowp_uint16;
+
732 
+
735  typedef detail::uint32 lowp_uint32;
+
736 
+
739  typedef detail::uint64 lowp_uint64;
+
740 
+
741 
+
744  typedef detail::uint8 lowp_uint8_t;
+
745 
+
748  typedef detail::uint16 lowp_uint16_t;
+
749 
+
752  typedef detail::uint32 lowp_uint32_t;
+
753 
+
756  typedef detail::uint64 lowp_uint64_t;
+
757 
+
758 
+
761  typedef detail::uint8 lowp_u8;
+
762 
+
765  typedef detail::uint16 lowp_u16;
+
766 
+
769  typedef detail::uint32 lowp_u32;
+
770 
+
773  typedef detail::uint64 lowp_u64;
+
774 
+
775 
+
776 
+
779  typedef detail::uint8 mediump_uint8;
+
780 
+
783  typedef detail::uint16 mediump_uint16;
+
784 
+
787  typedef detail::uint32 mediump_uint32;
+
788 
+
791  typedef detail::uint64 mediump_uint64;
+
792 
+
795  typedef detail::uint8 mediump_uint8_t;
+
796 
+
799  typedef detail::uint16 mediump_uint16_t;
+
800 
+
803  typedef detail::uint32 mediump_uint32_t;
+
804 
+
807  typedef detail::uint64 mediump_uint64_t;
+
808 
+
811  typedef detail::uint8 mediump_u8;
+
812 
+
815  typedef detail::uint16 mediump_u16;
+
816 
+
819  typedef detail::uint32 mediump_u32;
+
820 
+
823  typedef detail::uint64 mediump_u64;
+
824 
+
825 
+
826 
+
829  typedef detail::uint8 highp_uint8;
+
830 
+
833  typedef detail::uint16 highp_uint16;
+
834 
+
837  typedef detail::uint32 highp_uint32;
+
838 
+
841  typedef detail::uint64 highp_uint64;
+
842 
+
845  typedef detail::uint8 highp_uint8_t;
+
846 
+
849  typedef detail::uint16 highp_uint16_t;
+
850 
+
853  typedef detail::uint32 highp_uint32_t;
+
854 
+
857  typedef detail::uint64 highp_uint64_t;
+
858 
+
861  typedef detail::uint8 highp_u8;
+
862 
+
865  typedef detail::uint16 highp_u16;
+
866 
+
869  typedef detail::uint32 highp_u32;
+
870 
+
873  typedef detail::uint64 highp_u64;
+
874 
+
875 
+
876 
+
879  typedef detail::uint8 uint8;
+
880 
+
883  typedef detail::uint16 uint16;
+
884 
+
887  typedef detail::uint32 uint32;
+
888 
+
891  typedef detail::uint64 uint64;
+
892 
+
895  typedef detail::uint8 uint8_t;
+
896 
+
899  typedef detail::uint16 uint16_t;
+
900 
+
903  typedef detail::uint32 uint32_t;
+
904 
+
907  typedef detail::uint64 uint64_t;
+
908 
+
911  typedef detail::uint8 u8;
+
912 
+
915  typedef detail::uint16 u16;
+
916 
+
919  typedef detail::uint32 u32;
+
920 
+
923  typedef detail::uint64 u64;
+
924 
+
925 
+
926 
+
927 
+
930  typedef detail::tvec1<u8, lowp> lowp_u8vec1;
+
931 
+
934  typedef detail::tvec2<u8, lowp> lowp_u8vec2;
+
935 
+
938  typedef detail::tvec3<u8, lowp> lowp_u8vec3;
+
939 
+
942  typedef detail::tvec4<u8, lowp> lowp_u8vec4;
+
943 
+
944 
+
947  typedef detail::tvec1<u8, mediump> mediump_u8vec1;
+
948 
+
951  typedef detail::tvec2<u8, mediump> mediump_u8vec2;
+
952 
+
955  typedef detail::tvec3<u8, mediump> mediump_u8vec3;
+
956 
+
959  typedef detail::tvec4<u8, mediump> mediump_u8vec4;
+
960 
+
961 
+
964  typedef detail::tvec1<u8, highp> highp_u8vec1;
+
965 
+
968  typedef detail::tvec2<u8, highp> highp_u8vec2;
+
969 
+
972  typedef detail::tvec3<u8, highp> highp_u8vec3;
+
973 
+
976  typedef detail::tvec4<u8, highp> highp_u8vec4;
+
977 
+
978 #if(defined(GLM_PRECISION_LOWP_INT))
+
979  typedef lowp_u8vec1 u8vec1;
+
980  typedef lowp_u8vec2 u8vec2;
+
981  typedef lowp_u8vec3 u8vec3;
+
982  typedef lowp_u8vec4 u8vec4;
+
983 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
984  typedef mediump_u8vec1 u8vec1;
+
985  typedef mediump_u8vec2 u8vec2;
+
986  typedef mediump_u8vec3 u8vec3;
+
987  typedef mediump_u8vec4 u8vec4;
+
988 #else
+
989  typedef highp_u8vec1 u8vec1;
+
992 
+ +
996 
+ +
1000 
+ +
1004 #endif
+
1005 
+
1006 
+
1009  typedef detail::tvec1<u16, lowp> lowp_u16vec1;
+
1010 
+
1013  typedef detail::tvec2<u16, lowp> lowp_u16vec2;
+
1014 
+
1017  typedef detail::tvec3<u16, lowp> lowp_u16vec3;
+
1018 
+
1021  typedef detail::tvec4<u16, lowp> lowp_u16vec4;
+
1022 
+
1023 
+
1026  typedef detail::tvec1<u16, mediump> mediump_u16vec1;
+
1027 
+
1030  typedef detail::tvec2<u16, mediump> mediump_u16vec2;
+
1031 
+
1034  typedef detail::tvec3<u16, mediump> mediump_u16vec3;
+
1035 
+
1038  typedef detail::tvec4<u16, mediump> mediump_u16vec4;
+
1039 
+
1040 
+
1043  typedef detail::tvec1<u16, highp> highp_u16vec1;
+
1044 
+
1047  typedef detail::tvec2<u16, highp> highp_u16vec2;
+
1048 
+
1051  typedef detail::tvec3<u16, highp> highp_u16vec3;
+
1052 
+
1055  typedef detail::tvec4<u16, highp> highp_u16vec4;
+
1056 
+
1057 
+
1058 #if(defined(GLM_PRECISION_LOWP_INT))
+
1059  typedef lowp_u16vec1 u16vec1;
+
1060  typedef lowp_u16vec2 u16vec2;
+
1061  typedef lowp_u16vec3 u16vec3;
+
1062  typedef lowp_u16vec4 u16vec4;
+
1063 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
1064  typedef mediump_u16vec1 u16vec1;
+
1065  typedef mediump_u16vec2 u16vec2;
+
1066  typedef mediump_u16vec3 u16vec3;
+
1067  typedef mediump_u16vec4 u16vec4;
+
1068 #else
+
1069  typedef highp_u16vec1 u16vec1;
+
1072 
+ +
1076 
+ +
1080 
+ +
1084 #endif
+
1085 
+
1086 
+
1089  typedef detail::tvec1<u32, lowp> lowp_u32vec1;
+
1090 
+
1093  typedef detail::tvec2<u32, lowp> lowp_u32vec2;
+
1094 
+
1097  typedef detail::tvec3<u32, lowp> lowp_u32vec3;
+
1098 
+
1101  typedef detail::tvec4<u32, lowp> lowp_u32vec4;
+
1102 
+
1103 
+
1106  typedef detail::tvec1<u32, mediump> mediump_u32vec1;
+
1107 
+
1110  typedef detail::tvec2<u32, mediump> mediump_u32vec2;
+
1111 
+
1114  typedef detail::tvec3<u32, mediump> mediump_u32vec3;
+
1115 
+
1118  typedef detail::tvec4<u32, mediump> mediump_u32vec4;
+
1119 
+
1120 
+
1123  typedef detail::tvec1<u32, highp> highp_u32vec1;
+
1124 
+
1127  typedef detail::tvec2<u32, highp> highp_u32vec2;
+
1128 
+
1131  typedef detail::tvec3<u32, highp> highp_u32vec3;
+
1132 
+
1135  typedef detail::tvec4<u32, highp> highp_u32vec4;
+
1136 
+
1137 #if(defined(GLM_PRECISION_LOWP_INT))
+
1138  typedef lowp_u32vec1 u32vec1;
+
1139  typedef lowp_u32vec2 u32vec2;
+
1140  typedef lowp_u32vec3 u32vec3;
+
1141  typedef lowp_u32vec4 u32vec4;
+
1142 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
1143  typedef mediump_u32vec1 u32vec1;
+
1144  typedef mediump_u32vec2 u32vec2;
+
1145  typedef mediump_u32vec3 u32vec3;
+
1146  typedef mediump_u32vec4 u32vec4;
+
1147 #else
+
1148  typedef highp_u32vec1 u32vec1;
+
1151 
+ +
1155 
+ +
1159 
+ +
1163 #endif
+
1164 
+
1165 
+
1168  typedef detail::tvec1<u32, lowp> lowp_u32vec1;
+
1169 
+
1172  typedef detail::tvec2<u32, lowp> lowp_u32vec2;
+
1173 
+
1176  typedef detail::tvec3<u32, lowp> lowp_u32vec3;
+
1177 
+
1180  typedef detail::tvec4<u32, lowp> lowp_u32vec4;
+
1181 
+
1182 
+
1185  typedef detail::tvec1<u32, mediump> mediump_u32vec1;
+
1186 
+
1189  typedef detail::tvec2<u32, mediump> mediump_u32vec2;
+
1190 
+
1193  typedef detail::tvec3<u32, mediump> mediump_u32vec3;
+
1194 
+
1197  typedef detail::tvec4<u32, mediump> mediump_u32vec4;
+
1198 
+
1199 
+
1202  typedef detail::tvec1<u32, highp> highp_u32vec1;
+
1203 
+
1206  typedef detail::tvec2<u32, highp> highp_u32vec2;
+
1207 
+
1210  typedef detail::tvec3<u32, highp> highp_u32vec3;
+
1211 
+
1214  typedef detail::tvec4<u32, highp> highp_u32vec4;
+
1215 
+
1216 #if(defined(GLM_PRECISION_LOWP_INT))
+
1217  typedef lowp_u32vec1 u32vec1;
+
1218  typedef lowp_u32vec2 u32vec2;
+
1219  typedef lowp_u32vec3 u32vec3;
+
1220  typedef lowp_u32vec4 u32vec4;
+
1221 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
1222  typedef mediump_u32vec1 u32vec1;
+
1223  typedef mediump_u32vec2 u32vec2;
+
1224  typedef mediump_u32vec3 u32vec3;
+
1225  typedef mediump_u32vec4 u32vec4;
+
1226 #else
+
1227  typedef highp_u32vec1 u32vec1;
+
1230 
+
1233  typedef highp_u32vec2 u32vec2;
+
1234 
+
1237  typedef highp_u32vec3 u32vec3;
+
1238 
+
1241  typedef highp_u32vec4 u32vec4;
+
1242 #endif
+
1243 
+
1244 
+
1245 
+
1248  typedef detail::tvec1<u64, lowp> lowp_u64vec1;
+
1249 
+
1252  typedef detail::tvec2<u64, lowp> lowp_u64vec2;
+
1253 
+
1256  typedef detail::tvec3<u64, lowp> lowp_u64vec3;
+
1257 
+
1260  typedef detail::tvec4<u64, lowp> lowp_u64vec4;
+
1261 
+
1262 
+
1265  typedef detail::tvec1<u64, mediump> mediump_u64vec1;
+
1266 
+
1269  typedef detail::tvec2<u64, mediump> mediump_u64vec2;
+
1270 
+
1273  typedef detail::tvec3<u64, mediump> mediump_u64vec3;
+
1274 
+
1277  typedef detail::tvec4<u64, mediump> mediump_u64vec4;
+
1278 
+
1279 
+
1282  typedef detail::tvec1<u64, highp> highp_u64vec1;
+
1283 
+
1286  typedef detail::tvec2<u64, highp> highp_u64vec2;
+
1287 
+
1290  typedef detail::tvec3<u64, highp> highp_u64vec3;
+
1291 
+
1294  typedef detail::tvec4<u64, highp> highp_u64vec4;
+
1295 
+
1296 #if(defined(GLM_PRECISION_LOWP_UINT))
+
1297  typedef lowp_u64vec1 u64vec1;
+
1298  typedef lowp_u64vec2 u64vec2;
+
1299  typedef lowp_u64vec3 u64vec3;
+
1300  typedef lowp_u64vec4 u64vec4;
+
1301 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
+
1302  typedef mediump_u64vec1 u64vec1;
+
1303  typedef mediump_u64vec2 u64vec2;
+
1304  typedef mediump_u64vec3 u64vec3;
+
1305  typedef mediump_u64vec4 u64vec4;
+
1306 #else
+
1307  typedef highp_u64vec1 u64vec1;
+
1310 
+ +
1314 
+ +
1318 
+ +
1322 #endif
+
1323 
+
1324 
+
1326  // Float vector types
+
1327 
+
1330  typedef detail::float32 lowp_float32;
+
1331 
+
1334  typedef detail::float64 lowp_float64;
+
1335 
+
1338  typedef detail::float32 lowp_float32_t;
+
1339 
+
1342  typedef detail::float64 lowp_float64_t;
+
1343 
+ +
1347 
+ +
1351 
+
1354  typedef detail::float32 lowp_float32;
+
1355 
+
1358  typedef detail::float64 lowp_float64;
+
1359 
+
1362  typedef detail::float32 lowp_float32_t;
+
1363 
+
1366  typedef detail::float64 lowp_float64_t;
+
1367 
+
1370  typedef float32 lowp_f32;
+
1371 
+
1374  typedef float64 lowp_f64;
+
1375 
+
1376 
+
1379  typedef detail::float32 lowp_float32;
+
1380 
+
1383  typedef detail::float64 lowp_float64;
+
1384 
+
1387  typedef detail::float32 lowp_float32_t;
+
1388 
+
1391  typedef detail::float64 lowp_float64_t;
+
1392 
+
1395  typedef float32 lowp_f32;
+
1396 
+
1399  typedef float64 lowp_f64;
+
1400 
+
1401 
+
1404  typedef detail::float32 mediump_float32;
+
1405 
+
1408  typedef detail::float64 mediump_float64;
+
1409 
+
1412  typedef detail::float32 mediump_float32_t;
+
1413 
+
1416  typedef detail::float64 mediump_float64_t;
+
1417 
+ +
1421 
+ +
1425 
+
1426 
+
1429  typedef detail::float32 highp_float32;
+
1430 
+
1433  typedef detail::float64 highp_float64;
+
1434 
+
1437  typedef detail::float32 highp_float32_t;
+
1438 
+
1441  typedef detail::float64 highp_float64_t;
+
1442 
+ +
1446 
+ +
1450 
+
1451 
+
1452 #if(defined(GLM_PRECISION_LOWP_FLOAT))
+
1453  typedef lowp_float32 float32;
+
1456 
+
1459  typedef lowp_float64 float64;
+
1460 
+
1463  typedef lowp_float32_t float32_t;
+
1464 
+
1467  typedef lowp_float64_t float64_t;
+
1468 
+
1471  typedef lowp_f32 f32;
+
1472 
+
1475  typedef lowp_f64 f64;
+
1476 
+
1477 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
1478 
+
1481  typedef mediump_float32 float32;
+
1482 
+
1485  typedef mediump_float64 float64;
+
1486 
+
1489  typedef mediump_float32 float32_t;
+
1490 
+
1493  typedef mediump_float64 float64_t;
+
1494 
+
1497  typedef mediump_float32 f32;
+
1498 
+
1501  typedef mediump_float64 f64;
+
1502 
+
1503 #else//(defined(GLM_PRECISION_HIGHP_FLOAT))
+
1504 
+
1507  typedef highp_float32 float32;
+
1508 
+
1511  typedef highp_float64 float64;
+
1512 
+ +
1516 
+ +
1520 
+ +
1524 
+ +
1528 #endif
+
1529 
+
1530 
+
1533  typedef detail::tvec1<float, lowp> lowp_vec1;
+
1534 
+
1537  typedef detail::tvec2<float, lowp> lowp_vec2;
+
1538 
+
1541  typedef detail::tvec3<float, lowp> lowp_vec3;
+
1542 
+
1545  typedef detail::tvec4<float, lowp> lowp_vec4;
+
1546 
+
1549  typedef detail::tvec1<float, lowp> lowp_fvec1;
+
1550 
+
1553  typedef detail::tvec2<float, lowp> lowp_fvec2;
+
1554 
+
1557  typedef detail::tvec3<float, lowp> lowp_fvec3;
+
1558 
+
1561  typedef detail::tvec4<float, lowp> lowp_fvec4;
+
1562 
+
1563 
+
1564 
+
1567  typedef detail::tvec1<float, mediump> mediump_vec1;
+
1568 
+
1571  typedef detail::tvec2<float, mediump> mediump_vec2;
+
1572 
+
1575  typedef detail::tvec3<float, mediump> mediump_vec3;
+
1576 
+
1579  typedef detail::tvec4<float, mediump> mediump_vec4;
+
1580 
+
1583  typedef detail::tvec1<float, mediump> mediump_fvec1;
+
1584 
+
1587  typedef detail::tvec2<float, mediump> mediump_fvec2;
+
1588 
+
1591  typedef detail::tvec3<float, mediump> mediump_fvec3;
+
1592 
+
1595  typedef detail::tvec4<float, mediump> mediump_fvec4;
+
1596 
+
1597 
+
1598 
+
1601  typedef detail::tvec1<float, highp> highp_vec1;
+
1602 
+
1605  typedef detail::tvec2<float, highp> highp_vec2;
+
1606 
+
1609  typedef detail::tvec3<float, highp> highp_vec3;
+
1610 
+
1613  typedef detail::tvec4<float, highp> highp_vec4;
+
1614 
+
1617  typedef detail::tvec1<float, highp> highp_fvec1;
+
1618 
+
1621  typedef detail::tvec2<float, highp> highp_fvec2;
+
1622 
+
1625  typedef detail::tvec3<float, highp> highp_fvec3;
+
1626 
+
1629  typedef detail::tvec4<float, highp> highp_fvec4;
+
1630 
+
1631 
+
1634  typedef detail::tvec1<f32, lowp> lowp_f32vec1;
+
1635 
+
1638  typedef detail::tvec2<f32, lowp> lowp_f32vec2;
+
1639 
+
1642  typedef detail::tvec3<f32, lowp> lowp_f32vec3;
+
1643 
+
1646  typedef detail::tvec4<f32, lowp> lowp_f32vec4;
+
1647 
+
1650  typedef detail::tvec1<f32, mediump> mediump_f32vec1;
+
1651 
+
1654  typedef detail::tvec2<f32, mediump> mediump_f32vec2;
+
1655 
+
1658  typedef detail::tvec3<f32, mediump> mediump_f32vec3;
+
1659 
+
1662  typedef detail::tvec4<f32, mediump> mediump_f32vec4;
+
1663 
+
1666  typedef detail::tvec1<f32, highp> highp_f32vec1;
+
1667 
+
1670  typedef detail::tvec2<f32, highp> highp_f32vec2;
+
1671 
+
1674  typedef detail::tvec3<f32, highp> highp_f32vec3;
+
1675 
+
1678  typedef detail::tvec4<f32, highp> highp_f32vec4;
+
1679 
+
1680 
+
1683  typedef detail::tvec1<f64, lowp> lowp_f64vec1;
+
1684 
+
1687  typedef detail::tvec2<f64, lowp> lowp_f64vec2;
+
1688 
+
1691  typedef detail::tvec3<f64, lowp> lowp_f64vec3;
+
1692 
+
1695  typedef detail::tvec4<f64, lowp> lowp_f64vec4;
+
1696 
+
1699  typedef detail::tvec1<f64, mediump> mediump_f64vec1;
+
1700 
+
1703  typedef detail::tvec2<f64, mediump> mediump_f64vec2;
+
1704 
+
1707  typedef detail::tvec3<f64, mediump> mediump_f64vec3;
+
1708 
+
1711  typedef detail::tvec4<f64, mediump> mediump_f64vec4;
+
1712 
+
1715  typedef detail::tvec1<f64, highp> highp_f64vec1;
+
1716 
+
1719  typedef detail::tvec2<f64, highp> highp_f64vec2;
+
1720 
+
1723  typedef detail::tvec3<f64, highp> highp_f64vec3;
+
1724 
+
1727  typedef detail::tvec4<f64, highp> highp_f64vec4;
+
1728 
+
1729 
+
1731  // Float matrix types
+
1732 
+
1735  //typedef lowp_f32 lowp_fmat1x1;
+
1736 
+
1739  typedef detail::tmat2x2<f32, lowp> lowp_fmat2x2;
+
1740 
+
1743  typedef detail::tmat2x3<f32, lowp> lowp_fmat2x3;
+
1744 
+
1747  typedef detail::tmat2x4<f32, lowp> lowp_fmat2x4;
+
1748 
+
1751  typedef detail::tmat3x2<f32, lowp> lowp_fmat3x2;
+
1752 
+
1755  typedef detail::tmat3x3<f32, lowp> lowp_fmat3x3;
+
1756 
+
1759  typedef detail::tmat3x4<f32, lowp> lowp_fmat3x4;
+
1760 
+
1763  typedef detail::tmat4x2<f32, lowp> lowp_fmat4x2;
+
1764 
+
1767  typedef detail::tmat4x3<f32, lowp> lowp_fmat4x3;
+
1768 
+
1771  typedef detail::tmat4x4<f32, lowp> lowp_fmat4x4;
+
1772 
+
1775  //typedef lowp_fmat1x1 lowp_fmat1;
+
1776 
+ +
1780 
+ +
1784 
+ +
1788 
+
1789 
+
1792  //typedef mediump_f32 mediump_fmat1x1;
+
1793 
+
1796  typedef detail::tmat2x2<f32, mediump> mediump_fmat2x2;
+
1797 
+
1800  typedef detail::tmat2x3<f32, mediump> mediump_fmat2x3;
+
1801 
+
1804  typedef detail::tmat2x4<f32, mediump> mediump_fmat2x4;
+
1805 
+
1808  typedef detail::tmat3x2<f32, mediump> mediump_fmat3x2;
+
1809 
+
1812  typedef detail::tmat3x3<f32, mediump> mediump_fmat3x3;
+
1813 
+
1816  typedef detail::tmat3x4<f32, mediump> mediump_fmat3x4;
+
1817 
+
1820  typedef detail::tmat4x2<f32, mediump> mediump_fmat4x2;
+
1821 
+
1824  typedef detail::tmat4x3<f32, mediump> mediump_fmat4x3;
+
1825 
+
1828  typedef detail::tmat4x4<f32, mediump> mediump_fmat4x4;
+
1829 
+
1832  //typedef mediump_fmat1x1 mediump_fmat1;
+
1833 
+ +
1837 
+ +
1841 
+ +
1845 
+
1846 
+
1847 
+
1850  //typedef highp_f32 highp_fmat1x1;
+
1851 
+
1854  typedef detail::tmat2x2<f32, highp> highp_fmat2x2;
+
1855 
+
1858  typedef detail::tmat2x3<f32, highp> highp_fmat2x3;
+
1859 
+
1862  typedef detail::tmat2x4<f32, highp> highp_fmat2x4;
+
1863 
+
1866  typedef detail::tmat3x2<f32, highp> highp_fmat3x2;
+
1867 
+
1870  typedef detail::tmat3x3<f32, highp> highp_fmat3x3;
+
1871 
+
1874  typedef detail::tmat3x4<f32, highp> highp_fmat3x4;
+
1875 
+
1878  typedef detail::tmat4x2<f32, highp> highp_fmat4x2;
+
1879 
+
1882  typedef detail::tmat4x3<f32, highp> highp_fmat4x3;
+
1883 
+
1886  typedef detail::tmat4x4<f32, highp> highp_fmat4x4;
+
1887 
+
1890  //typedef highp_fmat1x1 highp_fmat1;
+
1891 
+ +
1895 
+ +
1899 
+ +
1903 
+
1904 
+
1907  //typedef f32 lowp_f32mat1x1;
+
1908 
+
1911  typedef detail::tmat2x2<f32, lowp> lowp_f32mat2x2;
+
1912 
+
1915  typedef detail::tmat2x3<f32, lowp> lowp_f32mat2x3;
+
1916 
+
1919  typedef detail::tmat2x4<f32, lowp> lowp_f32mat2x4;
+
1920 
+
1923  typedef detail::tmat3x2<f32, lowp> lowp_f32mat3x2;
+
1924 
+
1927  typedef detail::tmat3x3<f32, lowp> lowp_f32mat3x3;
+
1928 
+
1931  typedef detail::tmat3x4<f32, lowp> lowp_f32mat3x4;
+
1932 
+
1935  typedef detail::tmat4x2<f32, lowp> lowp_f32mat4x2;
+
1936 
+
1939  typedef detail::tmat4x3<f32, lowp> lowp_f32mat4x3;
+
1940 
+
1943  typedef detail::tmat4x4<f32, lowp> lowp_f32mat4x4;
+
1944 
+
1947  //typedef detail::tmat1x1<f32, lowp> lowp_f32mat1;
+
1948 
+ +
1952 
+ +
1956 
+ +
1960 
+
1961 
+
1962 
+
1965  //typedef f32 mediump_f32mat1x1;
+
1966 
+
1969  typedef detail::tmat2x2<f32, mediump> mediump_f32mat2x2;
+
1970 
+
1973  typedef detail::tmat2x3<f32, mediump> mediump_f32mat2x3;
+
1974 
+
1977  typedef detail::tmat2x4<f32, mediump> mediump_f32mat2x4;
+
1978 
+
1981  typedef detail::tmat3x2<f32, mediump> mediump_f32mat3x2;
+
1982 
+
1985  typedef detail::tmat3x3<f32, mediump> mediump_f32mat3x3;
+
1986 
+
1989  typedef detail::tmat3x4<f32, mediump> mediump_f32mat3x4;
+
1990 
+
1993  typedef detail::tmat4x2<f32, mediump> mediump_f32mat4x2;
+
1994 
+
1997  typedef detail::tmat4x3<f32, mediump> mediump_f32mat4x3;
+
1998 
+
2001  typedef detail::tmat4x4<f32, mediump> mediump_f32mat4x4;
+
2002 
+
2005  //typedef detail::tmat1x1<f32, mediump> f32mat1;
+
2006 
+ +
2010 
+ +
2014 
+ +
2018 
+
2019 
+
2020 
+
2021 
+
2024  //typedef f32 highp_f32mat1x1;
+
2025 
+
2028  typedef detail::tmat2x2<f32, highp> highp_f32mat2x2;
+
2029 
+
2032  typedef detail::tmat2x3<f32, highp> highp_f32mat2x3;
+
2033 
+
2036  typedef detail::tmat2x4<f32, highp> highp_f32mat2x4;
+
2037 
+
2040  typedef detail::tmat3x2<f32, highp> highp_f32mat3x2;
+
2041 
+
2044  typedef detail::tmat3x3<f32, highp> highp_f32mat3x3;
+
2045 
+
2048  typedef detail::tmat3x4<f32, highp> highp_f32mat3x4;
+
2049 
+
2052  typedef detail::tmat4x2<f32, highp> highp_f32mat4x2;
+
2053 
+
2056  typedef detail::tmat4x3<f32, highp> highp_f32mat4x3;
+
2057 
+
2060  typedef detail::tmat4x4<f32, highp> highp_f32mat4x4;
+
2061 
+
2064  //typedef detail::tmat1x1<f32, highp> f32mat1;
+
2065 
+ +
2069 
+ +
2073 
+ +
2077 
+
2078 
+
2079 
+
2082  //typedef f64 lowp_f64mat1x1;
+
2083 
+
2086  typedef detail::tmat2x2<f64, lowp> lowp_f64mat2x2;
+
2087 
+
2090  typedef detail::tmat2x3<f64, lowp> lowp_f64mat2x3;
+
2091 
+
2094  typedef detail::tmat2x4<f64, lowp> lowp_f64mat2x4;
+
2095 
+
2098  typedef detail::tmat3x2<f64, lowp> lowp_f64mat3x2;
+
2099 
+
2102  typedef detail::tmat3x3<f64, lowp> lowp_f64mat3x3;
+
2103 
+
2106  typedef detail::tmat3x4<f64, lowp> lowp_f64mat3x4;
+
2107 
+
2110  typedef detail::tmat4x2<f64, lowp> lowp_f64mat4x2;
+
2111 
+
2114  typedef detail::tmat4x3<f64, lowp> lowp_f64mat4x3;
+
2115 
+
2118  typedef detail::tmat4x4<f64, lowp> lowp_f64mat4x4;
+
2119 
+
2122  //typedef lowp_f64mat1x1 lowp_f64mat1;
+
2123 
+ +
2127 
+ +
2131 
+ +
2135 
+
2136 
+
2137 
+
2140  //typedef f64 Highp_f64mat1x1;
+
2141 
+
2144  typedef detail::tmat2x2<f64, mediump> mediump_f64mat2x2;
+
2145 
+
2148  typedef detail::tmat2x3<f64, mediump> mediump_f64mat2x3;
+
2149 
+
2152  typedef detail::tmat2x4<f64, mediump> mediump_f64mat2x4;
+
2153 
+
2156  typedef detail::tmat3x2<f64, mediump> mediump_f64mat3x2;
+
2157 
+
2160  typedef detail::tmat3x3<f64, mediump> mediump_f64mat3x3;
+
2161 
+
2164  typedef detail::tmat3x4<f64, mediump> mediump_f64mat3x4;
+
2165 
+
2168  typedef detail::tmat4x2<f64, mediump> mediump_f64mat4x2;
+
2169 
+
2172  typedef detail::tmat4x3<f64, mediump> mediump_f64mat4x3;
+
2173 
+
2176  typedef detail::tmat4x4<f64, mediump> mediump_f64mat4x4;
+
2177 
+
2180  //typedef mediump_f64mat1x1 mediump_f64mat1;
+
2181 
+ +
2185 
+ +
2189 
+ +
2193 
+
2196  //typedef f64 highp_f64mat1x1;
+
2197 
+
2200  typedef detail::tmat2x2<f64, highp> highp_f64mat2x2;
+
2201 
+
2204  typedef detail::tmat2x3<f64, highp> highp_f64mat2x3;
+
2205 
+
2208  typedef detail::tmat2x4<f64, highp> highp_f64mat2x4;
+
2209 
+
2212  typedef detail::tmat3x2<f64, highp> highp_f64mat3x2;
+
2213 
+
2216  typedef detail::tmat3x3<f64, highp> highp_f64mat3x3;
+
2217 
+
2220  typedef detail::tmat3x4<f64, highp> highp_f64mat3x4;
+
2221 
+
2224  typedef detail::tmat4x2<f64, highp> highp_f64mat4x2;
+
2225 
+
2228  typedef detail::tmat4x3<f64, highp> highp_f64mat4x3;
+
2229 
+
2232  typedef detail::tmat4x4<f64, highp> highp_f64mat4x4;
+
2233 
+
2236  //typedef highp_f64mat1x1 highp_f64mat1;
+
2237 
+ +
2241 
+ +
2245 
+ +
2249 
+
2251  // Quaternion types
+
2252 
+
2255  typedef detail::tquat<f32, lowp> lowp_f32quat;
+
2256 
+
2259  typedef detail::tquat<f64, lowp> lowp_f64quat;
+
2260 
+
2263  typedef detail::tquat<f32, mediump> mediump_f32quat;
+
2264 
+
2267  typedef detail::tquat<f64, mediump> mediump_f64quat;
+
2268 
+
2271  typedef detail::tquat<f32, highp> highp_f32quat;
+
2272 
+
2275  typedef detail::tquat<f64, highp> highp_f64quat;
+
2276 
+
2277 
+
2278 #if(defined(GLM_PRECISION_LOWP_FLOAT))
+
2279  typedef lowp_f32vec1 fvec1;
+
2280  typedef lowp_f32vec2 fvec2;
+
2281  typedef lowp_f32vec3 fvec3;
+
2282  typedef lowp_f32vec4 fvec4;
+
2283  typedef lowp_f32mat2 fmat2;
+
2284  typedef lowp_f32mat3 fmat3;
+
2285  typedef lowp_f32mat4 fmat4;
+
2286  typedef lowp_f32mat2x2 fmat2x2;
+
2287  typedef lowp_f32mat3x2 fmat3x2;
+
2288  typedef lowp_f32mat4x2 fmat4x2;
+
2289  typedef lowp_f32mat2x3 fmat2x3;
+
2290  typedef lowp_f32mat3x3 fmat3x3;
+
2291  typedef lowp_f32mat4x3 fmat4x3;
+
2292  typedef lowp_f32mat2x4 fmat2x4;
+
2293  typedef lowp_f32mat3x4 fmat3x4;
+
2294  typedef lowp_f32mat4x4 fmat4x4;
+
2295  typedef lowp_f32quat fquat;
+
2296 
+
2297  typedef lowp_f32vec1 f32vec1;
+
2298  typedef lowp_f32vec2 f32vec2;
+
2299  typedef lowp_f32vec3 f32vec3;
+
2300  typedef lowp_f32vec4 f32vec4;
+
2301  typedef lowp_f32mat2 f32mat2;
+
2302  typedef lowp_f32mat3 f32mat3;
+
2303  typedef lowp_f32mat4 f32mat4;
+
2304  typedef lowp_f32mat2x2 f32mat2x2;
+
2305  typedef lowp_f32mat3x2 f32mat3x2;
+
2306  typedef lowp_f32mat4x2 f32mat4x2;
+
2307  typedef lowp_f32mat2x3 f32mat2x3;
+
2308  typedef lowp_f32mat3x3 f32mat3x3;
+
2309  typedef lowp_f32mat4x3 f32mat4x3;
+
2310  typedef lowp_f32mat2x4 f32mat2x4;
+
2311  typedef lowp_f32mat3x4 f32mat3x4;
+
2312  typedef lowp_f32mat4x4 f32mat4x4;
+
2313  typedef lowp_f32quat f32quat;
+
2314 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
2315  typedef mediump_f32vec1 fvec1;
+
2316  typedef mediump_f32vec2 fvec2;
+
2317  typedef mediump_f32vec3 fvec3;
+
2318  typedef mediump_f32vec4 fvec4;
+
2319  typedef mediump_f32mat2 fmat2;
+
2320  typedef mediump_f32mat3 fmat3;
+
2321  typedef mediump_f32mat4 fmat4;
+
2322  typedef mediump_f32mat2x2 fmat2x2;
+
2323  typedef mediump_f32mat3x2 fmat3x2;
+
2324  typedef mediump_f32mat4x2 fmat4x2;
+
2325  typedef mediump_f32mat2x3 fmat2x3;
+
2326  typedef mediump_f32mat3x3 fmat3x3;
+
2327  typedef mediump_f32mat4x3 fmat4x3;
+
2328  typedef mediump_f32mat2x4 fmat2x4;
+
2329  typedef mediump_f32mat3x4 fmat3x4;
+
2330  typedef mediump_f32mat4x4 fmat4x4;
+
2331  typedef mediump_f32quat fquat;
+
2332 
+
2333  typedef mediump_f32vec1 f32vec1;
+
2334  typedef mediump_f32vec2 f32vec2;
+
2335  typedef mediump_f32vec3 f32vec3;
+
2336  typedef mediump_f32vec4 f32vec4;
+
2337  typedef mediump_f32mat2 f32mat2;
+
2338  typedef mediump_f32mat3 f32mat3;
+
2339  typedef mediump_f32mat4 f32mat4;
+
2340  typedef mediump_f32mat2x2 f32mat2x2;
+
2341  typedef mediump_f32mat3x2 f32mat3x2;
+
2342  typedef mediump_f32mat4x2 f32mat4x2;
+
2343  typedef mediump_f32mat2x3 f32mat2x3;
+
2344  typedef mediump_f32mat3x3 f32mat3x3;
+
2345  typedef mediump_f32mat4x3 f32mat4x3;
+
2346  typedef mediump_f32mat2x4 f32mat2x4;
+
2347  typedef mediump_f32mat3x4 f32mat3x4;
+
2348  typedef mediump_f32mat4x4 f32mat4x4;
+
2349  typedef mediump_f32quat f32quat;
+
2350 #else//if(defined(GLM_PRECISION_HIGHP_FLOAT))
+
2351  typedef highp_f32vec1 fvec1;
+
2354 
+ +
2358 
+ +
2362 
+ +
2366 
+ +
2370 
+ +
2374 
+ +
2378 
+ +
2382 
+ +
2386 
+ +
2390 
+ +
2394 
+ +
2398 
+ +
2402 
+
2405  typedef fmat2x2 fmat2;
+
2406 
+
2409  typedef fmat3x3 fmat3;
+
2410 
+
2413  typedef fmat4x4 fmat4;
+
2414 
+
2417  typedef highp_fquat fquat;
+
2418 
+
2419 
+
2420 
+ +
2424 
+ +
2428 
+ +
2432 
+ +
2436 
+ +
2440 
+ +
2444 
+ +
2448 
+ +
2452 
+ +
2456 
+ +
2460 
+ +
2464 
+ +
2468 
+ +
2472 
+ +
2476 
+ +
2480 
+ +
2484 
+ +
2488 #endif
+
2489 
+
2490 
+
2491 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
+
2492  typedef lowp_f64vec1 f64vec1;
+
2493  typedef lowp_f64vec2 f64vec2;
+
2494  typedef lowp_f64vec3 f64vec3;
+
2495  typedef lowp_f64vec4 f64vec4;
+
2496  typedef lowp_f64mat2 f64mat2;
+
2497  typedef lowp_f64mat3 f64mat3;
+
2498  typedef lowp_f64mat4 f64mat4;
+
2499  typedef lowp_f64mat2x2 f64mat2x2;
+
2500  typedef lowp_f64mat3x2 f64mat3x2;
+
2501  typedef lowp_f64mat4x2 f64mat4x2;
+
2502  typedef lowp_f64mat2x3 f64mat2x3;
+
2503  typedef lowp_f64mat3x3 f64mat3x3;
+
2504  typedef lowp_f64mat4x3 f64mat4x3;
+
2505  typedef lowp_f64mat2x4 f64mat2x4;
+
2506  typedef lowp_f64mat3x4 f64mat3x4;
+
2507  typedef lowp_f64mat4x4 f64mat4x4;
+
2508  typedef lowp_f64quat f64quat;
+
2509 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+
2510  typedef mediump_f64vec1 f64vec1;
+
2511  typedef mediump_f64vec2 f64vec2;
+
2512  typedef mediump_f64vec3 f64vec3;
+
2513  typedef mediump_f64vec4 f64vec4;
+
2514  typedef mediump_f64mat2 f64mat2;
+
2515  typedef mediump_f64mat3 f64mat3;
+
2516  typedef mediump_f64mat4 f64mat4;
+
2517  typedef mediump_f64mat2x2 f64mat2x2;
+
2518  typedef mediump_f64mat3x2 f64mat3x2;
+
2519  typedef mediump_f64mat4x2 f64mat4x2;
+
2520  typedef mediump_f64mat2x3 f64mat2x3;
+
2521  typedef mediump_f64mat3x3 f64mat3x3;
+
2522  typedef mediump_f64mat4x3 f64mat4x3;
+
2523  typedef mediump_f64mat2x4 f64mat2x4;
+
2524  typedef mediump_f64mat3x4 f64mat3x4;
+
2525  typedef mediump_f64mat4x4 f64mat4x4;
+
2526  typedef mediump_f64quat f64quat;
+
2527 #else
+
2528  typedef highp_f64vec1 f64vec1;
+
2531 
+ +
2535 
+ +
2539 
+ +
2543 
+ +
2547 
+ +
2551 
+ +
2555 
+ +
2559 
+ +
2563 
+ +
2567 
+ +
2571 
+ +
2575 
+ +
2579 
+ +
2583 
+ +
2587 
+ +
2591 
+ +
2595 #endif
+
2596 }//namespace glm
+
2597 
+
2598 #endif//GLM_FWD_INCLUDED
+
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:468
+
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1071
+
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:196
+
highp_fmat4x4 highp_fmat4
High single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1902
+
detail::tmat4x4< f32, lowp > lowp_fmat4x4
Low single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1771
+
lowp_fmat2x2 lowp_fmat2
Low single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1779
+
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2397
+
detail::tvec4< float, mediump > mediump_fvec4
Medium Single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1595
+
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:845
+
detail::tvec1< f64, lowp > lowp_f64vec1
Low double-precision floating-point vector of 1 component.
Definition: fwd.hpp:1683
+
detail::tmat3x4< f32, mediump > mediump_fmat3x4
Medium single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1816
+
mediump_fmat2x2 mediump_fmat2
Medium single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1836
+
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2353
+
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:999
+
detail::tvec3< float, lowp > lowp_fvec3
Low single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1557
+
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:89
+
detail::tvec1< u16, highp > highp_u16vec1
High precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1043
+
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:710
+
detail::float32 highp_float32_t
High 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1437
+
float32 mediump_f32
Medium 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1420
+
detail::tvec1< i16, lowp > lowp_i16vec1
Low precision 16 bit signed integer scalar type.
Definition: fwd.hpp:406
+
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1317
+
detail::tvec2< i16, mediump > mediump_i16vec2
Medium precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:427
+
detail::tquat< f64, lowp > lowp_f64quat
Low double-precision floating-point quaternion.
Definition: fwd.hpp:2259
+
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:815
+
detail::tmat2x4< f32, mediump > mediump_fmat2x4
Medium single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1804
+
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:739
+
detail::tvec3< i8, highp > highp_i8vec3
High precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:369
+
detail::tvec3< i32, mediump > mediump_i32vec3
Medium precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:511
+
detail::tvec2< u8, lowp > lowp_u8vec2
Low precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:934
+
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:787
+
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:96
+
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:90
+
detail::tvec1< u64, highp > highp_u64vec1
High precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1282
+
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:551
+
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:744
+
mediump_f64mat3x3 mediump_f64mat3
Medium double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2188
+
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:81
+
detail::tvec2< u32, lowp > lowp_u32vec2
Low precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1093
+
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1079
+
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:236
+
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:895
+
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2431
+
detail::tvec4< i64, lowp > lowp_i64vec4
Low precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:657
+
detail::tquat< f32, highp > highp_f32quat
High single-precision floating-point quaternion.
Definition: fwd.hpp:2271
+
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1309
+
detail::float32 mediump_float32
Medium 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1404
+
highp_fmat2x2 highp_fmat2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1894
+
detail::tvec3< i16, lowp > lowp_i16vec3
Low precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:414
+
detail::tvec1< u8, lowp > lowp_u8vec1
Low precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:930
+
detail::tmat2x4< f64, mediump > mediump_f64mat2x4
Medium double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2152
+
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:248
+
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1003
+
detail::tmat4x2< f32, mediump > mediump_f32mat4x2
Medium single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1993
+
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:208
+
detail::tmat2x2< f32, mediump > mediump_f32mat2x2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1969
+
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:140
+
detail::tvec3< float, mediump > mediump_fvec3
Medium Single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1591
+
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:305
+
detail::tvec3< f64, lowp > lowp_f64vec3
Low double-precision floating-point vector of 3 components.
Definition: fwd.hpp:1691
+
detail::tmat4x3< f32, lowp > lowp_fmat4x3
Low single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1767
+
detail::tvec1< i8, mediump > mediump_i8vec1
Medium precision 8 bit signed integer scalar type.
Definition: fwd.hpp:344
+
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1523
+
detail::tvec3< u64, lowp > lowp_u64vec3
Low precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1256
+
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:903
+
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:911
+
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:92
+
detail::float32 lowp_float32
Low 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1330
+
detail::tvec3< i16, highp > highp_i16vec3
High precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:448
+
detail::tvec2< i64, lowp > lowp_i64vec2
Low precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:649
+
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:765
+
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1515
+
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:252
+
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2357
+
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:472
+
detail::tvec4< u64, highp > highp_u64vec4
High precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1294
+
detail::float32 highp_float32
High 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1429
+
detail::tmat3x2< f32, mediump > mediump_fmat3x2
Medium single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1808
+
detail::tvec3< i64, highp > highp_i64vec3
High precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:687
+
lowp_f64mat3x3 lowp_f64mat3
Low double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2130
+
detail::tvec4< f64, lowp > lowp_f64vec4
Low double-precision floating-point vector of 4 components.
Definition: fwd.hpp:1695
+
detail::tmat4x3< f32, mediump > mediump_f32mat4x3
Medium single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1997
+
detail::tmat4x2< f32, lowp > lowp_fmat4x2
Low single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1763
+
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:803
+
lowp_quat lowp_fquat
Quaternion of low single-precision floating-point numbers.
Definition: fwd.hpp:75
+
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:837
+
detail::tvec1< float, lowp > lowp_fvec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1549
+
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:783
+
detail::tvec3< i64, lowp > lowp_i64vec3
Low precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:653
+
detail::tmat4x4< f32, mediump > mediump_f32mat4x4
Medium single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2001
+
detail::tmat4x3< f32, mediump > mediump_fmat4x3
Medium single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1824
+
detail::tmat3x4< f64, lowp > lowp_f64mat3x4
Low double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2106
+
detail::tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:288
+
detail::tvec3< i32, lowp > lowp_i32vec3
Low precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:494
+
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:748
+
detail::tvec2< u64, mediump > mediump_u64vec2
Medium precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1269
+
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:184
+
detail::tvec4< u16, highp > highp_u16vec4
High precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1055
+
detail::tquat< f64, highp > highp_f64quat
High double-precision floating-point quaternion.
Definition: fwd.hpp:2275
+
detail::tvec2< u16, lowp > lowp_u16vec2
Low precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1013
+
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2566
+
lowp_fmat3x3 lowp_fmat3
Low single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1783
+
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:795
+
detail::tmat2x2< f32, lowp > lowp_fmat2x2
Low single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1739
+
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:317
+
float64 lowp_f64
Low 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1350
+
mediump_f64mat4x4 mediump_f64mat4
Medium double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2192
+
detail::tmat3x3< f32, mediump > mediump_fmat3x3
Medium single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1812
+
detail::tmat4x3< f64, highp > highp_f64mat4x3
High double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2228
+
detail::tvec3< u32, highp > highp_u32vec3
High precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1131
+
mediump_f32mat2x2 mediump_f32mat2
Medium single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2009
+
quat fquat
Quaternion of default single-precision floating-point numbers.
Definition: fwd.hpp:90
+
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2530
+
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:148
+
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:833
+
detail::tvec3< u16, mediump > mediump_u16vec3
Medium precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1034
+
detail::tmat4x2< f32, highp > highp_fmat4x2
High single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1878
+
detail::tmat2x3< f64, lowp > lowp_f64mat2x3
Low double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2090
+
detail::tvec4< float, highp > highp_fvec4
High Single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1629
+
detail::tmat3x2< f64, mediump > mediump_f64mat3x2
Medium double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2156
+
highp_f64mat3x3 highp_f64mat3
High double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2244
+
detail::tvec4< u64, lowp > lowp_u64vec4
Low precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1260
+
detail::tmat3x3< f64, highp > highp_f64mat3x3
High double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2216
+
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:823
+
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:907
+
detail::tvec2< i32, mediump > mediump_i32vec2
Medium precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:507
+
detail::tvec1< i8, highp > highp_i8vec1
High precision 8 bit signed integer scalar type.
Definition: fwd.hpp:361
+
detail::tvec1< i32, mediump > mediump_i32vec1
Medium precision 32 bit signed integer scalar type.
Definition: fwd.hpp:503
+
float64 highp_f64
High 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1449
+
detail::tvec2< f64, lowp > lowp_f64vec2
Low double-precision floating-point vector of 2 components.
Definition: fwd.hpp:1687
+
detail::tmat2x4< f32, mediump > mediump_f32mat2x4
Medium single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1977
+
detail::float64 mediump_float64_t
Medium 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1416
+
detail::tvec1< i64, mediump > mediump_i64vec1
Medium precision 64 bit signed integer scalar type.
Definition: fwd.hpp:662
+
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:706
+
detail::tmat3x4< f64, mediump > mediump_f64mat3x4
Medium double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2164
+
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:297
+
detail::tvec1< f32, highp > highp_f32vec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1666
+
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2427
+
detail::tmat4x2< f32, lowp > lowp_f32mat4x2
Low single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1935
+
detail::tvec2< float, highp > highp_fvec2
High Single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1621
+
detail::tvec1< float, highp > highp_vec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1601
+
detail::tvec4< u32, highp > highp_u32vec4
High precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1135
+
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:865
+
detail::tvec4< i8, lowp > lowp_i8vec4
Low precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:339
+
detail::tvec4< u32, lowp > lowp_u32vec4
Low precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1101
+
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2578
+
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2570
+
detail::tvec2< i8, mediump > mediump_i8vec2
Medium precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:348
+
detail::float64 highp_float64_t
High 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1441
+
detail::tvec4< u16, lowp > lowp_u16vec4
Low precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1021
+
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2361
+
detail::tvec3< u8, mediump > mediump_u8vec3
Medium precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:955
+
detail::tmat2x2< f64, lowp > lowp_f64mat2x2
Low double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2086
+
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:321
+
detail::tvec2< f32, highp > highp_f32vec2
High single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1670
+
detail::tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:190
+
detail::tvec2< u8, highp > highp_u8vec2
High precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:968
+
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:188
+
detail::tmat4x4< f32, highp > highp_fmat4x4
High single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1886
+
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2483
+
detail::tmat2x4< f32, lowp > lowp_fmat2x4
Low single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1747
+
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:176
+
detail::tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:176
+
detail::tvec4< i16, mediump > mediump_i16vec4
Medium precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:435
+
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:97
+
highp_quat highp_fquat
Quaternion of high single-precision floating-point numbers.
Definition: fwd.hpp:85
+
detail::tvec2< i32, highp > highp_i32vec2
High precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:524
+
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:240
+
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:853
+
lowp_f64mat4x4 lowp_f64mat4
Low double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2134
+
detail::tquat< float, mediump > mediump_quat
Quaternion of medium single-precision floating-point numbers.
Definition: fwd.hpp:54
+
detail::tvec4< float, lowp > lowp_fvec4
Low single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1561
+
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:200
+
detail::tmat3x3< f32, lowp > lowp_f32mat3x3
Low single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1927
+
detail::tvec3< u8, highp > highp_u8vec3
High precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:972
+
detail::tvec2< u64, highp > highp_u64vec2
High precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1286
+
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:152
+
detail::tmat2x3< f64, highp > highp_f64mat2x3
High double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2204
+
detail::tvec1< i16, highp > highp_i16vec1
High precision 16 bit signed integer scalar type.
Definition: fwd.hpp:440
+
detail::tvec3< u64, highp > highp_u64vec3
High precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1290
+
detail::tmat3x2< f32, highp > highp_fmat3x2
High single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1866
+
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:400
+
detail::tmat4x3< f32, highp > highp_f32mat4x3
High single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2056
+
detail::tvec1< i32, lowp > lowp_i32vec1
Low precision 32 bit signed integer scalar type.
Definition: fwd.hpp:486
+
detail::tmat3x3< f64, lowp > lowp_f64mat3x3
Low double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2102
+
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:204
+
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2467
+
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:731
+
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2459
+
mediump_f32mat4x4 mediump_f32mat4
Medium single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2017
+
detail::tmat3x3< f32, highp > highp_fmat3x3
High single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1870
+
detail::float32 mediump_float32_t
Medium 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1412
+
detail::tvec4< i16, lowp > lowp_i16vec4
Low precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:418
+
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:192
+
detail::tvec4< u8, highp > highp_u8vec4
High precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:976
+
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1154
+
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:156
+
detail::float64 lowp_float64_t
Low 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1342
+
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2550
+
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:849
+
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2435
+
detail::tmat4x4< f64, mediump > mediump_f64mat4x4
Medium double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2176
+
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2586
+
detail::tvec3< i64, mediump > mediump_i64vec3
Medium precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:670
+
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:841
+
detail::tvec1< float, mediump > mediump_vec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1567
+
detail::tvec4< i32, lowp > lowp_i32vec4
Low precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:498
+
highp_dquat dquat
Quaternion of default double-precision floating-point numbers.
Definition: fwd.hpp:118
+
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:873
+
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:727
+
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:476
+
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:313
+
detail::tvec1< u16, mediump > mediump_u16vec1
Medium precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1026
+
detail::tvec1< u32, lowp > lowp_u32vec1
Low precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1089
+
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:773
+
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:756
+
detail::tvec1< i16, mediump > mediump_i16vec1
Medium precision 16 bit signed integer scalar type.
Definition: fwd.hpp:423
+
detail::tquat< f32, lowp > lowp_f32quat
Low single-precision floating-point quaternion.
Definition: fwd.hpp:2255
+
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:293
+
detail::tvec1< float, lowp > lowp_vec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1533
+
detail::tvec4< u8, mediump > mediump_u8vec4
Medium precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:959
+
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2538
+
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2413
+
detail::tmat4x3< f32, lowp > lowp_f32mat4x3
Low single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1939
+
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:899
+
detail::tmat2x3< f64, mediump > mediump_f64mat2x3
Medium double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2148
+
detail::tmat2x2< f32, lowp > lowp_f32mat2x2
Low single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1911
+
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:761
+
detail::tmat3x2< f64, highp > highp_f64mat3x2
High double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2212
+
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:309
+
detail::tvec1< i8, lowp > lowp_i8vec1
Low precision 8 bit signed integer scalar type.
Definition: fwd.hpp:327
+
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2463
+
detail::tmat3x3< f32, lowp > lowp_fmat3x3
Low single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1755
+
detail::tmat2x3< f32, mediump > mediump_f32mat2x3
Medium single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1973
+
highp_quat quat
Quaternion of default single-precision floating-point numbers.
Definition: fwd.hpp:69
+
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:752
+
mediump_fmat4x4 mediump_fmat4
Medium single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1844
+
detail::tvec2< f64, mediump > mediump_f64vec2
Medium double-precision floating-point vector of 2 components.
Definition: fwd.hpp:1703
+
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:91
+
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:718
+
detail::tvec3< u16, lowp > lowp_u16vec3
Low precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1017
+
detail::tvec2< u16, highp > highp_u16vec2
High precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1047
+
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2590
+
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2554
+
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2393
+
detail::tvec1< float, highp > highp_fvec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1617
+
detail::tmat2x2< f32, mediump > mediump_fmat2x2
Medium single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1796
+
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2369
+
detail::tmat4x3< f64, lowp > lowp_f64mat4x3
Low double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2114
+
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:268
+
detail::tvec1< f64, highp > highp_f64vec1
High double-precision floating-point vector of 1 component.
Definition: fwd.hpp:1715
+
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2405
+
detail::tmat2x2< f32, highp > highp_fmat2x2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1854
+
detail::tquat< float, highp > highp_quat
Quaternion of high single-precision floating-point numbers.
Definition: fwd.hpp:59
+
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1313
+
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:256
+
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:301
+
detail::tvec1< u8, highp > highp_u8vec1
High precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:964
+
detail::tvec3< u8, lowp > lowp_u8vec3
Low precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:938
+
detail::tmat2x4< f64, highp > highp_f64mat2x4
High double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2208
+
detail::tvec4< f32, mediump > mediump_f32vec4
Medium single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1662
+
lowp_f32mat4x4 lowp_f32mat4
Low single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1959
+
detail::tvec3< f32, lowp > lowp_f32vec3
Low single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1642
+
detail::tvec3< u64, mediump > mediump_u64vec3
Medium precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1273
+
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2451
+
detail::tvec4< u32, mediump > mediump_u32vec4
Medium precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1118
+
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2574
+
float32 highp_f32
High 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1445
+
detail::tmat4x4< f32, lowp > lowp_f32mat4x4
Low single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1943
+
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:160
+
detail::tquat< f64, mediump > mediump_f64quat
Medium double-precision floating-point quaternion.
Definition: fwd.hpp:2267
+
detail::tvec2< u8, mediump > mediump_u8vec2
Medium precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:951
+
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:180
+
detail::tvec3< i8, lowp > lowp_i8vec3
Low precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:335
+
detail::tvec2< u32, mediump > mediump_u32vec2
Medium precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1110
+
detail::float64 lowp_float64
Low 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1334
+
detail::float32 lowp_float32_t
Low 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1338
+
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:869
+
detail::tquat< f32, mediump > mediump_f32quat
Medium single-precision floating-point quaternion.
Definition: fwd.hpp:2263
+
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1083
+
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:136
+
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:807
+
highp_f32mat3x3 highp_f32mat3
High single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2072
+
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1075
+
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:923
+
detail::tvec1< i32, highp > highp_i32vec1
High precision 32 bit signed integer scalar type.
Definition: fwd.hpp:520
+
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2582
+
detail::tmat4x2< f32, highp > highp_f32mat4x2
High single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2052
+
lowp_fmat4x4 lowp_fmat4
Low single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1787
+
detail::tmat2x3< f32, highp > highp_f32mat2x3
High single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2032
+
detail::float64 mediump_float64
Medium 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1408
+
detail::tvec1< u64, lowp > lowp_u64vec1
Low precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1248
+
detail::tvec1< u8, mediump > mediump_u8vec1
Medium precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:947
+
lowp_f64mat2x2 lowp_f64mat2
Low double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2126
+
detail::tvec1< i64, lowp > lowp_i64vec1
Low precision 64 bit signed integer scalar type.
Definition: fwd.hpp:645
+
detail::tvec2< i8, lowp > lowp_i8vec2
Low precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:331
+
detail::tvec4< i8, mediump > mediump_i8vec4
Medium precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:356
+
detail::tmat3x2< f64, lowp > lowp_f64mat3x2
Low double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2098
+
mediump_f64mat2x2 mediump_f64mat2
Medium double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2184
+
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1321
+
detail::tquat< double, lowp > lowp_dquat
Quaternion of low double-precision floating-point numbers.
Definition: fwd.hpp:96
+
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:811
+
detail::tvec2< u32, highp > highp_u32vec2
High precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1127
+
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2471
+
detail::float64 highp_float64
High 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1433
+
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2373
+
detail::tvec4< i8, highp > highp_i8vec4
High precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:373
+
detail::tvec4< f64, highp > highp_f64vec4
High double-precision floating-point vector of 4 components.
Definition: fwd.hpp:1727
+
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2401
+
detail::tquat< double, highp > highp_dquat
Quaternion of high double-precision floating-point numbers.
Definition: fwd.hpp:106
+
highp_f32mat4x4 highp_f32mat4
High single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2076
+
detail::tmat3x2< f32, lowp > lowp_fmat3x2
Low single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1751
+
detail::tvec2< f32, lowp > lowp_f32vec2
Low single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1638
+
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:995
+
detail::tvec4< f32, lowp > lowp_f32vec4
Low single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1646
+
detail::tvec3< f32, highp > highp_f32vec3
High single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1674
+
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1158
+
detail::tvec1< f32, mediump > mediump_f32vec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1650
+
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:94
+
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:132
+
detail::tmat3x3< f32, highp > highp_f32mat3x3
High single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2044
+
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:819
+
detail::tvec2< i64, mediump > mediump_i64vec2
Medium precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:666
+
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:735
+
highp_f64mat2x2 highp_f64mat2
High double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2240
+
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:172
+
detail::tmat3x2< f32, lowp > lowp_f32mat3x2
Low single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1923
+
lowp_f32mat3x3 lowp_f32mat3
Low single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1955
+
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:919
+
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:392
+
detail::tmat4x4< f32, highp > highp_f32mat4x4
High single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2060
+
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:555
+
detail::tmat2x2< f64, mediump > mediump_f64mat2x2
Medium double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2144
+
detail::tmat2x4< f32, lowp > lowp_f32mat2x4
Low single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1919
+
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2546
+
highp_f64mat4x4 highp_f64mat4
High double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2248
+
detail::tmat2x3< f32, lowp > lowp_f32mat2x3
Low single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1915
+
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2423
+
detail::tmat2x3< f32, highp > highp_fmat2x3
High single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1858
+
detail::tmat4x4< f32, mediump > mediump_fmat4x4
Medium single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:1828
+
detail::tmat4x3< f64, mediump > mediump_f64mat4x3
Medium double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2172
+
detail::tvec3< float, highp > highp_fvec3
High Single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1625
+
detail::tvec3< f64, mediump > mediump_f64vec3
Medium double-precision floating-point vector of 3 components.
Definition: fwd.hpp:1707
+
detail::tvec1< u16, lowp > lowp_u16vec1
Low precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1009
+
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2377
+
highp_fmat3x3 highp_fmat3
High single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1898
+
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:272
+
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1519
+
detail::tmat4x2< f64, highp > highp_f64mat4x2
High double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2224
+
detail::tvec4< f32, highp > highp_f32vec4
High single-precision floating-point vector of 4 components.
Definition: fwd.hpp:1678
+
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2479
+
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:260
+
detail::tvec4< u64, mediump > mediump_u64vec4
Medium precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1277
+
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:396
+
detail::tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:65
+
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:220
+
detail::tvec2< u64, lowp > lowp_u64vec2
Low precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1252
+
detail::tvec2< i16, highp > highp_i16vec2
High precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:444
+
detail::tvec1< u64, mediump > mediump_u64vec1
Medium precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1265
+
detail::tvec2< float, mediump > mediump_fvec2
Medium Single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1587
+
detail::tmat3x2< f32, highp > highp_f32mat3x2
High single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2040
+
detail::tvec2< i8, highp > highp_i8vec2
High precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:365
+
detail::tmat3x4< f32, lowp > lowp_f32mat3x4
Low single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1931
+
detail::tmat4x4< f64, lowp > lowp_f64mat4x4
Low double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2118
+
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2487
+
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:991
+
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:791
+
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:547
+
detail::tvec2< float, lowp > lowp_fvec2
Low single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1553
+
detail::tmat2x2< f32, highp > highp_f32mat2x2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2028
+
detail::tvec4< f64, mediump > mediump_f64vec4
Medium double-precision floating-point vector of 4 components.
Definition: fwd.hpp:1711
+
lowp_f32mat2x2 lowp_f32mat2
Low single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:1951
+
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1162
+
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:861
+
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2439
+
detail::tmat3x2< f32, mediump > mediump_f32mat3x2
Medium single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:1981
+
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:559
+
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:779
+
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:480
+
detail::tvec3< f32, mediump > mediump_f32vec3
Medium single-precision floating-point vector of 3 components.
Definition: fwd.hpp:1658
+
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1527
+
detail::tmat3x4< f32, highp > highp_fmat3x4
High single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1874
+
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:212
+
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:224
+
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:232
+
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2534
+
mediump_fmat3x3 mediump_fmat3
Medium single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1840
+
detail::tvec3< f64, highp > highp_f64vec3
High double-precision floating-point vector of 3 components.
Definition: fwd.hpp:1723
+
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:388
+
detail::tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:79
+
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2558
+
detail::tmat3x4< f32, mediump > mediump_f32mat3x4
Medium single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1989
+
float64 mediump_f64
Medium 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1424
+
detail::tmat2x3< f32, lowp > lowp_fmat2x3
Low single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1743
+
highp_f32mat2x2 highp_f32mat2
High single-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2068
+
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:769
+
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:264
+
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:228
+
detail::tvec2< i64, highp > highp_i64vec2
High precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:683
+
float32 lowp_f32
Low 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1346
+
detail::tvec4< u16, mediump > mediump_u16vec4
Medium precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1038
+
detail::tvec3< i8, mediump > mediump_i8vec3
Medium precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:352
+
detail::tmat2x3< f32, mediump > mediump_fmat2x3
Medium single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:1800
+
detail::tmat3x4< f64, highp > highp_f64mat3x4
High double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2220
+
detail::tmat4x3< f32, highp > highp_fmat4x3
High single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:1882
+
detail::tvec1< i64, highp > highp_i64vec1
High precision 64 bit signed integer scalar type.
Definition: fwd.hpp:679
+
detail::tmat4x2< f32, mediump > mediump_fmat4x2
Medium single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:1820
+
detail::tvec4< i32, highp > highp_i32vec4
High precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:532
+
detail::tmat2x4< f32, highp > highp_f32mat2x4
High single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2036
+
detail::tmat3x3< f32, mediump > mediump_f32mat3x3
Medium single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:1985
+
detail::tvec3< i16, mediump > mediump_i16vec3
Medium precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:431
+
mediump_quat mediump_fquat
Quaternion of medium single-precision floating-point numbers.
Definition: fwd.hpp:80
+
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1150
+
detail::tmat3x4< f32, highp > highp_f32mat3x4
High single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2048
+
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:915
+
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2409
+
detail::tvec1< f64, mediump > mediump_f64vec1
Medium double-precision floating-point vector of 1 component.
Definition: fwd.hpp:1699
+
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:168
+
detail::tmat2x4< f64, lowp > lowp_f64mat2x4
Low double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2094
+
detail::tvec3< i32, highp > highp_i32vec3
High precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:528
+
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2443
+
mediump_f32mat3x3 mediump_f32mat3
Medium single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2013
+
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:95
+
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2365
+
detail::tmat3x4< f32, lowp > lowp_fmat3x4
Low single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:1759
+
detail::tmat4x4< f64, highp > highp_f64mat4x4
High double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2232
+
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2594
+
detail::tvec2< i16, lowp > lowp_i16vec2
Low precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:410
+
detail::tquat< float, lowp > lowp_quat
Quaternion of low single-precision floating-point numbers.
Definition: fwd.hpp:49
+
detail::tvec1< u32, highp > highp_u32vec1
High precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1123
+
detail::tvec4< i32, mediump > mediump_i32vec4
Medium precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:515
+
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:244
+
detail::tvec3< u32, lowp > lowp_u32vec3
Low precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1097
+
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2447
+
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2475
+
detail::tvec2< u16, mediump > mediump_u16vec2
Medium precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1030
+
detail::tvec3< u32, mediump > mediump_u32vec3
Medium precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1114
+
detail::tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:294
+
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2542
+
detail::tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:72
+
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:144
+
detail::tmat3x3< f64, mediump > mediump_f64mat3x3
Medium double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2160
+
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:857
+
detail::tquat< double, mediump > mediump_dquat
Quaternion of medium double-precision floating-point numbers.
Definition: fwd.hpp:101
+
detail::tmat2x4< f32, highp > highp_fmat2x4
High single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:1862
+
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:82
+
detail::tvec2< f32, mediump > mediump_f32vec2
Medium single-precision floating-point vector of 2 components.
Definition: fwd.hpp:1654
+
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2385
+
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:829
+
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:164
+
detail::tmat2x2< f64, highp > highp_f64mat2x2
High double-precision floating-point 1x1 matrix.
Definition: fwd.hpp:2200
+
detail::tvec2< f64, highp > highp_f64vec2
High double-precision floating-point vector of 2 components.
Definition: fwd.hpp:1719
+
detail::tvec3< u16, highp > highp_u16vec3
High precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1051
+
detail::tvec1< float, mediump > mediump_fvec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1583
+
detail::tvec1< f32, lowp > lowp_f32vec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1634
+
detail::tvec4< i16, highp > highp_i16vec4
High precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:452
+
detail::tvec4< i64, highp > highp_i64vec4
High precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:691
+
detail::tvec1< u32, mediump > mediump_u32vec1
Medium precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1106
+
detail::tvec4< i64, mediump > mediump_i64vec4
Medium precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:674
+
detail::tvec2< i32, lowp > lowp_i32vec2
Low precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:490
+
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2455
+
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2562
+
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2389
+
detail::tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:282
+
detail::tvec4< u8, lowp > lowp_u8vec4
Low precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:942
+
detail::tmat4x2< f64, lowp > lowp_f64mat4x2
Low double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2110
+
detail::tmat4x2< f64, mediump > mediump_f64mat4x2
Medium double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2168
+
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2381
+
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:216
+
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:714
+
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:799
+
detail::tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:183
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00042.html glm-0.9.5.1/doc/api/a00042.html --- glm-0.9.4.6/doc/api/a00042.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00042.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,103 +1,74 @@ - - - - - -integer.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
integer.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - -

-Typedefs

typedef signed int sint
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType factorial (genType const &x)
 
unsigned int floor_log2 (unsigned int x)
 
template<typename genIUType >
genIUType log2 (genIUType const &x)
 
int mod (int x, int y)
 
uint mod (uint x, uint y)
 
uint nlz (uint x)
 
int pow (int x, int y)
 
uint pow (uint x, uint y)
 
int sqrt (int x)
 
uint sqrt (uint x)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_integer

-
Date
2005-12-24 / 2011-10-13
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file integer.hpp.

-
- - - - + + + + + + +GLM: geometric.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
geometric.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file geometric.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00042_source.html glm-0.9.5.1/doc/api/a00042_source.html --- glm-0.9.4.6/doc/api/a00042_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00042_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,135 +1,69 @@ - - - - - -integer.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
integer.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_integer
-
39 #define GLM_GTX_integer GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_integer extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  int pow(int x, int y);
-
56 
-
59  int sqrt(int x);
-
60 
-
63  template <typename genIUType>
-
64  genIUType log2(genIUType const & x);
-
65 
-
68  unsigned int floor_log2(unsigned int x);
-
69 
-
72  int mod(int x, int y);
-
73 
-
76  template <typename genType>
-
77  genType factorial(genType const & x);
-
78 
-
81  typedef signed int sint;
-
82 
-
85  uint pow(uint x, uint y);
-
86 
-
89  uint sqrt(uint x);
-
90 
-
93  uint mod(uint x, uint y);
-
94 
-
97  uint nlz(uint x);
-
98 
-
100 }//namespace glm
-
101 
-
102 #include "integer.inl"
-
103 
-
104 #endif//GLM_GTX_integer
-
- - - - + + + + + + +GLM: geometric.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
geometric.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_GEOMETRIC_INCLUDED
+
30 #define GLM_GEOMETRIC_INCLUDED
+
31 
+
32 #include "detail/func_geometric.hpp"
+
33 
+
34 #endif//GLM_GEOMETRIC_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00043.html glm-0.9.5.1/doc/api/a00043.html --- glm-0.9.4.6/doc/api/a00043.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00043.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,92 +1,80 @@ - - - - - -intersect.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
intersect.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 
template<typename genType >
bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 
template<typename genType >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_intersect

-
Date
2007-04-03 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_closest_point (dependence)
- -

Definition in file intersect.hpp.

-
- - - - + + + + + + +GLM: glm.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
glm.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+
Date
2009-05-01 / 2011-05-16
+
Author
Christophe Riccio
+

GLM Core (Dependence)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2005-01-14 / 2011-10-24
+
Author
Christophe Riccio
+ +

Definition in file glm.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00043_source.html glm-0.9.5.1/doc/api/a00043_source.html --- glm-0.9.4.6/doc/api/a00043_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00043_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,144 +1,123 @@ - - - - - -intersect.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
intersect.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_intersect
-
40 #define GLM_GTX_intersect GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/closest_point.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_closest_point extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename genType>
- -
59  genType const & orig, genType const & dir,
-
60  genType const & vert0, genType const & vert1, genType const & vert2,
-
61  genType & baryPosition);
-
62 
-
65  template <typename genType>
- -
67  genType const & orig, genType const & dir,
-
68  genType const & vert0, genType const & vert1, genType const & vert2,
-
69  genType & position);
-
70 
-
74  template <typename genType>
-
75  bool intersectRaySphere(
-
76  genType const & rayStarting, genType const & rayNormalizedDirection,
-
77  genType const & sphereCenter, const typename genType::value_type sphereRadiusSquered,
-
78  typename genType::value_type & intersectionDistance);
-
79 
-
82  template <typename genType>
-
83  bool intersectRaySphere(
-
84  genType const & rayStarting, genType const & rayNormalizedDirection,
-
85  genType const & sphereCenter, const typename genType::value_type sphereRadius,
-
86  genType & intersectionPosition, genType & intersectionNormal);
-
87 
-
90  template <typename genType>
- -
92  genType const & point0, genType const & point1,
-
93  genType const & sphereCenter, typename genType::value_type sphereRadius,
-
94  genType & intersectionPosition1, genType & intersectionNormal1,
-
95  genType & intersectionPosition2 = genType(), genType & intersectionNormal2 = genType());
-
96 
-
98 }//namespace glm
-
99 
-
100 #include "intersect.inl"
-
101 
-
102 #endif//GLM_GTX_intersect
-
- - - - + + + + + + +GLM: glm.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
glm.hpp
+
+
+Go to the documentation of this file.
1 
+
78 #include "detail/_fixes.hpp"
+
79 
+
80 #ifndef GLM_INCLUDED
+
81 #define GLM_INCLUDED
+
82 
+
83 #include <cmath>
+
84 #include <climits>
+
85 #include <cfloat>
+
86 #include <limits>
+
87 #include <cassert>
+
88 #include "fwd.hpp"
+
89 
+
90 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_CORE_INCLUDED_DISPLAYED))
+
91 # define GLM_MESSAGE_CORE_INCLUDED_DISPLAYED
+
92 # pragma message("GLM: Core library included")
+
93 #endif//GLM_MESSAGE
+
94 
+
95 #include "vec2.hpp"
+
96 #include "vec3.hpp"
+
97 #include "vec4.hpp"
+
98 #include "mat2x2.hpp"
+
99 #include "mat2x3.hpp"
+
100 #include "mat2x4.hpp"
+
101 #include "mat3x2.hpp"
+
102 #include "mat3x3.hpp"
+
103 #include "mat3x4.hpp"
+
104 #include "mat4x2.hpp"
+
105 #include "mat4x3.hpp"
+
106 #include "mat4x4.hpp"
+
107 
+
108 #include "trigonometric.hpp"
+
109 #include "exponential.hpp"
+
110 #include "common.hpp"
+
111 #include "packing.hpp"
+
112 #include "geometric.hpp"
+
113 #include "matrix.hpp"
+
114 #include "vector_relational.hpp"
+
115 #include "integer.hpp"
+
116 
+
117 #endif//GLM_INCLUDED
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
OpenGL Mathematics (glm.g-truc.net)
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00044.html glm-0.9.5.1/doc/api/a00044.html --- glm-0.9.4.6/doc/api/a00044.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00044.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,74 +1,95 @@ - - - - - -intrinsic_common.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
intrinsic_common.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2009-05-11 / 2011-06-15
-
Author
Christophe Riccio
-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2009-06-05 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file intrinsic_common.hpp.

-
- - - - + + + + + + +GLM: gradient_paint.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
gradient_paint.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + +

+Functions

template<typename T , precision P>
linearGradient (detail::tvec2< T, P > const &Point0, detail::tvec2< T, P > const &Point1, detail::tvec2< T, P > const &Position)
 
template<typename T , precision P>
radialGradient (detail::tvec2< T, P > const &Center, T const &Radius, detail::tvec2< T, P > const &Focal, detail::tvec2< T, P > const &Position)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_gradient_paint

+
Date
2009-03-06 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_optimum_pow (dependence)
+ +

Definition in file gradient_paint.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00044_source.html glm-0.9.5.1/doc/api/a00044_source.html --- glm-0.9.4.6/doc/api/a00044_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00044_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,145 +1,97 @@ - - - - - -intrinsic_common.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
intrinsic_common.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_detail_intrinsic_common
-
30 #define glm_detail_intrinsic_common
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  __m128 sse_abs_ps(__m128 x);
-
42 
-
43  __m128 sse_sgn_ps(__m128 x);
-
44 
-
45  //floor
-
46  __m128 sse_flr_ps(__m128 v);
-
47 
-
48  //trunc
-
49  __m128 sse_trc_ps(__m128 v);
-
50 
-
51  //round
-
52  __m128 sse_nd_ps(__m128 v);
-
53 
-
54  //roundEven
-
55  __m128 sse_rde_ps(__m128 v);
-
56 
-
57  __m128 sse_rnd_ps(__m128 x);
-
58 
-
59  __m128 sse_ceil_ps(__m128 v);
-
60 
-
61  __m128 sse_frc_ps(__m128 x);
-
62 
-
63  __m128 sse_mod_ps(__m128 x, __m128 y);
-
64 
-
65  __m128 sse_modf_ps(__m128 x, __m128i & i);
-
66 
-
67  //GLM_FUNC_QUALIFIER __m128 sse_min_ps(__m128 x, __m128 y)
-
68 
-
69  //GLM_FUNC_QUALIFIER __m128 sse_max_ps(__m128 x, __m128 y)
-
70 
-
71  __m128 sse_clp_ps(__m128 v, __m128 minVal, __m128 maxVal);
-
72 
-
73  __m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a);
-
74 
-
75  __m128 sse_stp_ps(__m128 edge, __m128 x);
-
76 
-
77  __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x);
-
78 
-
79  __m128 sse_nan_ps(__m128 x);
-
80 
-
81  __m128 sse_inf_ps(__m128 x);
-
82 
-
83 }//namespace detail
-
84 }//namespace glm
-
85 
-
86 #include "intrinsic_common.inl"
-
87 
-
88 #endif//GLM_ARCH
-
89 #endif//glm_detail_intrinsic_common
-
- - - - + + + + + + +GLM: gradient_paint.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gradient_paint.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_gradient_paint
+
39 #define GLM_GTX_gradient_paint
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 #include "../gtx/optimum_pow.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_gradient_paint extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  template <typename T, precision P>
+ +
58  detail::tvec2<T, P> const & Center,
+
59  T const & Radius,
+
60  detail::tvec2<T, P> const & Focal,
+
61  detail::tvec2<T, P> const & Position);
+
62 
+
65  template <typename T, precision P>
+ +
67  detail::tvec2<T, P> const & Point0,
+
68  detail::tvec2<T, P> const & Point1,
+
69  detail::tvec2<T, P> const & Position);
+
70 
+
72 }// namespace glm
+
73 
+
74 #include "gradient_paint.inl"
+
75 
+
76 #endif//GLM_GTX_gradient_paint
+
T radialGradient(detail::tvec2< T, P > const &Center, T const &Radius, detail::tvec2< T, P > const &Focal, detail::tvec2< T, P > const &Position)
Return a color from a radial gradient.
+
T linearGradient(detail::tvec2< T, P > const &Point0, detail::tvec2< T, P > const &Point1, detail::tvec2< T, P > const &Position)
Return a color from a linear gradient.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00045.html glm-0.9.5.1/doc/api/a00045.html --- glm-0.9.4.6/doc/api/a00045.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00045.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,68 +1,93 @@ - - - - - -intrinsic_exponential.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
intrinsic_exponential.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2009-05-11 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file intrinsic_exponential.hpp.

-
- - - - + + + + + + +GLM: handed_coordinate_space.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
handed_coordinate_space.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + +

+Functions

template<typename T , precision P>
bool leftHanded (detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
bool rightHanded (detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_handed_coordinate_space

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file handed_coordinate_space.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00045_source.html glm-0.9.5.1/doc/api/a00045_source.html --- glm-0.9.4.6/doc/api/a00045_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00045_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,135 +1,95 @@ - - - - - -intrinsic_exponential.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
intrinsic_exponential.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_detail_intrinsic_exponential
-
30 #define glm_detail_intrinsic_exponential
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41 /*
-
42 GLM_FUNC_QUALIFIER __m128 sse_rsqrt_nr_ss(__m128 const x)
-
43 {
-
44  __m128 recip = _mm_rsqrt_ss( x ); // "estimate" opcode
-
45  const static __m128 three = { 3, 3, 3, 3 }; // aligned consts for fast load
-
46  const static __m128 half = { 0.5,0.5,0.5,0.5 };
-
47  __m128 halfrecip = _mm_mul_ss( half, recip );
-
48  __m128 threeminus_xrr = _mm_sub_ss( three, _mm_mul_ss( x, _mm_mul_ss ( recip, recip ) ) );
-
49  return _mm_mul_ss( halfrecip, threeminus_xrr );
-
50 }
-
51 
-
52 GLM_FUNC_QUALIFIER __m128 sse_normalize_fast_ps( float * RESTRICT vOut, float * RESTRICT vIn )
-
53 {
-
54  __m128 x = _mm_load_ss(&vIn[0]);
-
55  __m128 y = _mm_load_ss(&vIn[1]);
-
56  __m128 z = _mm_load_ss(&vIn[2]);
-
57 
-
58  const __m128 l = // compute x*x + y*y + z*z
-
59  _mm_add_ss(
-
60  _mm_add_ss( _mm_mul_ss(x,x),
-
61  _mm_mul_ss(y,y)
-
62  ),
-
63  _mm_mul_ss( z, z )
-
64  );
-
65 
-
66 
-
67  const __m128 rsqt = _mm_rsqrt_nr_ss( l );
-
68  _mm_store_ss( &vOut[0] , _mm_mul_ss( rsqt, x ) );
-
69  _mm_store_ss( &vOut[1] , _mm_mul_ss( rsqt, y ) );
-
70  _mm_store_ss( &vOut[2] , _mm_mul_ss( rsqt, z ) );
-
71 
-
72  return _mm_mul_ss( l , rsqt );
-
73 }
-
74 */
-
75 }//namespace detail
-
76 }//namespace glm
-
77 
-
78 #endif//GLM_ARCH
-
79 #endif//glm_detail_intrinsic_exponential
-
- - - - + + + + + + +GLM: handed_coordinate_space.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
handed_coordinate_space.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_handed_coordinate_space
+
39 #define GLM_GTX_handed_coordinate_space
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_handed_coordinate_space extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T, precision P>
+
56  bool rightHanded(
+
57  detail::tvec3<T, P> const & tangent,
+
58  detail::tvec3<T, P> const & binormal,
+
59  detail::tvec3<T, P> const & normal);
+
60 
+
63  template <typename T, precision P>
+
64  bool leftHanded(
+
65  detail::tvec3<T, P> const & tangent,
+
66  detail::tvec3<T, P> const & binormal,
+
67  detail::tvec3<T, P> const & normal);
+
68 
+
70 }// namespace glm
+
71 
+
72 #include "handed_coordinate_space.inl"
+
73 
+
74 #endif//GLM_GTX_handed_coordinate_space
+
bool leftHanded(detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
Return if a trihedron left handed or not.
+
bool rightHanded(detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
Return if a trihedron right handed or not.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00046.html glm-0.9.5.1/doc/api/a00046.html --- glm-0.9.4.6/doc/api/a00046.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00046.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ - - - - - -intrinsic_geometric.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
intrinsic_geometric.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2009-05-08 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file intrinsic_geometric.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00046_source.html glm-0.9.5.1/doc/api/a00046_source.html --- glm-0.9.4.6/doc/api/a00046_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00046_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,132 +1,75 @@ - - - - - -intrinsic_geometric.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
intrinsic_geometric.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_intrinsic_geometric
-
30 #define glm_core_intrinsic_geometric
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 #include "intrinsic_common.hpp"
-
39 
-
40 namespace glm{
-
41 namespace detail
-
42 {
-
43  //length
-
44  __m128 sse_len_ps(__m128 x);
-
45 
-
46  //distance
-
47  __m128 sse_dst_ps(__m128 p0, __m128 p1);
-
48 
-
49  //dot
-
50  __m128 sse_dot_ps(__m128 v1, __m128 v2);
-
51 
-
52  // SSE1
-
53  __m128 sse_dot_ss(__m128 v1, __m128 v2);
-
54 
-
55  //cross
-
56  __m128 sse_xpd_ps(__m128 v1, __m128 v2);
-
57 
-
58  //normalize
-
59  __m128 sse_nrm_ps(__m128 v);
-
60 
-
61  //faceforward
-
62  __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref);
-
63 
-
64  //reflect
-
65  __m128 sse_rfe_ps(__m128 I, __m128 N);
-
66 
-
67  //refract
-
68  __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta);
-
69 
-
70 }//namespace detail
-
71 }//namespace glm
-
72 
-
73 #include "intrinsic_geometric.inl"
-
74 
-
75 #endif//GLM_ARCH
-
76 #endif//glm_core_intrinsic_geometric
-
- - - - + + + + + + +GLM: hint.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
hint.hpp
+
+
+
1 
+
29 #ifndef glm_core_type
+
30 #define glm_core_type
+
31 
+
32 namespace glm
+
33 {
+
34  // Use dont_care, nicest and fastest to optimize implementations.
+
35  class dont_care {};
+
36  class nicest {};
+
37  class fastest {};
+
38 }//namespace glm
+
39 
+
40 #endif//glm_core_type
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00047.html glm-0.9.5.1/doc/api/a00047.html --- glm-0.9.4.6/doc/api/a00047.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00047.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,85 @@ + + + + + + +GLM: inertia.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
inertia.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_inertia

+
Date
2006-04-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_extented_min_max (dependence)
+ +

Definition in file inertia.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00047_source.html glm-0.9.5.1/doc/api/a00047_source.html --- glm-0.9.4.6/doc/api/a00047_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00047_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,125 +1,122 @@ - - - - - -intrinsic_matrix.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
intrinsic_matrix.hpp
-
-
-
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_detail_intrinsic_matrix
-
30 #define glm_detail_intrinsic_matrix
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 #include "intrinsic_geometric.hpp"
-
39 
-
40 namespace glm{
-
41 namespace detail
-
42 {
-
43  void sse_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
-
44 
-
45  void sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
-
46 
-
47  __m128 sse_mul_ps(__m128 m[4], __m128 v);
-
48 
-
49  __m128 sse_mul_ps(__m128 v, __m128 m[4]);
-
50 
-
51  void sse_mul_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4]);
-
52 
-
53  void sse_transpose_ps(__m128 const in[4], __m128 out[4]);
-
54 
-
55  void sse_inverse_ps(__m128 const in[4], __m128 out[4]);
-
56 
-
57  void sse_rotate_ps(__m128 const in[4], float Angle, float const v[3], __m128 out[4]);
-
58 
-
59  __m128 sse_det_ps(__m128 const m[4]);
-
60 
-
61  __m128 sse_slow_det_ps(__m128 const m[4]);
-
62 
-
63 }//namespace detail
-
64 }//namespace glm
-
65 
-
66 #include "intrinsic_matrix.inl"
-
67 
-
68 #endif//GLM_ARCH
-
69 #endif//glm_detail_intrinsic_matrix
-
- - - - + + + + + + +GLM: inertia.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
inertia.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_inertia
+
40 #define GLM_GTX_inertia
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_inertia extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
51  /*
+
54 
+
57  template <typename T, precision P>
+
58  detail::tmat3x3<T, P> boxInertia3(
+
59  T const & Mass,
+
60  detail::tvec3<T, P> const & Scale);
+
61 
+
64  template <typename T, precision P>
+
65  detail::tmat4x4<T, P> boxInertia4(
+
66  T const & Mass,
+
67  detail::tvec3<T, P> const & Scale);
+
68 
+
71  template <typename T, precision P>
+
72  detail::tmat3x3<T, P> diskInertia3(
+
73  T const & Mass,
+
74  T const & Radius);
+
75 
+
78  template <typename T, precision P>
+
79  detail::tmat4x4<T, P> diskInertia4(
+
80  T const & Mass,
+
81  T const & Radius);
+
82 
+
85  template <typename T, precision P>
+
86  detail::tmat3x3<T, P> ballInertia3(
+
87  T const & Mass,
+
88  T const & Radius);
+
89 
+
92  template <typename T, precision P>
+
93  detail::tmat4x4<T, P> ballInertia4(
+
94  T const & Mass,
+
95  T const & Radius);
+
96 
+
99  template <typename T, precision P>
+
100  detail::tmat3x3<T, P> sphereInertia3(
+
101  T const & Mass,
+
102  T const & Radius);
+
103 
+
106  template <typename T, precision P>
+
107  detail::tmat4x4<T, P> sphereInertia4(
+
108  T const & Mass,
+
109  T const & Radius);
+
110  */
+
112 }// namespace glm
+
113 
+
114 #include "inertia.inl"
+
115 
+
116 #endif//GLM_GTX_inertia
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00048.html glm-0.9.5.1/doc/api/a00048.html --- glm-0.9.4.6/doc/api/a00048.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00048.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ - - - - - -intrinsic_trigonometric.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
intrinsic_trigonometric.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2009-06-09 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file intrinsic_trigonometric.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00048_source.html glm-0.9.5.1/doc/api/a00048_source.html --- glm-0.9.4.6/doc/api/a00048_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00048_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,104 +1,86 @@ - - - - - -intrinsic_trigonometric.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
intrinsic_trigonometric.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_detail_intrinsic_trigonometric
-
30 #define glm_detail_intrinsic_trigonometric
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41 
-
42 }//namespace detail
-
43 }//namespace glm
-
44 
-
45 #include "intrinsic_trigonometric.inl"
-
46 
-
47 #endif//GLM_ARCH
-
48 #endif//glm_detail_intrinsic_trigonometric
-
- - - - + + + + + + +GLM: int_10_10_10_2.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
int_10_10_10_2.hpp
+
+
+
1 
+
24 #ifndef GLM_GTX_int_10_10_10_2
+
25 #define GLM_GTX_int_10_10_10_2
+
26 
+
27 // Dependency:
+
28 #include "../glm.hpp"
+
29 #include "../gtx/raw_data.hpp"
+
30 
+
31 #if(defined(GLM_MESSAGES))
+
32 # pragma message("GLM: GLM_GTX_int_10_10_10_2 extension is deprecated, include GLM_GTC_packing (glm/gtc/packing.hpp) instead")
+
33 #endif
+
34 
+
35 namespace glm
+
36 {
+
38  GLM_DEPRECATED dword uint10_10_10_2_cast(glm::vec4 const & v);
+
39 
+
40 }//namespace glm
+
41 
+
42 #include "int_10_10_10_2.inl"
+
43 
+
44 #endif//GLM_GTX_int_10_10_10_2
+
detail::uint32 dword
Type for dword numbers.
Definition: raw_data.hpp:63
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
+
GLM_DEPRECATED dword uint10_10_10_2_cast(glm::vec4 const &v)
Deprecated, use packUnorm3x10_1x2 instead.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00049.html glm-0.9.5.1/doc/api/a00049.html --- glm-0.9.4.6/doc/api/a00049.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00049.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,68 +1,115 @@ - - - - - -intrinsic_vector_relational.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
intrinsic_vector_relational.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2009-06-09 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file intrinsic_vector_relational.hpp.

-
- - - - + + + + + + +GLM: integer.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
gtx/integer.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + +

+Typedefs

typedef signed int sint
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
genType factorial (genType const &x)
 
unsigned int floor_log2 (unsigned int x)
 
template<typename genIUType >
genIUType log2 (genIUType const &x)
 
int mod (int x, int y)
 
uint mod (uint x, uint y)
 
uint nlz (uint x)
 
int pow (int x, int y)
 
uint pow (uint x, uint y)
 
int sqrt (int x)
 
uint sqrt (uint x)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_integer

+
Date
2005-12-24 / 2011-10-13
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file gtx/integer.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00049_source.html glm-0.9.5.1/doc/api/a00049_source.html --- glm-0.9.4.6/doc/api/a00049_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00049_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,104 +1,114 @@ - - - - - -intrinsic_vector_relational.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
intrinsic_vector_relational.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_detail_intrinsic_vector_relational
-
30 #define glm_detail_intrinsic_vector_relational
-
31 
-
32 #include "setup.hpp"
-
33 
-
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
-
35 # error "SSE2 instructions not supported or enabled"
-
36 #else
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41 
-
42 }//namespace detail
-
43 }//namespace glm
-
44 
-
45 #include "intrinsic_vector_relational.inl"
-
46 
-
47 #endif//GLM_ARCH
-
48 #endif//glm_detail_intrinsic_vector_relational
-
- - - - + + + + + + +GLM: integer.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtx/integer.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_integer
+
39 #define GLM_GTX_integer
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_integer extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  int pow(int x, int y);
+
56 
+
59  int sqrt(int x);
+
60 
+
63  template <typename genIUType>
+
64  genIUType log2(genIUType const & x);
+
65 
+
68  unsigned int floor_log2(unsigned int x);
+
69 
+
72  int mod(int x, int y);
+
73 
+
76  template <typename genType>
+
77  genType factorial(genType const & x);
+
78 
+
81  typedef signed int sint;
+
82 
+
85  uint pow(uint x, uint y);
+
86 
+
89  uint sqrt(uint x);
+
90 
+
93  uint mod(uint x, uint y);
+
94 
+
97  uint nlz(uint x);
+
98 
+
100 }//namespace glm
+
101 
+
102 #include "integer.inl"
+
103 
+
104 #endif//GLM_GTX_integer
+
GLM_FUNC_DECL genType sqrt(genType const &x)
Returns the positive square root of x.
+
unsigned int floor_log2(unsigned int x)
Returns the floor log2 of x.
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:171
+
signed int sint
32bit signed integer.
Definition: gtx/integer.hpp:81
+
GLM_FUNC_DECL genType mod(genType const &x, genType const &y)
Modulus.
+
GLM_FUNC_DECL genType log2(genType const &x)
Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...
+
genType factorial(genType const &x)
Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension...
+
GLM_FUNC_DECL genType pow(genType const &base, genType const &exponent)
Returns &#39;base&#39; raised to the power &#39;exponent&#39;.
+
uint nlz(uint x)
Returns the number of leading zeros.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00050.html glm-0.9.5.1/doc/api/a00050.html --- glm-0.9.4.6/doc/api/a00050.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00050.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,78 +1,74 @@ - - - - - -log_base.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
log_base.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - -

-Functions

template<typename genType >
genType log (genType const &x, genType const &base)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_log_base

-
Date
2008-10-24 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file log_base.hpp.

-
- - - - + + + + + + +GLM: integer.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
integer.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file integer.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00050_source.html glm-0.9.5.1/doc/api/a00050_source.html --- glm-0.9.4.6/doc/api/a00050_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00050_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,116 +1,69 @@ - - - - - -log_base.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
log_base.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_log_base
-
39 #define GLM_GTX_log_base GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_log_base extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename genType>
-
56  genType log(
-
57  genType const & x,
-
58  genType const & base);
-
59 
-
61 }//namespace glm
-
62 
-
63 #include "log_base.inl"
-
64 
-
65 #endif//GLM_GTX_log_base
-
- - - - + + + + + + +GLM: integer.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
integer.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_INTEGER_INCLUDED
+
30 #define GLM_INTEGER_INCLUDED
+
31 
+
32 #include "detail/func_integer.hpp"
+
33 
+
34 #endif//GLM_INTEGER_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00051.html glm-0.9.5.1/doc/api/a00051.html --- glm-0.9.4.6/doc/api/a00051.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00051.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,107 @@ + + + + + + +GLM: intersect.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
intersect.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 
template<typename genType >
bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename genType >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 
template<typename genType >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_intersect

+
Date
2007-04-03 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_closest_point (dependence)
+ +

Definition in file intersect.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00051_source.html glm-0.9.5.1/doc/api/a00051_source.html --- glm-0.9.4.6/doc/api/a00051_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00051_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,1871 +1,124 @@ - - - - - -man.doxy Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
man.doxy
-
-
-
1 # Doxyfile 1.8.2
-
2 
-
3 # This file describes the settings to be used by the documentation system
-
4 # doxygen (www.doxygen.org) for a project
-
5 #
-
6 # All text after a hash (#) is considered a comment and will be ignored
-
7 # The format is:
-
8 # TAG = value [value, ...]
-
9 # For lists items can also be appended using:
-
10 # TAG += value [value, ...]
-
11 # Values that contain spaces should be placed between quotes (" ")
-
12 
-
13 #---------------------------------------------------------------------------
-
14 # Project related configuration options
-
15 #---------------------------------------------------------------------------
-
16 
-
17 # This tag specifies the encoding used for all characters in the config file
-
18 # that follow. The default is UTF-8 which is also the encoding used for all
-
19 # text before the first occurrence of this tag. Doxygen uses libiconv (or the
-
20 # iconv built into libc) for the transcoding. See
-
21 # http://www.gnu.org/software/libiconv for the list of possible encodings.
-
22 
-
23 DOXYFILE_ENCODING = UTF-8
-
24 
-
25 # The PROJECT_NAME tag is a single word (or sequence of words) that should
-
26 # identify the project. Note that if you do not use Doxywizard you need
-
27 # to put quotes around the project name if it contains spaces.
-
28 
-
29 PROJECT_NAME =
-
30 
-
31 # The PROJECT_NUMBER tag can be used to enter a project or revision number.
-
32 # This could be handy for archiving the generated documentation or
-
33 # if some version control system is used.
-
34 
-
35 PROJECT_NUMBER = 0.9.4
-
36 
-
37 # Using the PROJECT_BRIEF tag one can provide an optional one line description
-
38 # for a project that appears at the top of each page and should give viewer
-
39 # a quick idea about the purpose of the project. Keep the description short.
-
40 
-
41 PROJECT_BRIEF =
-
42 
-
43 # With the PROJECT_LOGO tag one can specify an logo or icon that is
-
44 # included in the documentation. The maximum height of the logo should not
-
45 # exceed 55 pixels and the maximum width should not exceed 200 pixels.
-
46 # Doxygen will copy the logo to the output directory.
-
47 
-
48 PROJECT_LOGO = G:/Repository/glm/doc/logo.png
-
49 
-
50 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-
51 # base path where the generated documentation will be put.
-
52 # If a relative path is entered, it will be relative to the location
-
53 # where doxygen was started. If left blank the current directory will be used.
-
54 
-
55 OUTPUT_DIRECTORY = .
-
56 
-
57 # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-
58 # 4096 sub-directories (in 2 levels) under the output directory of each output
-
59 # format and will distribute the generated files over these directories.
-
60 # Enabling this option can be useful when feeding doxygen a huge amount of
-
61 # source files, where putting all generated files in the same directory would
-
62 # otherwise cause performance problems for the file system.
-
63 
-
64 CREATE_SUBDIRS = NO
-
65 
-
66 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
-
67 # documentation generated by doxygen is written. Doxygen will use this
-
68 # information to generate all constant output in the proper language.
-
69 # The default language is English, other supported languages are:
-
70 # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-
71 # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-
72 # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-
73 # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-
74 # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
-
75 # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
76 
-
77 OUTPUT_LANGUAGE = English
-
78 
-
79 # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-
80 # include brief member descriptions after the members that are listed in
-
81 # the file and class documentation (similar to JavaDoc).
-
82 # Set to NO to disable this.
-
83 
-
84 BRIEF_MEMBER_DESC = NO
-
85 
-
86 # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-
87 # the brief description of a member or function before the detailed description.
-
88 # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-
89 # brief descriptions will be completely suppressed.
-
90 
-
91 REPEAT_BRIEF = YES
-
92 
-
93 # This tag implements a quasi-intelligent brief description abbreviator
-
94 # that is used to form the text in various listings. Each string
-
95 # in this list, if found as the leading text of the brief description, will be
-
96 # stripped from the text and the result after processing the whole list, is
-
97 # used as the annotated text. Otherwise, the brief description is used as-is.
-
98 # If left blank, the following values are used ("$name" is automatically
-
99 # replaced with the name of the entity): "The $name class" "The $name widget"
-
100 # "The $name file" "is" "provides" "specifies" "contains"
-
101 # "represents" "a" "an" "the"
-
102 
-
103 ABBREVIATE_BRIEF = "The $name class " \
-
104  "The $name widget " \
-
105  "The $name file " \
-
106  is \
-
107  provides \
-
108  specifies \
-
109  contains \
-
110  represents \
-
111  a \
-
112  an \
-
113  the
-
114 
-
115 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-
116 # Doxygen will generate a detailed section even if there is only a brief
-
117 # description.
-
118 
-
119 ALWAYS_DETAILED_SEC = NO
-
120 
-
121 # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-
122 # inherited members of a class in the documentation of that class as if those
-
123 # members were ordinary class members. Constructors, destructors and assignment
-
124 # operators of the base classes will not be shown.
-
125 
-
126 INLINE_INHERITED_MEMB = NO
-
127 
-
128 # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-
129 # path before files name in the file list and in the header files. If set
-
130 # to NO the shortest path that makes the file name unique will be used.
-
131 
-
132 FULL_PATH_NAMES = NO
-
133 
-
134 # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-
135 # can be used to strip a user-defined part of the path. Stripping is
-
136 # only done if one of the specified strings matches the left-hand part of
-
137 # the path. The tag can be used to show relative paths in the file list.
-
138 # If left blank the directory from which doxygen is run is used as the
-
139 # path to strip. Note that you specify absolute paths here, but also
-
140 # relative paths, which will be relative from the directory where doxygen is
-
141 # started.
-
142 
-
143 STRIP_FROM_PATH = "C:/Documents and Settings/Groove/ "
-
144 
-
145 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-
146 # the path mentioned in the documentation of a class, which tells
-
147 # the reader which header file to include in order to use a class.
-
148 # If left blank only the name of the header file containing the class
-
149 # definition is used. Otherwise one should specify the include paths that
-
150 # are normally passed to the compiler using the -I flag.
-
151 
-
152 STRIP_FROM_INC_PATH =
-
153 
-
154 # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-
155 # (but less readable) file names. This can be useful if your file system
-
156 # doesn't support long names like on DOS, Mac, or CD-ROM.
-
157 
-
158 SHORT_NAMES = YES
-
159 
-
160 # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-
161 # will interpret the first line (until the first dot) of a JavaDoc-style
-
162 # comment as the brief description. If set to NO, the JavaDoc
-
163 # comments will behave just like regular Qt-style comments
-
164 # (thus requiring an explicit @brief command for a brief description.)
-
165 
-
166 JAVADOC_AUTOBRIEF = YES
-
167 
-
168 # If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-
169 # interpret the first line (until the first dot) of a Qt-style
-
170 # comment as the brief description. If set to NO, the comments
-
171 # will behave just like regular Qt-style comments (thus requiring
-
172 # an explicit \brief command for a brief description.)
-
173 
-
174 QT_AUTOBRIEF = NO
-
175 
-
176 # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-
177 # treat a multi-line C++ special comment block (i.e. a block of
-
178 # comments) as a brief description. This used to be the default behaviour.
-
179 # The new default is to treat a multi-line C++ comment block as a detailed
-
180 # description. Set this tag to YES if you prefer the old behaviour instead.
-
181 
-
182 MULTILINE_CPP_IS_BRIEF = NO
-
183 
-
184 # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-
185 # member inherits the documentation from any documented member that it
-
186 # re-implements.
-
187 
-
188 INHERIT_DOCS = YES
-
189 
-
190 # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-
191 # a new page for each member. If set to NO, the documentation of a member will
-
192 # be part of the file/class/namespace that contains it.
-
193 
-
194 SEPARATE_MEMBER_PAGES = NO
-
195 
-
196 # The TAB_SIZE tag can be used to set the number of spaces in a tab.
-
197 # Doxygen uses this value to replace tabs by spaces in code fragments.
-
198 
-
199 TAB_SIZE = 8
-
200 
-
201 # This tag can be used to specify a number of aliases that acts
-
202 # as commands in the documentation. An alias has the form "name=value".
-
203 # For example adding "sideeffect=\par Side Effects:\n" will allow you to
-
204 # put the command \sideeffect (or @sideeffect) in the documentation, which
-
205 # will result in a user-defined paragraph with heading "Side Effects:".
-
206 # You can put \n's in the value part of an alias to insert newlines.
-
207 
-
208 ALIASES =
-
209 
-
210 # This tag can be used to specify a number of word-keyword mappings (TCL only).
-
211 # A mapping has the form "name=value". For example adding
-
212 # "class=itcl::class" will allow you to use the command class in the
-
213 # itcl::class meaning.
-
214 
-
215 TCL_SUBST =
-
216 
-
217 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-
218 # sources only. Doxygen will then generate output that is more tailored for C.
-
219 # For instance, some of the names that are used will be different. The list
-
220 # of all members will be omitted, etc.
-
221 
-
222 OPTIMIZE_OUTPUT_FOR_C = NO
-
223 
-
224 # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-
225 # sources only. Doxygen will then generate output that is more tailored for
-
226 # Java. For instance, namespaces will be presented as packages, qualified
-
227 # scopes will look different, etc.
-
228 
-
229 OPTIMIZE_OUTPUT_JAVA = NO
-
230 
-
231 # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-
232 # sources only. Doxygen will then generate output that is more tailored for
-
233 # Fortran.
-
234 
-
235 OPTIMIZE_FOR_FORTRAN = NO
-
236 
-
237 # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-
238 # sources. Doxygen will then generate output that is tailored for
-
239 # VHDL.
-
240 
-
241 OPTIMIZE_OUTPUT_VHDL = NO
-
242 
-
243 # Doxygen selects the parser to use depending on the extension of the files it
-
244 # parses. With this tag you can assign which parser to use for a given
-
245 # extension. Doxygen has a built-in mapping, but you can override or extend it
-
246 # using this tag. The format is ext=language, where ext is a file extension,
-
247 # and language is one of the parsers supported by doxygen: IDL, Java,
-
248 # Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C,
-
249 # C++. For instance to make doxygen treat .inc files as Fortran files (default
-
250 # is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note
-
251 # that for custom extensions you also need to set FILE_PATTERNS otherwise the
-
252 # files are not read by doxygen.
-
253 
-
254 EXTENSION_MAPPING =
-
255 
-
256 # If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all
-
257 # comments according to the Markdown format, which allows for more readable
-
258 # documentation. See http://daringfireball.net/projects/markdown/ for details.
-
259 # The output of markdown processing is further processed by doxygen, so you
-
260 # can mix doxygen, HTML, and XML commands with Markdown formatting.
-
261 # Disable only in case of backward compatibilities issues.
-
262 
-
263 MARKDOWN_SUPPORT = YES
-
264 
-
265 # When enabled doxygen tries to link words that correspond to documented classes,
-
266 # or namespaces to their corresponding documentation. Such a link can be
-
267 # prevented in individual cases by by putting a % sign in front of the word or
-
268 # globally by setting AUTOLINK_SUPPORT to NO.
-
269 
-
270 AUTOLINK_SUPPORT = YES
-
271 
-
272 # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-
273 # to include (a tag file for) the STL sources as input, then you should
-
274 # set this tag to YES in order to let doxygen match functions declarations and
-
275 # definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-
276 # func(std::string) {}). This also makes the inheritance and collaboration
-
277 # diagrams that involve STL classes more complete and accurate.
-
278 
-
279 BUILTIN_STL_SUPPORT = NO
-
280 
-
281 # If you use Microsoft's C++/CLI language, you should set this option to YES to
-
282 # enable parsing support.
-
283 
-
284 CPP_CLI_SUPPORT = NO
-
285 
-
286 # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-
287 # Doxygen will parse them like normal C++ but will assume all classes use public
-
288 # instead of private inheritance when no explicit protection keyword is present.
-
289 
-
290 SIP_SUPPORT = NO
-
291 
-
292 # For Microsoft's IDL there are propget and propput attributes to indicate
-
293 # getter and setter methods for a property. Setting this option to YES (the
-
294 # default) will make doxygen replace the get and set methods by a property in
-
295 # the documentation. This will only work if the methods are indeed getting or
-
296 # setting a simple type. If this is not the case, or you want to show the
-
297 # methods anyway, you should set this option to NO.
-
298 
-
299 IDL_PROPERTY_SUPPORT = YES
-
300 
-
301 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-
302 # tag is set to YES, then doxygen will reuse the documentation of the first
-
303 # member in the group (if any) for the other members of the group. By default
-
304 # all members of a group must be documented explicitly.
-
305 
-
306 DISTRIBUTE_GROUP_DOC = NO
-
307 
-
308 # Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-
309 # the same type (for instance a group of public functions) to be put as a
-
310 # subgroup of that type (e.g. under the Public Functions section). Set it to
-
311 # NO to prevent subgrouping. Alternatively, this can be done per class using
-
312 # the \nosubgrouping command.
-
313 
-
314 SUBGROUPING = NO
-
315 
-
316 # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
-
317 # unions are shown inside the group in which they are included (e.g. using
-
318 # @ingroup) instead of on a separate page (for HTML and Man pages) or
-
319 # section (for LaTeX and RTF).
-
320 
-
321 INLINE_GROUPED_CLASSES = NO
-
322 
-
323 # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
-
324 # unions with only public data fields will be shown inline in the documentation
-
325 # of the scope in which they are defined (i.e. file, namespace, or group
-
326 # documentation), provided this scope is documented. If set to NO (the default),
-
327 # structs, classes, and unions are shown on a separate page (for HTML and Man
-
328 # pages) or section (for LaTeX and RTF).
-
329 
-
330 INLINE_SIMPLE_STRUCTS = NO
-
331 
-
332 # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-
333 # is documented as struct, union, or enum with the name of the typedef. So
-
334 # typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-
335 # with name TypeT. When disabled the typedef will appear as a member of a file,
-
336 # namespace, or class. And the struct will be named TypeS. This can typically
-
337 # be useful for C code in case the coding convention dictates that all compound
-
338 # types are typedef'ed and only the typedef is referenced, never the tag name.
-
339 
-
340 TYPEDEF_HIDES_STRUCT = NO
-
341 
-
342 # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-
343 # determine which symbols to keep in memory and which to flush to disk.
-
344 # When the cache is full, less often used symbols will be written to disk.
-
345 # For small to medium size projects (<1000 input files) the default value is
-
346 # probably good enough. For larger projects a too small cache size can cause
-
347 # doxygen to be busy swapping symbols to and from disk most of the time
-
348 # causing a significant performance penalty.
-
349 # If the system has enough physical memory increasing the cache will improve the
-
350 # performance by keeping more symbols in memory. Note that the value works on
-
351 # a logarithmic scale so increasing the size by one will roughly double the
-
352 # memory usage. The cache size is given by this formula:
-
353 # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-
354 # corresponding to a cache size of 2^16 = 65536 symbols.
-
355 
-
356 SYMBOL_CACHE_SIZE = 0
-
357 
-
358 # Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
-
359 # set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
-
360 # their name and scope. Since this can be an expensive process and often the
-
361 # same symbol appear multiple times in the code, doxygen keeps a cache of
-
362 # pre-resolved symbols. If the cache is too small doxygen will become slower.
-
363 # If the cache is too large, memory is wasted. The cache size is given by this
-
364 # formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
-
365 # corresponding to a cache size of 2^16 = 65536 symbols.
-
366 
-
367 LOOKUP_CACHE_SIZE = 0
-
368 
-
369 #---------------------------------------------------------------------------
-
370 # Build related configuration options
-
371 #---------------------------------------------------------------------------
-
372 
-
373 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-
374 # documentation are documented, even if no documentation was available.
-
375 # Private class members and static file members will be hidden unless
-
376 # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
377 
-
378 EXTRACT_ALL = NO
-
379 
-
380 # If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-
381 # will be included in the documentation.
-
382 
-
383 EXTRACT_PRIVATE = NO
-
384 
-
385 # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
-
386 # scope will be included in the documentation.
-
387 
-
388 EXTRACT_PACKAGE = NO
-
389 
-
390 # If the EXTRACT_STATIC tag is set to YES all static members of a file
-
391 # will be included in the documentation.
-
392 
-
393 EXTRACT_STATIC = YES
-
394 
-
395 # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-
396 # defined locally in source files will be included in the documentation.
-
397 # If set to NO only classes defined in header files are included.
-
398 
-
399 EXTRACT_LOCAL_CLASSES = NO
-
400 
-
401 # This flag is only useful for Objective-C code. When set to YES local
-
402 # methods, which are defined in the implementation section but not in
-
403 # the interface are included in the documentation.
-
404 # If set to NO (the default) only methods in the interface are included.
-
405 
-
406 EXTRACT_LOCAL_METHODS = NO
-
407 
-
408 # If this flag is set to YES, the members of anonymous namespaces will be
-
409 # extracted and appear in the documentation as a namespace called
-
410 # 'anonymous_namespace{file}', where file will be replaced with the base
-
411 # name of the file that contains the anonymous namespace. By default
-
412 # anonymous namespaces are hidden.
-
413 
-
414 EXTRACT_ANON_NSPACES = NO
-
415 
-
416 # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-
417 # undocumented members of documented classes, files or namespaces.
-
418 # If set to NO (the default) these members will be included in the
-
419 # various overviews, but no documentation section is generated.
-
420 # This option has no effect if EXTRACT_ALL is enabled.
-
421 
-
422 HIDE_UNDOC_MEMBERS = YES
-
423 
-
424 # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-
425 # undocumented classes that are normally visible in the class hierarchy.
-
426 # If set to NO (the default) these classes will be included in the various
-
427 # overviews. This option has no effect if EXTRACT_ALL is enabled.
-
428 
-
429 HIDE_UNDOC_CLASSES = YES
-
430 
-
431 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-
432 # friend (class|struct|union) declarations.
-
433 # If set to NO (the default) these declarations will be included in the
-
434 # documentation.
-
435 
-
436 HIDE_FRIEND_COMPOUNDS = YES
-
437 
-
438 # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-
439 # documentation blocks found inside the body of a function.
-
440 # If set to NO (the default) these blocks will be appended to the
-
441 # function's detailed documentation block.
-
442 
-
443 HIDE_IN_BODY_DOCS = YES
-
444 
-
445 # The INTERNAL_DOCS tag determines if documentation
-
446 # that is typed after a \internal command is included. If the tag is set
-
447 # to NO (the default) then the documentation will be excluded.
-
448 # Set it to YES to include the internal documentation.
-
449 
-
450 INTERNAL_DOCS = NO
-
451 
-
452 # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-
453 # file names in lower-case letters. If set to YES upper-case letters are also
-
454 # allowed. This is useful if you have classes or files whose names only differ
-
455 # in case and if your file system supports case sensitive file names. Windows
-
456 # and Mac users are advised to set this option to NO.
-
457 
-
458 CASE_SENSE_NAMES = YES
-
459 
-
460 # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-
461 # will show members with their full class and namespace scopes in the
-
462 # documentation. If set to YES the scope will be hidden.
-
463 
-
464 HIDE_SCOPE_NAMES = YES
-
465 
-
466 # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-
467 # will put a list of the files that are included by a file in the documentation
-
468 # of that file.
-
469 
-
470 SHOW_INCLUDE_FILES = NO
-
471 
-
472 # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-
473 # will list include files with double quotes in the documentation
-
474 # rather than with sharp brackets.
-
475 
-
476 FORCE_LOCAL_INCLUDES = NO
-
477 
-
478 # If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-
479 # is inserted in the documentation for inline members.
-
480 
-
481 INLINE_INFO = NO
-
482 
-
483 # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-
484 # will sort the (detailed) documentation of file and class members
-
485 # alphabetically by member name. If set to NO the members will appear in
-
486 # declaration order.
-
487 
-
488 SORT_MEMBER_DOCS = YES
-
489 
-
490 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-
491 # brief documentation of file, namespace and class members alphabetically
-
492 # by member name. If set to NO (the default) the members will appear in
-
493 # declaration order.
-
494 
-
495 SORT_BRIEF_DOCS = YES
-
496 
-
497 # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
-
498 # will sort the (brief and detailed) documentation of class members so that
-
499 # constructors and destructors are listed first. If set to NO (the default)
-
500 # the constructors will appear in the respective orders defined by
-
501 # SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
-
502 # This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
-
503 # and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
504 
-
505 SORT_MEMBERS_CTORS_1ST = NO
-
506 
-
507 # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-
508 # hierarchy of group names into alphabetical order. If set to NO (the default)
-
509 # the group names will appear in their defined order.
-
510 
-
511 SORT_GROUP_NAMES = NO
-
512 
-
513 # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-
514 # sorted by fully-qualified names, including namespaces. If set to
-
515 # NO (the default), the class list will be sorted only by class name,
-
516 # not including the namespace part.
-
517 # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-
518 # Note: This option applies only to the class list, not to the
-
519 # alphabetical list.
-
520 
-
521 SORT_BY_SCOPE_NAME = YES
-
522 
-
523 # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
-
524 # do proper type resolution of all parameters of a function it will reject a
-
525 # match between the prototype and the implementation of a member function even
-
526 # if there is only one candidate or it is obvious which candidate to choose
-
527 # by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
-
528 # will still accept a match between prototype and implementation in such cases.
-
529 
-
530 STRICT_PROTO_MATCHING = NO
-
531 
-
532 # The GENERATE_TODOLIST tag can be used to enable (YES) or
-
533 # disable (NO) the todo list. This list is created by putting \todo
-
534 # commands in the documentation.
-
535 
-
536 GENERATE_TODOLIST = YES
-
537 
-
538 # The GENERATE_TESTLIST tag can be used to enable (YES) or
-
539 # disable (NO) the test list. This list is created by putting \test
-
540 # commands in the documentation.
-
541 
-
542 GENERATE_TESTLIST = YES
-
543 
-
544 # The GENERATE_BUGLIST tag can be used to enable (YES) or
-
545 # disable (NO) the bug list. This list is created by putting \bug
-
546 # commands in the documentation.
-
547 
-
548 GENERATE_BUGLIST = YES
-
549 
-
550 # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-
551 # disable (NO) the deprecated list. This list is created by putting
-
552 # \deprecated commands in the documentation.
-
553 
-
554 GENERATE_DEPRECATEDLIST= YES
-
555 
-
556 # The ENABLED_SECTIONS tag can be used to enable conditional
-
557 # documentation sections, marked by \if sectionname ... \endif.
-
558 
-
559 ENABLED_SECTIONS =
-
560 
-
561 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-
562 # the initial value of a variable or macro consists of for it to appear in
-
563 # the documentation. If the initializer consists of more lines than specified
-
564 # here it will be hidden. Use a value of 0 to hide initializers completely.
-
565 # The appearance of the initializer of individual variables and macros in the
-
566 # documentation can be controlled using \showinitializer or \hideinitializer
-
567 # command in the documentation regardless of this setting.
-
568 
-
569 MAX_INITIALIZER_LINES = 30
-
570 
-
571 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-
572 # at the bottom of the documentation of classes and structs. If set to YES the
-
573 # list will mention the files that were used to generate the documentation.
-
574 
-
575 SHOW_USED_FILES = NO
-
576 
-
577 # Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-
578 # This will remove the Files entry from the Quick Index and from the
-
579 # Folder Tree View (if specified). The default is YES.
-
580 
-
581 SHOW_FILES = YES
-
582 
-
583 # Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-
584 # Namespaces page. This will remove the Namespaces entry from the Quick Index
-
585 # and from the Folder Tree View (if specified). The default is YES.
-
586 
-
587 SHOW_NAMESPACES = YES
-
588 
-
589 # The FILE_VERSION_FILTER tag can be used to specify a program or script that
-
590 # doxygen should invoke to get the current version for each file (typically from
-
591 # the version control system). Doxygen will invoke the program by executing (via
-
592 # popen()) the command <command> <input-file>, where <command> is the value of
-
593 # the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-
594 # provided by doxygen. Whatever the program writes to standard output
-
595 # is used as the file version. See the manual for examples.
-
596 
-
597 FILE_VERSION_FILTER =
-
598 
-
599 # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-
600 # by doxygen. The layout file controls the global structure of the generated
-
601 # output files in an output format independent way. To create the layout file
-
602 # that represents doxygen's defaults, run doxygen with the -l option.
-
603 # You can optionally specify a file name after the option, if omitted
-
604 # DoxygenLayout.xml will be used as the name of the layout file.
-
605 
-
606 LAYOUT_FILE =
-
607 
-
608 # The CITE_BIB_FILES tag can be used to specify one or more bib files
-
609 # containing the references data. This must be a list of .bib files. The
-
610 # .bib extension is automatically appended if omitted. Using this command
-
611 # requires the bibtex tool to be installed. See also
-
612 # http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
-
613 # of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
-
614 # feature you need bibtex and perl available in the search path.
-
615 
-
616 CITE_BIB_FILES =
-
617 
-
618 #---------------------------------------------------------------------------
-
619 # configuration options related to warning and progress messages
-
620 #---------------------------------------------------------------------------
-
621 
-
622 # The QUIET tag can be used to turn on/off the messages that are generated
-
623 # by doxygen. Possible values are YES and NO. If left blank NO is used.
-
624 
-
625 QUIET = NO
-
626 
-
627 # The WARNINGS tag can be used to turn on/off the warning messages that are
-
628 # generated by doxygen. Possible values are YES and NO. If left blank
-
629 # NO is used.
-
630 
-
631 WARNINGS = YES
-
632 
-
633 # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-
634 # for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-
635 # automatically be disabled.
-
636 
-
637 WARN_IF_UNDOCUMENTED = YES
-
638 
-
639 # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-
640 # potential errors in the documentation, such as not documenting some
-
641 # parameters in a documented function, or documenting parameters that
-
642 # don't exist or using markup commands wrongly.
-
643 
-
644 WARN_IF_DOC_ERROR = YES
-
645 
-
646 # The WARN_NO_PARAMDOC option can be enabled to get warnings for
-
647 # functions that are documented, but have no documentation for their parameters
-
648 # or return value. If set to NO (the default) doxygen will only warn about
-
649 # wrong or incomplete parameter documentation, but not about the absence of
-
650 # documentation.
-
651 
-
652 WARN_NO_PARAMDOC = NO
-
653 
-
654 # The WARN_FORMAT tag determines the format of the warning messages that
-
655 # doxygen can produce. The string should contain the $file, $line, and $text
-
656 # tags, which will be replaced by the file and line number from which the
-
657 # warning originated and the warning text. Optionally the format may contain
-
658 # $version, which will be replaced by the version of the file (if it could
-
659 # be obtained via FILE_VERSION_FILTER)
-
660 
-
661 WARN_FORMAT = "$file:$line: $text"
-
662 
-
663 # The WARN_LOGFILE tag can be used to specify a file to which warning
-
664 # and error messages should be written. If left blank the output is written
-
665 # to stderr.
-
666 
-
667 WARN_LOGFILE =
-
668 
-
669 #---------------------------------------------------------------------------
-
670 # configuration options related to the input files
-
671 #---------------------------------------------------------------------------
-
672 
-
673 # The INPUT tag can be used to specify the files and/or directories that contain
-
674 # documented source files. You may enter file names like "myfile.cpp" or
-
675 # directories like "/usr/src/myproject". Separate the files or directories
-
676 # with spaces.
-
677 
-
678 INPUT = ../glm \
-
679  .
-
680 
-
681 # This tag can be used to specify the character encoding of the source files
-
682 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-
683 # also the default input encoding. Doxygen uses libiconv (or the iconv built
-
684 # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-
685 # the list of possible encodings.
-
686 
-
687 INPUT_ENCODING = UTF-8
-
688 
-
689 # If the value of the INPUT tag contains directories, you can use the
-
690 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-
691 # and *.h) to filter out the source-files in the directories. If left
-
692 # blank the following patterns are tested:
-
693 # *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
-
694 # *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
-
695 # *.f90 *.f *.for *.vhd *.vhdl
-
696 
-
697 FILE_PATTERNS = *.hpp \
-
698  *.doxy
-
699 
-
700 # The RECURSIVE tag can be used to turn specify whether or not subdirectories
-
701 # should be searched for input files as well. Possible values are YES and NO.
-
702 # If left blank NO is used.
-
703 
-
704 RECURSIVE = YES
-
705 
-
706 # The EXCLUDE tag can be used to specify files and/or directories that should be
-
707 # excluded from the INPUT source files. This way you can easily exclude a
-
708 # subdirectory from a directory tree whose root is specified with the INPUT tag.
-
709 # Note that relative paths are relative to the directory from which doxygen is
-
710 # run.
-
711 
-
712 EXCLUDE =
-
713 
-
714 # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
-
715 # directories that are symbolic links (a Unix file system feature) are excluded
-
716 # from the input.
-
717 
-
718 EXCLUDE_SYMLINKS = NO
-
719 
-
720 # If the value of the INPUT tag contains directories, you can use the
-
721 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-
722 # certain files from those directories. Note that the wildcards are matched
-
723 # against the file with absolute path, so to exclude all test directories
-
724 # for example use the pattern */test/*
-
725 
-
726 EXCLUDE_PATTERNS =
-
727 
-
728 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-
729 # (namespaces, classes, functions, etc.) that should be excluded from the
-
730 # output. The symbol name can be a fully qualified name, a word, or if the
-
731 # wildcard * is used, a substring. Examples: ANamespace, AClass,
-
732 # AClass::ANamespace, ANamespace::*Test
-
733 
-
734 EXCLUDE_SYMBOLS =
-
735 
-
736 # The EXAMPLE_PATH tag can be used to specify one or more files or
-
737 # directories that contain example code fragments that are included (see
-
738 # the \include command).
-
739 
-
740 EXAMPLE_PATH =
-
741 
-
742 # If the value of the EXAMPLE_PATH tag contains directories, you can use the
-
743 # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-
744 # and *.h) to filter out the source-files in the directories. If left
-
745 # blank all files are included.
-
746 
-
747 EXAMPLE_PATTERNS = *
-
748 
-
749 # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-
750 # searched for input files to be used with the \include or \dontinclude
-
751 # commands irrespective of the value of the RECURSIVE tag.
-
752 # Possible values are YES and NO. If left blank NO is used.
-
753 
-
754 EXAMPLE_RECURSIVE = NO
-
755 
-
756 # The IMAGE_PATH tag can be used to specify one or more files or
-
757 # directories that contain image that are included in the documentation (see
-
758 # the \image command).
-
759 
-
760 IMAGE_PATH =
-
761 
-
762 # The INPUT_FILTER tag can be used to specify a program that doxygen should
-
763 # invoke to filter for each input file. Doxygen will invoke the filter program
-
764 # by executing (via popen()) the command <filter> <input-file>, where <filter>
-
765 # is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-
766 # input file. Doxygen will then use the output that the filter program writes
-
767 # to standard output. If FILTER_PATTERNS is specified, this tag will be
-
768 # ignored.
-
769 
-
770 INPUT_FILTER =
-
771 
-
772 # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-
773 # basis. Doxygen will compare the file name with each pattern and apply the
-
774 # filter if there is a match. The filters are a list of the form:
-
775 # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-
776 # info on how filters are used. If FILTER_PATTERNS is empty or if
-
777 # non of the patterns match the file name, INPUT_FILTER is applied.
-
778 
-
779 FILTER_PATTERNS =
-
780 
-
781 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-
782 # INPUT_FILTER) will be used to filter the input files when producing source
-
783 # files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
784 
-
785 FILTER_SOURCE_FILES = NO
-
786 
-
787 # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-
788 # pattern. A pattern will override the setting for FILTER_PATTERN (if any)
-
789 # and it is also possible to disable source filtering for a specific pattern
-
790 # using *.ext= (so without naming a filter). This option only has effect when
-
791 # FILTER_SOURCE_FILES is enabled.
-
792 
-
793 FILTER_SOURCE_PATTERNS =
-
794 
-
795 #---------------------------------------------------------------------------
-
796 # configuration options related to source browsing
-
797 #---------------------------------------------------------------------------
-
798 
-
799 # If the SOURCE_BROWSER tag is set to YES then a list of source files will
-
800 # be generated. Documented entities will be cross-referenced with these sources.
-
801 # Note: To get rid of all source code in the generated output, make sure also
-
802 # VERBATIM_HEADERS is set to NO.
-
803 
-
804 SOURCE_BROWSER = YES
-
805 
-
806 # Setting the INLINE_SOURCES tag to YES will include the body
-
807 # of functions and classes directly in the documentation.
-
808 
-
809 INLINE_SOURCES = NO
-
810 
-
811 # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-
812 # doxygen to hide any special comment blocks from generated source code
-
813 # fragments. Normal C, C++ and Fortran comments will always remain visible.
-
814 
-
815 STRIP_CODE_COMMENTS = YES
-
816 
-
817 # If the REFERENCED_BY_RELATION tag is set to YES
-
818 # then for each documented function all documented
-
819 # functions referencing it will be listed.
-
820 
-
821 REFERENCED_BY_RELATION = YES
-
822 
-
823 # If the REFERENCES_RELATION tag is set to YES
-
824 # then for each documented function all documented entities
-
825 # called/used by that function will be listed.
-
826 
-
827 REFERENCES_RELATION = YES
-
828 
-
829 # If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-
830 # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-
831 # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-
832 # link to the source code. Otherwise they will link to the documentation.
-
833 
-
834 REFERENCES_LINK_SOURCE = YES
-
835 
-
836 # If the USE_HTAGS tag is set to YES then the references to source code
-
837 # will point to the HTML generated by the htags(1) tool instead of doxygen
-
838 # built-in source browser. The htags tool is part of GNU's global source
-
839 # tagging system (see http://www.gnu.org/software/global/global.html). You
-
840 # will need version 4.8.6 or higher.
-
841 
-
842 USE_HTAGS = NO
-
843 
-
844 # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-
845 # will generate a verbatim copy of the header file for each class for
-
846 # which an include is specified. Set to NO to disable this.
-
847 
-
848 VERBATIM_HEADERS = YES
-
849 
-
850 #---------------------------------------------------------------------------
-
851 # configuration options related to the alphabetical class index
-
852 #---------------------------------------------------------------------------
-
853 
-
854 # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-
855 # of all compounds will be generated. Enable this if the project
-
856 # contains a lot of classes, structs, unions or interfaces.
-
857 
-
858 ALPHABETICAL_INDEX = NO
-
859 
-
860 # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-
861 # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-
862 # in which this list will be split (can be a number in the range [1..20])
-
863 
-
864 COLS_IN_ALPHA_INDEX = 5
-
865 
-
866 # In case all classes in a project start with a common prefix, all
-
867 # classes will be put under the same header in the alphabetical index.
-
868 # The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-
869 # should be ignored while generating the index headers.
-
870 
-
871 IGNORE_PREFIX =
-
872 
-
873 #---------------------------------------------------------------------------
-
874 # configuration options related to the HTML output
-
875 #---------------------------------------------------------------------------
-
876 
-
877 # If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-
878 # generate HTML output.
-
879 
-
880 GENERATE_HTML = YES
-
881 
-
882 # The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-
883 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
-
884 # put in front of it. If left blank `html' will be used as the default path.
-
885 
-
886 HTML_OUTPUT = html
-
887 
-
888 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-
889 # each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-
890 # doxygen will generate files with .html extension.
-
891 
-
892 HTML_FILE_EXTENSION = .html
-
893 
-
894 # The HTML_HEADER tag can be used to specify a personal HTML header for
-
895 # each generated HTML page. If it is left blank doxygen will generate a
-
896 # standard header. Note that when using a custom header you are responsible
-
897 # for the proper inclusion of any scripts and style sheets that doxygen
-
898 # needs, which is dependent on the configuration options used.
-
899 # It is advised to generate a default header using "doxygen -w html
-
900 # header.html footer.html stylesheet.css YourConfigFile" and then modify
-
901 # that header. Note that the header is subject to change so you typically
-
902 # have to redo this when upgrading to a newer version of doxygen or when
-
903 # changing the value of configuration settings such as GENERATE_TREEVIEW!
-
904 
-
905 HTML_HEADER =
-
906 
-
907 # The HTML_FOOTER tag can be used to specify a personal HTML footer for
-
908 # each generated HTML page. If it is left blank doxygen will generate a
-
909 # standard footer.
-
910 
-
911 HTML_FOOTER =
-
912 
-
913 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-
914 # style sheet that is used by each HTML page. It can be used to
-
915 # fine-tune the look of the HTML output. If left blank doxygen will
-
916 # generate a default style sheet. Note that it is recommended to use
-
917 # HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this
-
918 # tag will in the future become obsolete.
-
919 
-
920 HTML_STYLESHEET =
-
921 
-
922 # The HTML_EXTRA_STYLESHEET tag can be used to specify an additional
-
923 # user-defined cascading style sheet that is included after the standard
-
924 # style sheets created by doxygen. Using this option one can overrule
-
925 # certain style aspects. This is preferred over using HTML_STYLESHEET
-
926 # since it does not replace the standard style sheet and is therefor more
-
927 # robust against future updates. Doxygen will copy the style sheet file to
-
928 # the output directory.
-
929 
-
930 HTML_EXTRA_STYLESHEET =
-
931 
-
932 # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-
933 # other source files which should be copied to the HTML output directory. Note
-
934 # that these files will be copied to the base HTML output directory. Use the
-
935 # $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-
936 # files. In the HTML_STYLESHEET file, use the file name only. Also note that
-
937 # the files will be copied as-is; there are no commands or markers available.
-
938 
-
939 HTML_EXTRA_FILES =
-
940 
-
941 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
-
942 # Doxygen will adjust the colors in the style sheet and background images
-
943 # according to this color. Hue is specified as an angle on a colorwheel,
-
944 # see http://en.wikipedia.org/wiki/Hue for more information.
-
945 # For instance the value 0 represents red, 60 is yellow, 120 is green,
-
946 # 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
-
947 # The allowed range is 0 to 359.
-
948 
-
949 HTML_COLORSTYLE_HUE = 220
-
950 
-
951 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
-
952 # the colors in the HTML output. For a value of 0 the output will use
-
953 # grayscales only. A value of 255 will produce the most vivid colors.
-
954 
-
955 HTML_COLORSTYLE_SAT = 100
-
956 
-
957 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
-
958 # the luminance component of the colors in the HTML output. Values below
-
959 # 100 gradually make the output lighter, whereas values above 100 make
-
960 # the output darker. The value divided by 100 is the actual gamma applied,
-
961 # so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
-
962 # and 100 does not change the gamma.
-
963 
-
964 HTML_COLORSTYLE_GAMMA = 80
-
965 
-
966 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-
967 # page will contain the date and time when the page was generated. Setting
-
968 # this to NO can help when comparing the output of multiple runs.
-
969 
-
970 HTML_TIMESTAMP = NO
-
971 
-
972 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-
973 # documentation will contain sections that can be hidden and shown after the
-
974 # page has loaded.
-
975 
-
976 HTML_DYNAMIC_SECTIONS = NO
-
977 
-
978 # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of
-
979 # entries shown in the various tree structured indices initially; the user
-
980 # can expand and collapse entries dynamically later on. Doxygen will expand
-
981 # the tree to such a level that at most the specified number of entries are
-
982 # visible (unless a fully collapsed tree already exceeds this amount).
-
983 # So setting the number of entries 1 will produce a full collapsed tree by
-
984 # default. 0 is a special value representing an infinite number of entries
-
985 # and will result in a full expanded tree by default.
-
986 
-
987 HTML_INDEX_NUM_ENTRIES = 100
-
988 
-
989 # If the GENERATE_DOCSET tag is set to YES, additional index files
-
990 # will be generated that can be used as input for Apple's Xcode 3
-
991 # integrated development environment, introduced with OSX 10.5 (Leopard).
-
992 # To create a documentation set, doxygen will generate a Makefile in the
-
993 # HTML output directory. Running make will produce the docset in that
-
994 # directory and running "make install" will install the docset in
-
995 # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-
996 # it at startup.
-
997 # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-
998 # for more information.
-
999 
-
1000 GENERATE_DOCSET = NO
-
1001 
-
1002 # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-
1003 # feed. A documentation feed provides an umbrella under which multiple
-
1004 # documentation sets from a single provider (such as a company or product suite)
-
1005 # can be grouped.
-
1006 
-
1007 DOCSET_FEEDNAME = "Doxygen generated docs"
-
1008 
-
1009 # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-
1010 # should uniquely identify the documentation set bundle. This should be a
-
1011 # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-
1012 # will append .docset to the name.
-
1013 
-
1014 DOCSET_BUNDLE_ID = org.doxygen.Project
-
1015 
-
1016 # When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely
-
1017 # identify the documentation publisher. This should be a reverse domain-name
-
1018 # style string, e.g. com.mycompany.MyDocSet.documentation.
-
1019 
-
1020 DOCSET_PUBLISHER_ID = org.doxygen.Publisher
-
1021 
-
1022 # The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
-
1023 
-
1024 DOCSET_PUBLISHER_NAME = Publisher
-
1025 
-
1026 # If the GENERATE_HTMLHELP tag is set to YES, additional index files
-
1027 # will be generated that can be used as input for tools like the
-
1028 # Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-
1029 # of the generated HTML documentation.
-
1030 
-
1031 GENERATE_HTMLHELP = NO
-
1032 
-
1033 # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-
1034 # be used to specify the file name of the resulting .chm file. You
-
1035 # can add a path in front of the file if the result should not be
-
1036 # written to the html output directory.
-
1037 
-
1038 CHM_FILE =
-
1039 
-
1040 # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-
1041 # be used to specify the location (absolute path including file name) of
-
1042 # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-
1043 # the HTML help compiler on the generated index.hhp.
-
1044 
-
1045 HHC_LOCATION =
-
1046 
-
1047 # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-
1048 # controls if a separate .chi index file is generated (YES) or that
-
1049 # it should be included in the master .chm file (NO).
-
1050 
-
1051 GENERATE_CHI = NO
-
1052 
-
1053 # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-
1054 # is used to encode HtmlHelp index (hhk), content (hhc) and project file
-
1055 # content.
-
1056 
-
1057 CHM_INDEX_ENCODING =
-
1058 
-
1059 # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-
1060 # controls whether a binary table of contents is generated (YES) or a
-
1061 # normal table of contents (NO) in the .chm file.
-
1062 
-
1063 BINARY_TOC = NO
-
1064 
-
1065 # The TOC_EXPAND flag can be set to YES to add extra items for group members
-
1066 # to the contents of the HTML help documentation and to the tree view.
-
1067 
-
1068 TOC_EXPAND = NO
-
1069 
-
1070 # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-
1071 # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
-
1072 # that can be used as input for Qt's qhelpgenerator to generate a
-
1073 # Qt Compressed Help (.qch) of the generated HTML documentation.
-
1074 
-
1075 GENERATE_QHP = NO
-
1076 
-
1077 # If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-
1078 # be used to specify the file name of the resulting .qch file.
-
1079 # The path specified is relative to the HTML output folder.
-
1080 
-
1081 QCH_FILE =
-
1082 
-
1083 # The QHP_NAMESPACE tag specifies the namespace to use when generating
-
1084 # Qt Help Project output. For more information please see
-
1085 # http://doc.trolltech.com/qthelpproject.html#namespace
-
1086 
-
1087 QHP_NAMESPACE = org.doxygen.Project
-
1088 
-
1089 # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-
1090 # Qt Help Project output. For more information please see
-
1091 # http://doc.trolltech.com/qthelpproject.html#virtual-folders
-
1092 
-
1093 QHP_VIRTUAL_FOLDER = doc
-
1094 
-
1095 # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
-
1096 # add. For more information please see
-
1097 # http://doc.trolltech.com/qthelpproject.html#custom-filters
-
1098 
-
1099 QHP_CUST_FILTER_NAME =
-
1100 
-
1101 # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
-
1102 # custom filter to add. For more information please see
-
1103 # <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
-
1104 # Qt Help Project / Custom Filters</a>.
-
1105 
-
1106 QHP_CUST_FILTER_ATTRS =
-
1107 
-
1108 # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-
1109 # project's
-
1110 # filter section matches.
-
1111 # <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
-
1112 # Qt Help Project / Filter Attributes</a>.
-
1113 
-
1114 QHP_SECT_FILTER_ATTRS =
-
1115 
-
1116 # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-
1117 # be used to specify the location of Qt's qhelpgenerator.
-
1118 # If non-empty doxygen will try to run qhelpgenerator on the generated
-
1119 # .qhp file.
-
1120 
-
1121 QHG_LOCATION =
-
1122 
-
1123 # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-
1124 # will be generated, which together with the HTML files, form an Eclipse help
-
1125 # plugin. To install this plugin and make it available under the help contents
-
1126 # menu in Eclipse, the contents of the directory containing the HTML and XML
-
1127 # files needs to be copied into the plugins directory of eclipse. The name of
-
1128 # the directory within the plugins directory should be the same as
-
1129 # the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
-
1130 # the help appears.
-
1131 
-
1132 GENERATE_ECLIPSEHELP = NO
-
1133 
-
1134 # A unique identifier for the eclipse help plugin. When installing the plugin
-
1135 # the directory name containing the HTML and XML files should also have
-
1136 # this name.
-
1137 
-
1138 ECLIPSE_DOC_ID = org.doxygen.Project
-
1139 
-
1140 # The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
-
1141 # at top of each HTML page. The value NO (the default) enables the index and
-
1142 # the value YES disables it. Since the tabs have the same information as the
-
1143 # navigation tree you can set this option to NO if you already set
-
1144 # GENERATE_TREEVIEW to YES.
-
1145 
-
1146 DISABLE_INDEX = NO
-
1147 
-
1148 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-
1149 # structure should be generated to display hierarchical information.
-
1150 # If the tag value is set to YES, a side panel will be generated
-
1151 # containing a tree-like index structure (just like the one that
-
1152 # is generated for HTML Help). For this to work a browser that supports
-
1153 # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-
1154 # Windows users are probably better off using the HTML help feature.
-
1155 # Since the tree basically has the same information as the tab index you
-
1156 # could consider to set DISABLE_INDEX to NO when enabling this option.
-
1157 
-
1158 GENERATE_TREEVIEW = NO
-
1159 
-
1160 # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
-
1161 # (range [0,1..20]) that doxygen will group on one line in the generated HTML
-
1162 # documentation. Note that a value of 0 will completely suppress the enum
-
1163 # values from appearing in the overview section.
-
1164 
-
1165 ENUM_VALUES_PER_LINE = 4
-
1166 
-
1167 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-
1168 # used to set the initial width (in pixels) of the frame in which the tree
-
1169 # is shown.
-
1170 
-
1171 TREEVIEW_WIDTH = 250
-
1172 
-
1173 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
-
1174 # links to external symbols imported via tag files in a separate window.
-
1175 
-
1176 EXT_LINKS_IN_WINDOW = NO
-
1177 
-
1178 # Use this tag to change the font size of Latex formulas included
-
1179 # as images in the HTML documentation. The default is 10. Note that
-
1180 # when you change the font size after a successful doxygen run you need
-
1181 # to manually remove any form_*.png images from the HTML output directory
-
1182 # to force them to be regenerated.
-
1183 
-
1184 FORMULA_FONTSIZE = 10
-
1185 
-
1186 # Use the FORMULA_TRANPARENT tag to determine whether or not the images
-
1187 # generated for formulas are transparent PNGs. Transparent PNGs are
-
1188 # not supported properly for IE 6.0, but are supported on all modern browsers.
-
1189 # Note that when changing this option you need to delete any form_*.png files
-
1190 # in the HTML output before the changes have effect.
-
1191 
-
1192 FORMULA_TRANSPARENT = YES
-
1193 
-
1194 # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
-
1195 # (see http://www.mathjax.org) which uses client side Javascript for the
-
1196 # rendering instead of using prerendered bitmaps. Use this if you do not
-
1197 # have LaTeX installed or if you want to formulas look prettier in the HTML
-
1198 # output. When enabled you may also need to install MathJax separately and
-
1199 # configure the path to it using the MATHJAX_RELPATH option.
-
1200 
-
1201 USE_MATHJAX = NO
-
1202 
-
1203 # When MathJax is enabled you need to specify the location relative to the
-
1204 # HTML output directory using the MATHJAX_RELPATH option. The destination
-
1205 # directory should contain the MathJax.js script. For instance, if the mathjax
-
1206 # directory is located at the same level as the HTML output directory, then
-
1207 # MATHJAX_RELPATH should be ../mathjax. The default value points to
-
1208 # the MathJax Content Delivery Network so you can quickly see the result without
-
1209 # installing MathJax. However, it is strongly recommended to install a local
-
1210 # copy of MathJax from http://www.mathjax.org before deployment.
-
1211 
-
1212 MATHJAX_RELPATH = http://www.mathjax.org/mathjax
-
1213 
-
1214 # The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
-
1215 # names that should be enabled during MathJax rendering.
-
1216 
-
1217 MATHJAX_EXTENSIONS =
-
1218 
-
1219 # When the SEARCHENGINE tag is enabled doxygen will generate a search box
-
1220 # for the HTML output. The underlying search engine uses javascript
-
1221 # and DHTML and should work on any modern browser. Note that when using
-
1222 # HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
-
1223 # (GENERATE_DOCSET) there is already a search function so this one should
-
1224 # typically be disabled. For large projects the javascript based search engine
-
1225 # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
-
1226 
-
1227 SEARCHENGINE = NO
-
1228 
-
1229 # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-
1230 # implemented using a PHP enabled web server instead of at the web client
-
1231 # using Javascript. Doxygen will generate the search PHP script and index
-
1232 # file to put on the web server. The advantage of the server
-
1233 # based approach is that it scales better to large projects and allows
-
1234 # full text search. The disadvantages are that it is more difficult to setup
-
1235 # and does not have live searching capabilities.
-
1236 
-
1237 SERVER_BASED_SEARCH = NO
-
1238 
-
1239 #---------------------------------------------------------------------------
-
1240 # configuration options related to the LaTeX output
-
1241 #---------------------------------------------------------------------------
-
1242 
-
1243 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-
1244 # generate Latex output.
-
1245 
-
1246 GENERATE_LATEX = NO
-
1247 
-
1248 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-
1249 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
-
1250 # put in front of it. If left blank `latex' will be used as the default path.
-
1251 
-
1252 LATEX_OUTPUT = latex
-
1253 
-
1254 # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-
1255 # invoked. If left blank `latex' will be used as the default command name.
-
1256 # Note that when enabling USE_PDFLATEX this option is only used for
-
1257 # generating bitmaps for formulas in the HTML output, but not in the
-
1258 # Makefile that is written to the output directory.
-
1259 
-
1260 LATEX_CMD_NAME = latex
-
1261 
-
1262 # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-
1263 # generate index for LaTeX. If left blank `makeindex' will be used as the
-
1264 # default command name.
-
1265 
-
1266 MAKEINDEX_CMD_NAME = makeindex
-
1267 
-
1268 # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-
1269 # LaTeX documents. This may be useful for small projects and may help to
-
1270 # save some trees in general.
-
1271 
-
1272 COMPACT_LATEX = NO
-
1273 
-
1274 # The PAPER_TYPE tag can be used to set the paper type that is used
-
1275 # by the printer. Possible values are: a4, letter, legal and
-
1276 # executive. If left blank a4wide will be used.
-
1277 
-
1278 PAPER_TYPE = a4wide
-
1279 
-
1280 # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-
1281 # packages that should be included in the LaTeX output.
-
1282 
-
1283 EXTRA_PACKAGES =
-
1284 
-
1285 # The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-
1286 # the generated latex document. The header should contain everything until
-
1287 # the first chapter. If it is left blank doxygen will generate a
-
1288 # standard header. Notice: only use this tag if you know what you are doing!
-
1289 
-
1290 LATEX_HEADER =
-
1291 
-
1292 # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
-
1293 # the generated latex document. The footer should contain everything after
-
1294 # the last chapter. If it is left blank doxygen will generate a
-
1295 # standard footer. Notice: only use this tag if you know what you are doing!
-
1296 
-
1297 LATEX_FOOTER =
-
1298 
-
1299 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-
1300 # is prepared for conversion to pdf (using ps2pdf). The pdf file will
-
1301 # contain links (just like the HTML output) instead of page references
-
1302 # This makes the output suitable for online browsing using a pdf viewer.
-
1303 
-
1304 PDF_HYPERLINKS = NO
-
1305 
-
1306 # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-
1307 # plain latex in the generated Makefile. Set this option to YES to get a
-
1308 # higher quality PDF documentation.
-
1309 
-
1310 USE_PDFLATEX = YES
-
1311 
-
1312 # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-
1313 # command to the generated LaTeX files. This will instruct LaTeX to keep
-
1314 # running if errors occur, instead of asking the user for help.
-
1315 # This option is also used when generating formulas in HTML.
-
1316 
-
1317 LATEX_BATCHMODE = NO
-
1318 
-
1319 # If LATEX_HIDE_INDICES is set to YES then doxygen will not
-
1320 # include the index chapters (such as File Index, Compound Index, etc.)
-
1321 # in the output.
-
1322 
-
1323 LATEX_HIDE_INDICES = NO
-
1324 
-
1325 # If LATEX_SOURCE_CODE is set to YES then doxygen will include
-
1326 # source code with syntax highlighting in the LaTeX output.
-
1327 # Note that which sources are shown also depends on other settings
-
1328 # such as SOURCE_BROWSER.
-
1329 
-
1330 LATEX_SOURCE_CODE = NO
-
1331 
-
1332 # The LATEX_BIB_STYLE tag can be used to specify the style to use for the
-
1333 # bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
-
1334 # http://en.wikipedia.org/wiki/BibTeX for more info.
-
1335 
-
1336 LATEX_BIB_STYLE = plain
-
1337 
-
1338 #---------------------------------------------------------------------------
-
1339 # configuration options related to the RTF output
-
1340 #---------------------------------------------------------------------------
-
1341 
-
1342 # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-
1343 # The RTF output is optimized for Word 97 and may not look very pretty with
-
1344 # other RTF readers or editors.
-
1345 
-
1346 GENERATE_RTF = NO
-
1347 
-
1348 # The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-
1349 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
-
1350 # put in front of it. If left blank `rtf' will be used as the default path.
-
1351 
-
1352 RTF_OUTPUT = glm.rtf
-
1353 
-
1354 # If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-
1355 # RTF documents. This may be useful for small projects and may help to
-
1356 # save some trees in general.
-
1357 
-
1358 COMPACT_RTF = NO
-
1359 
-
1360 # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-
1361 # will contain hyperlink fields. The RTF file will
-
1362 # contain links (just like the HTML output) instead of page references.
-
1363 # This makes the output suitable for online browsing using WORD or other
-
1364 # programs which support those fields.
-
1365 # Note: wordpad (write) and others do not support links.
-
1366 
-
1367 RTF_HYPERLINKS = YES
-
1368 
-
1369 # Load style sheet definitions from file. Syntax is similar to doxygen's
-
1370 # config file, i.e. a series of assignments. You only have to provide
-
1371 # replacements, missing definitions are set to their default value.
-
1372 
-
1373 RTF_STYLESHEET_FILE =
-
1374 
-
1375 # Set optional variables used in the generation of an rtf document.
-
1376 # Syntax is similar to doxygen's config file.
-
1377 
-
1378 RTF_EXTENSIONS_FILE =
-
1379 
-
1380 #---------------------------------------------------------------------------
-
1381 # configuration options related to the man page output
-
1382 #---------------------------------------------------------------------------
-
1383 
-
1384 # If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-
1385 # generate man pages
-
1386 
-
1387 GENERATE_MAN = NO
-
1388 
-
1389 # The MAN_OUTPUT tag is used to specify where the man pages will be put.
-
1390 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
-
1391 # put in front of it. If left blank `man' will be used as the default path.
-
1392 
-
1393 MAN_OUTPUT = man
-
1394 
-
1395 # The MAN_EXTENSION tag determines the extension that is added to
-
1396 # the generated man pages (default is the subroutine's section .3)
-
1397 
-
1398 MAN_EXTENSION = .3
-
1399 
-
1400 # If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-
1401 # then it will generate one additional man file for each entity
-
1402 # documented in the real man page(s). These additional files
-
1403 # only source the real man page, but without them the man command
-
1404 # would be unable to find the correct page. The default is NO.
-
1405 
-
1406 MAN_LINKS = NO
-
1407 
-
1408 #---------------------------------------------------------------------------
-
1409 # configuration options related to the XML output
-
1410 #---------------------------------------------------------------------------
-
1411 
-
1412 # If the GENERATE_XML tag is set to YES Doxygen will
-
1413 # generate an XML file that captures the structure of
-
1414 # the code including all documentation.
-
1415 
-
1416 GENERATE_XML = NO
-
1417 
-
1418 # The XML_OUTPUT tag is used to specify where the XML pages will be put.
-
1419 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
-
1420 # put in front of it. If left blank `xml' will be used as the default path.
-
1421 
-
1422 XML_OUTPUT = xml
-
1423 
-
1424 # The XML_SCHEMA tag can be used to specify an XML schema,
-
1425 # which can be used by a validating XML parser to check the
-
1426 # syntax of the XML files.
-
1427 
-
1428 XML_SCHEMA =
-
1429 
-
1430 # The XML_DTD tag can be used to specify an XML DTD,
-
1431 # which can be used by a validating XML parser to check the
-
1432 # syntax of the XML files.
-
1433 
-
1434 XML_DTD =
-
1435 
-
1436 # If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-
1437 # dump the program listings (including syntax highlighting
-
1438 # and cross-referencing information) to the XML output. Note that
-
1439 # enabling this will significantly increase the size of the XML output.
-
1440 
-
1441 XML_PROGRAMLISTING = YES
-
1442 
-
1443 #---------------------------------------------------------------------------
-
1444 # configuration options for the AutoGen Definitions output
-
1445 #---------------------------------------------------------------------------
-
1446 
-
1447 # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-
1448 # generate an AutoGen Definitions (see autogen.sf.net) file
-
1449 # that captures the structure of the code including all
-
1450 # documentation. Note that this feature is still experimental
-
1451 # and incomplete at the moment.
-
1452 
-
1453 GENERATE_AUTOGEN_DEF = NO
-
1454 
-
1455 #---------------------------------------------------------------------------
-
1456 # configuration options related to the Perl module output
-
1457 #---------------------------------------------------------------------------
-
1458 
-
1459 # If the GENERATE_PERLMOD tag is set to YES Doxygen will
-
1460 # generate a Perl module file that captures the structure of
-
1461 # the code including all documentation. Note that this
-
1462 # feature is still experimental and incomplete at the
-
1463 # moment.
-
1464 
-
1465 GENERATE_PERLMOD = NO
-
1466 
-
1467 # If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-
1468 # the necessary Makefile rules, Perl scripts and LaTeX code to be able
-
1469 # to generate PDF and DVI output from the Perl module output.
-
1470 
-
1471 PERLMOD_LATEX = NO
-
1472 
-
1473 # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-
1474 # nicely formatted so it can be parsed by a human reader. This is useful
-
1475 # if you want to understand what is going on. On the other hand, if this
-
1476 # tag is set to NO the size of the Perl module output will be much smaller
-
1477 # and Perl will parse it just the same.
-
1478 
-
1479 PERLMOD_PRETTY = YES
-
1480 
-
1481 # The names of the make variables in the generated doxyrules.make file
-
1482 # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-
1483 # This is useful so different doxyrules.make files included by the same
-
1484 # Makefile don't overwrite each other's variables.
-
1485 
-
1486 PERLMOD_MAKEVAR_PREFIX =
-
1487 
-
1488 #---------------------------------------------------------------------------
-
1489 # Configuration options related to the preprocessor
-
1490 #---------------------------------------------------------------------------
-
1491 
-
1492 # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-
1493 # evaluate all C-preprocessor directives found in the sources and include
-
1494 # files.
-
1495 
-
1496 ENABLE_PREPROCESSING = YES
-
1497 
-
1498 # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-
1499 # names in the source code. If set to NO (the default) only conditional
-
1500 # compilation will be performed. Macro expansion can be done in a controlled
-
1501 # way by setting EXPAND_ONLY_PREDEF to YES.
-
1502 
-
1503 MACRO_EXPANSION = NO
-
1504 
-
1505 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-
1506 # then the macro expansion is limited to the macros specified with the
-
1507 # PREDEFINED and EXPAND_AS_DEFINED tags.
-
1508 
-
1509 EXPAND_ONLY_PREDEF = NO
-
1510 
-
1511 # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-
1512 # pointed to by INCLUDE_PATH will be searched when a #include is found.
-
1513 
-
1514 SEARCH_INCLUDES = YES
-
1515 
-
1516 # The INCLUDE_PATH tag can be used to specify one or more directories that
-
1517 # contain include files that are not input files but should be processed by
-
1518 # the preprocessor.
-
1519 
-
1520 INCLUDE_PATH =
-
1521 
-
1522 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-
1523 # patterns (like *.h and *.hpp) to filter out the header-files in the
-
1524 # directories. If left blank, the patterns specified with FILE_PATTERNS will
-
1525 # be used.
-
1526 
-
1527 INCLUDE_FILE_PATTERNS =
-
1528 
-
1529 # The PREDEFINED tag can be used to specify one or more macro names that
-
1530 # are defined before the preprocessor is started (similar to the -D option of
-
1531 # gcc). The argument of the tag is a list of macros of the form: name
-
1532 # or name=definition (no spaces). If the definition and the = are
-
1533 # omitted =1 is assumed. To prevent a macro definition from being
-
1534 # undefined via #undef or recursively expanded use the := operator
-
1535 # instead of the = operator.
-
1536 
-
1537 PREDEFINED =
-
1538 
-
1539 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-
1540 # this tag can be used to specify a list of macro names that should be expanded.
-
1541 # The macro definition that is found in the sources will be used.
-
1542 # Use the PREDEFINED tag if you want to use a different macro definition that
-
1543 # overrules the definition found in the source code.
-
1544 
-
1545 EXPAND_AS_DEFINED =
-
1546 
-
1547 # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-
1548 # doxygen's preprocessor will remove all references to function-like macros
-
1549 # that are alone on a line, have an all uppercase name, and do not end with a
-
1550 # semicolon, because these will confuse the parser if not removed.
-
1551 
-
1552 SKIP_FUNCTION_MACROS = YES
-
1553 
-
1554 #---------------------------------------------------------------------------
-
1555 # Configuration::additions related to external references
-
1556 #---------------------------------------------------------------------------
-
1557 
-
1558 # The TAGFILES option can be used to specify one or more tagfiles. For each
-
1559 # tag file the location of the external documentation should be added. The
-
1560 # format of a tag file without this location is as follows:
-
1561 # TAGFILES = file1 file2 ...
-
1562 # Adding location for the tag files is done as follows:
-
1563 # TAGFILES = file1=loc1 "file2 = loc2" ...
-
1564 # where "loc1" and "loc2" can be relative or absolute paths
-
1565 # or URLs. Note that each tag file must have a unique name (where the name does
-
1566 # NOT include the path). If a tag file is not located in the directory in which
-
1567 # doxygen is run, you must also specify the path to the tagfile here.
-
1568 
-
1569 TAGFILES =
-
1570 
-
1571 # When a file name is specified after GENERATE_TAGFILE, doxygen will create
-
1572 # a tag file that is based on the input files it reads.
-
1573 
-
1574 GENERATE_TAGFILE =
-
1575 
-
1576 # If the ALLEXTERNALS tag is set to YES all external classes will be listed
-
1577 # in the class index. If set to NO only the inherited external classes
-
1578 # will be listed.
-
1579 
-
1580 ALLEXTERNALS = NO
-
1581 
-
1582 # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-
1583 # in the modules index. If set to NO, only the current project's groups will
-
1584 # be listed.
-
1585 
-
1586 EXTERNAL_GROUPS = YES
-
1587 
-
1588 # The PERL_PATH should be the absolute path and name of the perl script
-
1589 # interpreter (i.e. the result of `which perl').
-
1590 
-
1591 PERL_PATH = /usr/bin/perl
-
1592 
-
1593 #---------------------------------------------------------------------------
-
1594 # Configuration options related to the dot tool
-
1595 #---------------------------------------------------------------------------
-
1596 
-
1597 # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-
1598 # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-
1599 # or super classes. Setting the tag to NO turns the diagrams off. Note that
-
1600 # this option also works with HAVE_DOT disabled, but it is recommended to
-
1601 # install and use dot, since it yields more powerful graphs.
-
1602 
-
1603 CLASS_DIAGRAMS = YES
-
1604 
-
1605 # You can define message sequence charts within doxygen comments using the \msc
-
1606 # command. Doxygen will then run the mscgen tool (see
-
1607 # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-
1608 # documentation. The MSCGEN_PATH tag allows you to specify the directory where
-
1609 # the mscgen tool resides. If left empty the tool is assumed to be found in the
-
1610 # default search path.
-
1611 
-
1612 MSCGEN_PATH =
-
1613 
-
1614 # If set to YES, the inheritance and collaboration graphs will hide
-
1615 # inheritance and usage relations if the target is undocumented
-
1616 # or is not a class.
-
1617 
-
1618 HIDE_UNDOC_RELATIONS = YES
-
1619 
-
1620 # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-
1621 # available from the path. This tool is part of Graphviz, a graph visualization
-
1622 # toolkit from AT&T and Lucent Bell Labs. The other options in this section
-
1623 # have no effect if this option is set to NO (the default)
-
1624 
-
1625 HAVE_DOT = NO
-
1626 
-
1627 # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
-
1628 # allowed to run in parallel. When set to 0 (the default) doxygen will
-
1629 # base this on the number of processors available in the system. You can set it
-
1630 # explicitly to a value larger than 0 to get control over the balance
-
1631 # between CPU load and processing speed.
-
1632 
-
1633 DOT_NUM_THREADS = 0
-
1634 
-
1635 # By default doxygen will use the Helvetica font for all dot files that
-
1636 # doxygen generates. When you want a differently looking font you can specify
-
1637 # the font name using DOT_FONTNAME. You need to make sure dot is able to find
-
1638 # the font, which can be done by putting it in a standard location or by setting
-
1639 # the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
-
1640 # directory containing the font.
-
1641 
-
1642 DOT_FONTNAME = FreeSans
-
1643 
-
1644 # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-
1645 # The default size is 10pt.
-
1646 
-
1647 DOT_FONTSIZE = 10
-
1648 
-
1649 # By default doxygen will tell dot to use the Helvetica font.
-
1650 # If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
-
1651 # set the path where dot can find it.
-
1652 
-
1653 DOT_FONTPATH =
-
1654 
-
1655 # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-
1656 # will generate a graph for each documented class showing the direct and
-
1657 # indirect inheritance relations. Setting this tag to YES will force the
-
1658 # CLASS_DIAGRAMS tag to NO.
-
1659 
-
1660 CLASS_GRAPH = YES
-
1661 
-
1662 # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-
1663 # will generate a graph for each documented class showing the direct and
-
1664 # indirect implementation dependencies (inheritance, containment, and
-
1665 # class references variables) of the class with other documented classes.
-
1666 
-
1667 COLLABORATION_GRAPH = YES
-
1668 
-
1669 # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-
1670 # will generate a graph for groups, showing the direct groups dependencies
-
1671 
-
1672 GROUP_GRAPHS = YES
-
1673 
-
1674 # If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-
1675 # collaboration diagrams in a style similar to the OMG's Unified Modeling
-
1676 # Language.
-
1677 
-
1678 UML_LOOK = NO
-
1679 
-
1680 # If the UML_LOOK tag is enabled, the fields and methods are shown inside
-
1681 # the class node. If there are many fields or methods and many nodes the
-
1682 # graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS
-
1683 # threshold limits the number of items for each type to make the size more
-
1684 # managable. Set this to 0 for no limit. Note that the threshold may be
-
1685 # exceeded by 50% before the limit is enforced.
-
1686 
-
1687 UML_LIMIT_NUM_FIELDS = 10
-
1688 
-
1689 # If set to YES, the inheritance and collaboration graphs will show the
-
1690 # relations between templates and their instances.
-
1691 
-
1692 TEMPLATE_RELATIONS = NO
-
1693 
-
1694 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-
1695 # tags are set to YES then doxygen will generate a graph for each documented
-
1696 # file showing the direct and indirect include dependencies of the file with
-
1697 # other documented files.
-
1698 
-
1699 INCLUDE_GRAPH = YES
-
1700 
-
1701 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-
1702 # HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-
1703 # documented header file showing the documented files that directly or
-
1704 # indirectly include this file.
-
1705 
-
1706 INCLUDED_BY_GRAPH = YES
-
1707 
-
1708 # If the CALL_GRAPH and HAVE_DOT options are set to YES then
-
1709 # doxygen will generate a call dependency graph for every global function
-
1710 # or class method. Note that enabling this option will significantly increase
-
1711 # the time of a run. So in most cases it will be better to enable call graphs
-
1712 # for selected functions only using the \callgraph command.
-
1713 
-
1714 CALL_GRAPH = YES
-
1715 
-
1716 # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-
1717 # doxygen will generate a caller dependency graph for every global function
-
1718 # or class method. Note that enabling this option will significantly increase
-
1719 # the time of a run. So in most cases it will be better to enable caller
-
1720 # graphs for selected functions only using the \callergraph command.
-
1721 
-
1722 CALLER_GRAPH = YES
-
1723 
-
1724 # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-
1725 # will generate a graphical hierarchy of all classes instead of a textual one.
-
1726 
-
1727 GRAPHICAL_HIERARCHY = YES
-
1728 
-
1729 # If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES
-
1730 # then doxygen will show the dependencies a directory has on other directories
-
1731 # in a graphical way. The dependency relations are determined by the #include
-
1732 # relations between the files in the directories.
-
1733 
-
1734 DIRECTORY_GRAPH = YES
-
1735 
-
1736 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-
1737 # generated by dot. Possible values are svg, png, jpg, or gif.
-
1738 # If left blank png will be used. If you choose svg you need to set
-
1739 # HTML_FILE_EXTENSION to xhtml in order to make the SVG files
-
1740 # visible in IE 9+ (other browsers do not have this requirement).
-
1741 
-
1742 DOT_IMAGE_FORMAT = png
-
1743 
-
1744 # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
-
1745 # enable generation of interactive SVG images that allow zooming and panning.
-
1746 # Note that this requires a modern browser other than Internet Explorer.
-
1747 # Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
-
1748 # need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
-
1749 # visible. Older versions of IE do not have SVG support.
-
1750 
-
1751 INTERACTIVE_SVG = NO
-
1752 
-
1753 # The tag DOT_PATH can be used to specify the path where the dot tool can be
-
1754 # found. If left blank, it is assumed the dot tool can be found in the path.
-
1755 
-
1756 DOT_PATH =
-
1757 
-
1758 # The DOTFILE_DIRS tag can be used to specify one or more directories that
-
1759 # contain dot files that are included in the documentation (see the
-
1760 # \dotfile command).
-
1761 
-
1762 DOTFILE_DIRS =
-
1763 
-
1764 # The MSCFILE_DIRS tag can be used to specify one or more directories that
-
1765 # contain msc files that are included in the documentation (see the
-
1766 # \mscfile command).
-
1767 
-
1768 MSCFILE_DIRS =
-
1769 
-
1770 # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-
1771 # nodes that will be shown in the graph. If the number of nodes in a graph
-
1772 # becomes larger than this value, doxygen will truncate the graph, which is
-
1773 # visualized by representing a node as a red box. Note that doxygen if the
-
1774 # number of direct children of the root node in a graph is already larger than
-
1775 # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-
1776 # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
1777 
-
1778 DOT_GRAPH_MAX_NODES = 50
-
1779 
-
1780 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-
1781 # graphs generated by dot. A depth value of 3 means that only nodes reachable
-
1782 # from the root by following a path via at most 3 edges will be shown. Nodes
-
1783 # that lay further from the root node will be omitted. Note that setting this
-
1784 # option to 1 or 2 may greatly reduce the computation time needed for large
-
1785 # code bases. Also note that the size of a graph can be further restricted by
-
1786 # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
1787 
-
1788 MAX_DOT_GRAPH_DEPTH = 1000
-
1789 
-
1790 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-
1791 # background. This is disabled by default, because dot on Windows does not
-
1792 # seem to support this out of the box. Warning: Depending on the platform used,
-
1793 # enabling this option may lead to badly anti-aliased labels on the edges of
-
1794 # a graph (i.e. they become hard to read).
-
1795 
-
1796 DOT_TRANSPARENT = NO
-
1797 
-
1798 # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-
1799 # files in one run (i.e. multiple -o and -T options on the command line). This
-
1800 # makes dot run faster, but since only newer versions of dot (>1.8.10)
-
1801 # support this, this feature is disabled by default.
-
1802 
-
1803 DOT_MULTI_TARGETS = NO
-
1804 
-
1805 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-
1806 # generate a legend page explaining the meaning of the various boxes and
-
1807 # arrows in the dot generated graphs.
-
1808 
-
1809 GENERATE_LEGEND = YES
-
1810 
-
1811 # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-
1812 # remove the intermediate dot files that are used to generate
-
1813 # the various graphs.
-
1814 
-
1815 DOT_CLEANUP = YES
-
- - - - + + + + + + +GLM: intersect.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
intersect.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_intersect
+
40 #define GLM_GTX_intersect
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 #include "../gtx/closest_point.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_closest_point extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
+
54 
+
58  template <typename genType>
+
59  bool intersectRayPlane(
+
60  genType const & orig, genType const & dir,
+
61  genType const & planeOrig, genType const & planeNormal,
+
62  typename genType::value_type & intersectionDistance);
+
63 
+
66  template <typename genType>
+ +
68  genType const & orig, genType const & dir,
+
69  genType const & vert0, genType const & vert1, genType const & vert2,
+
70  genType & baryPosition);
+
71 
+
74  template <typename genType>
+ +
76  genType const & orig, genType const & dir,
+
77  genType const & vert0, genType const & vert1, genType const & vert2,
+
78  genType & position);
+
79 
+
83  template <typename genType>
+
84  bool intersectRaySphere(
+
85  genType const & rayStarting, genType const & rayNormalizedDirection,
+
86  genType const & sphereCenter, typename genType::value_type const sphereRadiusSquered,
+
87  typename genType::value_type & intersectionDistance);
+
88 
+
91  template <typename genType>
+
92  bool intersectRaySphere(
+
93  genType const & rayStarting, genType const & rayNormalizedDirection,
+
94  genType const & sphereCenter, const typename genType::value_type sphereRadius,
+
95  genType & intersectionPosition, genType & intersectionNormal);
+
96 
+
99  template <typename genType>
+
100  bool intersectLineSphere(
+
101  genType const & point0, genType const & point1,
+
102  genType const & sphereCenter, typename genType::value_type sphereRadius,
+
103  genType & intersectionPosition1, genType & intersectionNormal1,
+
104  genType & intersectionPosition2 = genType(), genType & intersectionNormal2 = genType());
+
105 
+
107 }//namespace glm
+
108 
+
109 #include "intersect.inl"
+
110 
+
111 #endif//GLM_GTX_intersect
+
bool intersectLineTriangle(genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
Compute the intersection of a line and a triangle.
+
bool intersectRayPlane(genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
Compute the intersection of a ray and a triangle.
+
bool intersectRaySphere(genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquered, typename genType::value_type &intersectionDistance)
Compute the intersection distance of a ray and a sphere.
+
bool intersectLineSphere(genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
Compute the intersection of a line and a sphere.
+
bool intersectRayTriangle(genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
Compute the intersection of a ray and a triangle.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00052.html glm-0.9.5.1/doc/api/a00052.html --- glm-0.9.4.6/doc/api/a00052.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00052.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,87 +0,0 @@ - - - - - -matrix_access.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
matrix_access.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType::col_type column (genType const &m, int index)
 
template<typename genType >
genType column (genType const &m, int index, typename genType::col_type const &x)
 
template<typename genType >
genType::row_type row (genType const &m, int index)
 
template<typename genType >
genType row (genType const &m, int index, typename genType::row_type const &x)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_matrix_access

-
Date
2005-12-27 / 2011-05-16
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file matrix_access.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00052_source.html glm-0.9.5.1/doc/api/a00052_source.html --- glm-0.9.4.6/doc/api/a00052_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00052_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,132 +1,124 @@ - - - - - -matrix_access.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
matrix_access.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 #ifndef GLM_GTC_matrix_access
-
38 #define GLM_GTC_matrix_access GLM_VERSION
-
39 
-
40 // Dependency:
-
41 #include "../glm.hpp"
-
42 
-
43 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
44 # pragma message("GLM: GLM_GTC_matrix_access extension included")
-
45 #endif
-
46 
-
47 namespace glm
-
48 {
-
51 
-
54  template <typename genType>
-
55  typename genType::row_type row(
-
56  genType const & m,
-
57  int index);
-
58 
-
61  template <typename genType>
-
62  genType row(
-
63  genType const & m,
-
64  int index,
-
65  typename genType::row_type const & x);
-
66 
-
69  template <typename genType>
-
70  typename genType::col_type column(
-
71  genType const & m,
-
72  int index);
-
73 
-
76  template <typename genType>
-
77  genType column(
-
78  genType const & m,
-
79  int index,
-
80  typename genType::col_type const & x);
-
81 
-
83 }//namespace glm
-
84 
-
85 #include "matrix_access.inl"
-
86 
-
87 #endif//GLM_GTC_matrix_access
-
- - - - + + + + + + +GLM: intrinsic_common.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
intrinsic_common.hpp
+
+
+
1 
+
29 #ifndef glm_detail_intrinsic_common
+
30 #define glm_detail_intrinsic_common
+
31 
+
32 #include "setup.hpp"
+
33 
+
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
+
35 # error "SSE2 instructions not supported or enabled"
+
36 #else
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41  __m128 sse_abs_ps(__m128 x);
+
42 
+
43  __m128 sse_sgn_ps(__m128 x);
+
44 
+
45  //floor
+
46  __m128 sse_flr_ps(__m128 v);
+
47 
+
48  //trunc
+
49  __m128 sse_trc_ps(__m128 v);
+
50 
+
51  //round
+
52  __m128 sse_nd_ps(__m128 v);
+
53 
+
54  //roundEven
+
55  __m128 sse_rde_ps(__m128 v);
+
56 
+
57  __m128 sse_rnd_ps(__m128 x);
+
58 
+
59  __m128 sse_ceil_ps(__m128 v);
+
60 
+
61  __m128 sse_frc_ps(__m128 x);
+
62 
+
63  __m128 sse_mod_ps(__m128 x, __m128 y);
+
64 
+
65  __m128 sse_modf_ps(__m128 x, __m128i & i);
+
66 
+
67  //GLM_FUNC_QUALIFIER __m128 sse_min_ps(__m128 x, __m128 y)
+
68 
+
69  //GLM_FUNC_QUALIFIER __m128 sse_max_ps(__m128 x, __m128 y)
+
70 
+
71  __m128 sse_clp_ps(__m128 v, __m128 minVal, __m128 maxVal);
+
72 
+
73  __m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a);
+
74 
+
75  __m128 sse_stp_ps(__m128 edge, __m128 x);
+
76 
+
77  __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x);
+
78 
+
79  __m128 sse_nan_ps(__m128 x);
+
80 
+
81  __m128 sse_inf_ps(__m128 x);
+
82 
+
83 }//namespace detail
+
84 }//namespace glm
+
85 
+
86 #include "intrinsic_common.inl"
+
87 
+
88 #endif//GLM_ARCH
+
89 #endif//glm_detail_intrinsic_common
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00053.html glm-0.9.5.1/doc/api/a00053.html --- glm-0.9.4.6/doc/api/a00053.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00053.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ - - - - - -matrix_cross_product.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
matrix_cross_product.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Functions

template<typename T >
detail::tmat3x3< T > matrixCross3 (detail::tvec3< T > const &x)
 
template<typename T >
detail::tmat4x4< T > matrixCross4 (detail::tvec3< T > const &x)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_matrix_cross_product

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
- -

Definition in file matrix_cross_product.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00053_source.html glm-0.9.5.1/doc/api/a00053_source.html --- glm-0.9.4.6/doc/api/a00053_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00053_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,120 +1,114 @@ - - - - - -matrix_cross_product.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
matrix_cross_product.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_matrix_cross_product
-
40 #define GLM_GTX_matrix_cross_product GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTX_matrix_cross_product extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename T>
-
57  detail::tmat3x3<T> matrixCross3(
-
58  detail::tvec3<T> const & x);
-
59 
-
62  template <typename T>
-
63  detail::tmat4x4<T> matrixCross4(
-
64  detail::tvec3<T> const & x);
-
65 
-
67 }//namespace glm
-
68 
-
69 #include "matrix_cross_product.inl"
-
70 
-
71 #endif//GLM_GTX_matrix_cross_product
-
- - - - + + + + + + +GLM: intrinsic_exponential.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
intrinsic_exponential.hpp
+
+
+
1 
+
29 #ifndef glm_detail_intrinsic_exponential
+
30 #define glm_detail_intrinsic_exponential
+
31 
+
32 #include "setup.hpp"
+
33 
+
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
+
35 # error "SSE2 instructions not supported or enabled"
+
36 #else
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41 /*
+
42 GLM_FUNC_QUALIFIER __m128 sse_rsqrt_nr_ss(__m128 const x)
+
43 {
+
44  __m128 recip = _mm_rsqrt_ss( x ); // "estimate" opcode
+
45  const static __m128 three = { 3, 3, 3, 3 }; // aligned consts for fast load
+
46  const static __m128 half = { 0.5,0.5,0.5,0.5 };
+
47  __m128 halfrecip = _mm_mul_ss( half, recip );
+
48  __m128 threeminus_xrr = _mm_sub_ss( three, _mm_mul_ss( x, _mm_mul_ss ( recip, recip ) ) );
+
49  return _mm_mul_ss( halfrecip, threeminus_xrr );
+
50 }
+
51 
+
52 GLM_FUNC_QUALIFIER __m128 sse_normalize_fast_ps( float * RESTRICT vOut, float * RESTRICT vIn )
+
53 {
+
54  __m128 x = _mm_load_ss(&vIn[0]);
+
55  __m128 y = _mm_load_ss(&vIn[1]);
+
56  __m128 z = _mm_load_ss(&vIn[2]);
+
57 
+
58  const __m128 l = // compute x*x + y*y + z*z
+
59  _mm_add_ss(
+
60  _mm_add_ss( _mm_mul_ss(x,x),
+
61  _mm_mul_ss(y,y)
+
62  ),
+
63  _mm_mul_ss( z, z )
+
64  );
+
65 
+
66 
+
67  const __m128 rsqt = _mm_rsqrt_nr_ss( l );
+
68  _mm_store_ss( &vOut[0] , _mm_mul_ss( rsqt, x ) );
+
69  _mm_store_ss( &vOut[1] , _mm_mul_ss( rsqt, y ) );
+
70  _mm_store_ss( &vOut[2] , _mm_mul_ss( rsqt, z ) );
+
71 
+
72  return _mm_mul_ss( l , rsqt );
+
73 }
+
74 */
+
75 }//namespace detail
+
76 }//namespace glm
+
77 
+
78 #endif//GLM_ARCH
+
79 #endif//glm_detail_intrinsic_exponential
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00054.html glm-0.9.5.1/doc/api/a00054.html --- glm-0.9.4.6/doc/api/a00054.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00054.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,327 +0,0 @@ - - - - - -matrix_integer.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
matrix_integer.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::tmat2x2
-< highp_int > 
highp_imat2
 
typedef detail::tmat2x2
-< highp_int > 
highp_imat2x2
 
typedef detail::tmat2x3
-< highp_int > 
highp_imat2x3
 
typedef detail::tmat2x4
-< highp_int > 
highp_imat2x4
 
typedef detail::tmat3x3
-< highp_int > 
highp_imat3
 
typedef detail::tmat3x2
-< highp_int > 
highp_imat3x2
 
typedef detail::tmat3x3
-< highp_int > 
highp_imat3x3
 
typedef detail::tmat3x4
-< highp_int > 
highp_imat3x4
 
typedef detail::tmat4x4
-< highp_int > 
highp_imat4
 
typedef detail::tmat4x2
-< highp_int > 
highp_imat4x2
 
typedef detail::tmat4x3
-< highp_int > 
highp_imat4x3
 
typedef detail::tmat4x4
-< highp_int > 
highp_imat4x4
 
typedef detail::tmat2x2
-< highp_uint > 
highp_umat2
 
typedef detail::tmat2x2
-< highp_uint > 
highp_umat2x2
 
typedef detail::tmat2x3
-< highp_uint > 
highp_umat2x3
 
typedef detail::tmat2x4
-< highp_uint > 
highp_umat2x4
 
typedef detail::tmat3x3
-< highp_uint > 
highp_umat3
 
typedef detail::tmat3x2
-< highp_uint > 
highp_umat3x2
 
typedef detail::tmat3x3
-< highp_uint > 
highp_umat3x3
 
typedef detail::tmat3x4
-< highp_uint > 
highp_umat3x4
 
typedef detail::tmat4x4
-< highp_uint > 
highp_umat4
 
typedef detail::tmat4x2
-< highp_uint > 
highp_umat4x2
 
typedef detail::tmat4x3
-< highp_uint > 
highp_umat4x3
 
typedef detail::tmat4x4
-< highp_uint > 
highp_umat4x4
 
typedef mediump_imat2 imat2
 
typedef mediump_imat2x2 imat2x2
 
typedef mediump_imat2x3 imat2x3
 
typedef mediump_imat2x4 imat2x4
 
typedef mediump_imat3 imat3
 
typedef mediump_imat3x2 imat3x2
 
typedef mediump_imat3x3 imat3x3
 
typedef mediump_imat3x4 imat3x4
 
typedef mediump_imat4 imat4
 
typedef mediump_imat4x2 imat4x2
 
typedef mediump_imat4x3 imat4x3
 
typedef mediump_imat4x4 imat4x4
 
typedef detail::tmat2x2< lowp_int > lowp_imat2
 
typedef detail::tmat2x2< lowp_int > lowp_imat2x2
 
typedef detail::tmat2x3< lowp_int > lowp_imat2x3
 
typedef detail::tmat2x4< lowp_int > lowp_imat2x4
 
typedef detail::tmat3x3< lowp_int > lowp_imat3
 
typedef detail::tmat3x2< lowp_int > lowp_imat3x2
 
typedef detail::tmat3x3< lowp_int > lowp_imat3x3
 
typedef detail::tmat3x4< lowp_int > lowp_imat3x4
 
typedef detail::tmat4x4< lowp_int > lowp_imat4
 
typedef detail::tmat4x2< lowp_int > lowp_imat4x2
 
typedef detail::tmat4x3< lowp_int > lowp_imat4x3
 
typedef detail::tmat4x4< lowp_int > lowp_imat4x4
 
typedef detail::tmat2x2
-< lowp_uint > 
lowp_umat2
 
typedef detail::tmat2x2
-< lowp_uint > 
lowp_umat2x2
 
typedef detail::tmat2x3
-< lowp_uint > 
lowp_umat2x3
 
typedef detail::tmat2x4
-< lowp_uint > 
lowp_umat2x4
 
typedef detail::tmat3x3
-< lowp_uint > 
lowp_umat3
 
typedef detail::tmat3x2
-< lowp_uint > 
lowp_umat3x2
 
typedef detail::tmat3x3
-< lowp_uint > 
lowp_umat3x3
 
typedef detail::tmat3x4
-< lowp_uint > 
lowp_umat3x4
 
typedef detail::tmat4x4
-< lowp_uint > 
lowp_umat4
 
typedef detail::tmat4x2
-< lowp_uint > 
lowp_umat4x2
 
typedef detail::tmat4x3
-< lowp_uint > 
lowp_umat4x3
 
typedef detail::tmat4x4
-< lowp_uint > 
lowp_umat4x4
 
typedef detail::tmat2x2
-< mediump_int > 
mediump_imat2
 
typedef detail::tmat2x2
-< mediump_int > 
mediump_imat2x2
 
typedef detail::tmat2x3
-< mediump_int > 
mediump_imat2x3
 
typedef detail::tmat2x4
-< mediump_int > 
mediump_imat2x4
 
typedef detail::tmat3x3
-< mediump_int > 
mediump_imat3
 
typedef detail::tmat3x2
-< mediump_int > 
mediump_imat3x2
 
typedef detail::tmat3x3
-< mediump_int > 
mediump_imat3x3
 
typedef detail::tmat3x4
-< mediump_int > 
mediump_imat3x4
 
typedef detail::tmat4x4
-< mediump_int > 
mediump_imat4
 
typedef detail::tmat4x2
-< mediump_int > 
mediump_imat4x2
 
typedef detail::tmat4x3
-< mediump_int > 
mediump_imat4x3
 
typedef detail::tmat4x4
-< mediump_int > 
mediump_imat4x4
 
typedef detail::tmat2x2
-< mediump_uint > 
mediump_umat2
 
typedef detail::tmat2x2
-< mediump_uint > 
mediump_umat2x2
 
typedef detail::tmat2x3
-< mediump_uint > 
mediump_umat2x3
 
typedef detail::tmat2x4
-< mediump_uint > 
mediump_umat2x4
 
typedef detail::tmat3x3
-< mediump_uint > 
mediump_umat3
 
typedef detail::tmat3x2
-< mediump_uint > 
mediump_umat3x2
 
typedef detail::tmat3x3
-< mediump_uint > 
mediump_umat3x3
 
typedef detail::tmat3x4
-< mediump_uint > 
mediump_umat3x4
 
typedef detail::tmat4x4
-< mediump_uint > 
mediump_umat4
 
typedef detail::tmat4x2
-< mediump_uint > 
mediump_umat4x2
 
typedef detail::tmat4x3
-< mediump_uint > 
mediump_umat4x3
 
typedef detail::tmat4x4
-< mediump_uint > 
mediump_umat4x4
 
typedef mediump_umat2 umat2
 
typedef mediump_umat2x2 umat2x2
 
typedef mediump_umat2x3 umat2x3
 
typedef mediump_umat2x4 umat2x4
 
typedef mediump_umat3 umat3
 
typedef mediump_umat3x2 umat3x2
 
typedef mediump_umat3x3 umat3x3
 
typedef mediump_umat3x4 umat3x4
 
typedef mediump_umat4 umat4
 
typedef mediump_umat4x2 umat4x2
 
typedef mediump_umat4x3 umat4x3
 
typedef mediump_umat4x4 umat4x4
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_matrix_integer

-
Date
2011-01-20 / 2011-06-05
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file matrix_integer.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00054_source.html glm-0.9.5.1/doc/api/a00054_source.html --- glm-0.9.4.6/doc/api/a00054_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00054_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,367 +1,111 @@ - - - - - -matrix_integer.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
matrix_integer.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 #ifndef GLM_GTC_matrix_integer
-
38 #define GLM_GTC_matrix_integer GLM_VERSION
-
39 
-
40 // Dependency:
-
41 #include "../glm.hpp"
-
42 
-
43 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
44 # pragma message("GLM: GLM_GTC_matrix_integer extension included")
-
45 #endif
-
46 
-
47 namespace glm
-
48 {
-
51 
-
54  typedef detail::tmat2x2<highp_int> highp_imat2;
-
55 
-
58  typedef detail::tmat3x3<highp_int> highp_imat3;
-
59 
-
62  typedef detail::tmat4x4<highp_int> highp_imat4;
-
63 
-
66  typedef detail::tmat2x2<highp_int> highp_imat2x2;
-
67 
-
70  typedef detail::tmat2x3<highp_int> highp_imat2x3;
-
71 
-
74  typedef detail::tmat2x4<highp_int> highp_imat2x4;
-
75 
-
78  typedef detail::tmat3x2<highp_int> highp_imat3x2;
-
79 
-
82  typedef detail::tmat3x3<highp_int> highp_imat3x3;
-
83 
-
86  typedef detail::tmat3x4<highp_int> highp_imat3x4;
-
87 
-
90  typedef detail::tmat4x2<highp_int> highp_imat4x2;
-
91 
-
94  typedef detail::tmat4x3<highp_int> highp_imat4x3;
-
95 
-
98  typedef detail::tmat4x4<highp_int> highp_imat4x4;
-
99 
-
100 
-
103  typedef detail::tmat2x2<mediump_int> mediump_imat2;
-
104 
-
107  typedef detail::tmat3x3<mediump_int> mediump_imat3;
-
108 
-
111  typedef detail::tmat4x4<mediump_int> mediump_imat4;
-
112 
-
113 
-
116  typedef detail::tmat2x2<mediump_int> mediump_imat2x2;
-
117 
-
120  typedef detail::tmat2x3<mediump_int> mediump_imat2x3;
-
121 
-
124  typedef detail::tmat2x4<mediump_int> mediump_imat2x4;
-
125 
-
128  typedef detail::tmat3x2<mediump_int> mediump_imat3x2;
-
129 
-
132  typedef detail::tmat3x3<mediump_int> mediump_imat3x3;
-
133 
-
136  typedef detail::tmat3x4<mediump_int> mediump_imat3x4;
-
137 
-
140  typedef detail::tmat4x2<mediump_int> mediump_imat4x2;
-
141 
-
144  typedef detail::tmat4x3<mediump_int> mediump_imat4x3;
-
145 
-
148  typedef detail::tmat4x4<mediump_int> mediump_imat4x4;
-
149 
-
150 
-
153  typedef detail::tmat2x2<lowp_int> lowp_imat2;
-
154 
-
157  typedef detail::tmat3x3<lowp_int> lowp_imat3;
-
158 
-
161  typedef detail::tmat4x4<lowp_int> lowp_imat4;
-
162 
-
163 
-
166  typedef detail::tmat2x2<lowp_int> lowp_imat2x2;
-
167 
-
170  typedef detail::tmat2x3<lowp_int> lowp_imat2x3;
-
171 
-
174  typedef detail::tmat2x4<lowp_int> lowp_imat2x4;
-
175 
-
178  typedef detail::tmat3x2<lowp_int> lowp_imat3x2;
-
179 
-
182  typedef detail::tmat3x3<lowp_int> lowp_imat3x3;
-
183 
-
186  typedef detail::tmat3x4<lowp_int> lowp_imat3x4;
-
187 
-
190  typedef detail::tmat4x2<lowp_int> lowp_imat4x2;
-
191 
-
194  typedef detail::tmat4x3<lowp_int> lowp_imat4x3;
-
195 
-
198  typedef detail::tmat4x4<lowp_int> lowp_imat4x4;
-
199 
-
200 
-
203  typedef detail::tmat2x2<highp_uint> highp_umat2;
-
204 
-
207  typedef detail::tmat3x3<highp_uint> highp_umat3;
-
208 
-
211  typedef detail::tmat4x4<highp_uint> highp_umat4;
-
212 
-
215  typedef detail::tmat2x2<highp_uint> highp_umat2x2;
-
216 
-
219  typedef detail::tmat2x3<highp_uint> highp_umat2x3;
-
220 
-
223  typedef detail::tmat2x4<highp_uint> highp_umat2x4;
-
224 
-
227  typedef detail::tmat3x2<highp_uint> highp_umat3x2;
-
228 
-
231  typedef detail::tmat3x3<highp_uint> highp_umat3x3;
-
232 
-
235  typedef detail::tmat3x4<highp_uint> highp_umat3x4;
-
236 
-
239  typedef detail::tmat4x2<highp_uint> highp_umat4x2;
-
240 
-
243  typedef detail::tmat4x3<highp_uint> highp_umat4x3;
-
244 
-
247  typedef detail::tmat4x4<highp_uint> highp_umat4x4;
-
248 
-
249 
-
252  typedef detail::tmat2x2<mediump_uint> mediump_umat2;
-
253 
-
256  typedef detail::tmat3x3<mediump_uint> mediump_umat3;
-
257 
-
260  typedef detail::tmat4x4<mediump_uint> mediump_umat4;
-
261 
-
262 
-
265  typedef detail::tmat2x2<mediump_uint> mediump_umat2x2;
-
266 
-
269  typedef detail::tmat2x3<mediump_uint> mediump_umat2x3;
-
270 
-
273  typedef detail::tmat2x4<mediump_uint> mediump_umat2x4;
-
274 
-
277  typedef detail::tmat3x2<mediump_uint> mediump_umat3x2;
-
278 
-
281  typedef detail::tmat3x3<mediump_uint> mediump_umat3x3;
-
282 
-
285  typedef detail::tmat3x4<mediump_uint> mediump_umat3x4;
-
286 
-
289  typedef detail::tmat4x2<mediump_uint> mediump_umat4x2;
-
290 
-
293  typedef detail::tmat4x3<mediump_uint> mediump_umat4x3;
-
294 
-
297  typedef detail::tmat4x4<mediump_uint> mediump_umat4x4;
-
298 
-
299 
-
302  typedef detail::tmat2x2<lowp_uint> lowp_umat2;
-
303 
-
306  typedef detail::tmat3x3<lowp_uint> lowp_umat3;
-
307 
-
310  typedef detail::tmat4x4<lowp_uint> lowp_umat4;
-
311 
-
312 
-
315  typedef detail::tmat2x2<lowp_uint> lowp_umat2x2;
-
316 
-
319  typedef detail::tmat2x3<lowp_uint> lowp_umat2x3;
-
320 
-
323  typedef detail::tmat2x4<lowp_uint> lowp_umat2x4;
-
324 
-
327  typedef detail::tmat3x2<lowp_uint> lowp_umat3x2;
-
328 
-
331  typedef detail::tmat3x3<lowp_uint> lowp_umat3x3;
-
332 
-
335  typedef detail::tmat3x4<lowp_uint> lowp_umat3x4;
-
336 
-
339  typedef detail::tmat4x2<lowp_uint> lowp_umat4x2;
-
340 
-
343  typedef detail::tmat4x3<lowp_uint> lowp_umat4x3;
-
344 
-
347  typedef detail::tmat4x4<lowp_uint> lowp_umat4x4;
-
348 
-
349 #if(defined(GLM_PRECISION_HIGHP_INT))
-
350  typedef highp_imat2 imat2;
-
351  typedef highp_imat3 imat3;
-
352  typedef highp_imat4 imat4;
-
353  typedef highp_imat2x2 imat2x2;
-
354  typedef highp_imat2x3 imat2x3;
-
355  typedef highp_imat2x4 imat2x4;
-
356  typedef highp_imat3x2 imat3x2;
-
357  typedef highp_imat3x3 imat3x3;
-
358  typedef highp_imat3x4 imat3x4;
-
359  typedef highp_imat4x2 imat4x2;
-
360  typedef highp_imat4x3 imat4x3;
-
361  typedef highp_imat4x4 imat4x4;
-
362 #elif(defined(GLM_PRECISION_LOWP_INT))
-
363  typedef lowp_imat2 imat2;
-
364  typedef lowp_imat3 imat3;
-
365  typedef lowp_imat4 imat4;
-
366  typedef lowp_imat2x2 imat2x2;
-
367  typedef lowp_imat2x3 imat2x3;
-
368  typedef lowp_imat2x4 imat2x4;
-
369  typedef lowp_imat3x2 imat3x2;
-
370  typedef lowp_imat3x3 imat3x3;
-
371  typedef lowp_imat3x4 imat3x4;
-
372  typedef lowp_imat4x2 imat4x2;
-
373  typedef lowp_imat4x3 imat4x3;
-
374  typedef lowp_imat4x4 imat4x4;
-
375 #else //if(defined(GLM_PRECISION_MEDIUMP_INT))
-
376 
- -
380 
- -
384 
- -
388 
- -
392 
- -
396 
- -
400 
- -
404 
- -
408 
- -
412 
- -
416 
- -
420 
- -
424 #endif//GLM_PRECISION
-
425 
-
426 #if(defined(GLM_PRECISION_HIGHP_UINT))
-
427  typedef highp_umat2 umat2;
-
428  typedef highp_umat3 umat3;
-
429  typedef highp_umat4 umat4;
-
430  typedef highp_umat2x2 umat2x2;
-
431  typedef highp_umat2x3 umat2x3;
-
432  typedef highp_umat2x4 umat2x4;
-
433  typedef highp_umat3x2 umat3x2;
-
434  typedef highp_umat3x3 umat3x3;
-
435  typedef highp_umat3x4 umat3x4;
-
436  typedef highp_umat4x2 umat4x2;
-
437  typedef highp_umat4x3 umat4x3;
-
438  typedef highp_umat4x4 umat4x4;
-
439 #elif(defined(GLM_PRECISION_LOWP_UINT))
-
440  typedef lowp_umat2 umat2;
-
441  typedef lowp_umat3 umat3;
-
442  typedef lowp_umat4 umat4;
-
443  typedef lowp_umat2x2 umat2x2;
-
444  typedef lowp_umat2x3 umat2x3;
-
445  typedef lowp_umat2x4 umat2x4;
-
446  typedef lowp_umat3x2 umat3x2;
-
447  typedef lowp_umat3x3 umat3x3;
-
448  typedef lowp_umat3x4 umat3x4;
-
449  typedef lowp_umat4x2 umat4x2;
-
450  typedef lowp_umat4x3 umat4x3;
-
451  typedef lowp_umat4x4 umat4x4;
-
452 #else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
-
453 
- -
457 
- -
461 
- -
465 
- -
469 
- -
473 
- -
477 
- -
481 
- -
485 
- -
489 
- -
493 
- -
497 
- -
501 #endif//GLM_PRECISION
-
502 
-
504 }//namespace glm
-
505 
-
506 #endif//GLM_GTC_matrix_integer
-
- - - - + + + + + + +GLM: intrinsic_geometric.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
intrinsic_geometric.hpp
+
+
+
1 
+
29 #ifndef glm_core_intrinsic_geometric
+
30 #define glm_core_intrinsic_geometric
+
31 
+
32 #include "setup.hpp"
+
33 
+
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
+
35 # error "SSE2 instructions not supported or enabled"
+
36 #else
+
37 
+
38 #include "intrinsic_common.hpp"
+
39 
+
40 namespace glm{
+
41 namespace detail
+
42 {
+
43  //length
+
44  __m128 sse_len_ps(__m128 x);
+
45 
+
46  //distance
+
47  __m128 sse_dst_ps(__m128 p0, __m128 p1);
+
48 
+
49  //dot
+
50  __m128 sse_dot_ps(__m128 v1, __m128 v2);
+
51 
+
52  // SSE1
+
53  __m128 sse_dot_ss(__m128 v1, __m128 v2);
+
54 
+
55  //cross
+
56  __m128 sse_xpd_ps(__m128 v1, __m128 v2);
+
57 
+
58  //normalize
+
59  __m128 sse_nrm_ps(__m128 v);
+
60 
+
61  //faceforward
+
62  __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref);
+
63 
+
64  //reflect
+
65  __m128 sse_rfe_ps(__m128 I, __m128 N);
+
66 
+
67  //refract
+
68  __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta);
+
69 
+
70 }//namespace detail
+
71 }//namespace glm
+
72 
+
73 #include "intrinsic_geometric.inl"
+
74 
+
75 #endif//GLM_ARCH
+
76 #endif//glm_core_intrinsic_geometric
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00055.html glm-0.9.5.1/doc/api/a00055.html --- glm-0.9.4.6/doc/api/a00055.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00055.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,87 +0,0 @@ - - - - - -matrix_interpolation.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
matrix_interpolation.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Functions

template<typename T >
void axisAngle (detail::tmat4x4< T > const &mat, detail::tvec3< T > &axis, T &angle)
 
template<typename T >
detail::tmat4x4< T > axisAngleMatrix (detail::tvec3< T > const &axis, T const angle)
 
template<typename T >
detail::tmat4x4< T > extractMatrixRotation (detail::tmat4x4< T > const &mat)
 
template<typename T >
detail::tmat4x4< T > interpolate (detail::tmat4x4< T > const &m1, detail::tmat4x4< T > const &m2, T const delta)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_matrix_interpolation

-
Date
2011-03-05 / 2011-06-07
-
Author
Ghenadii Ursachi (the.a.nosp@m.ster.nosp@m.oth@g.nosp@m.mail.nosp@m..com)
-
See Also
GLM Core (dependence)
- -

Definition in file matrix_interpolation.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00055_source.html glm-0.9.5.1/doc/api/a00055_source.html --- glm-0.9.4.6/doc/api/a00055_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00055_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,132 +1,86 @@ - - - - - -matrix_interpolation.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
matrix_interpolation.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_matrix_interpolation
-
39 #define GLM_GTX_matrix_interpolation GLM_VERSION
-
40 
-
41 // Dependency:
-
42 //#include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_matrix_interpolation extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename T>
-
56  void axisAngle(
-
57  detail::tmat4x4<T> const & mat,
-
58  detail::tvec3<T> & axis,
-
59  T & angle);
-
60 
-
63  template <typename T>
-
64  detail::tmat4x4<T> axisAngleMatrix(
-
65  detail::tvec3<T> const & axis,
-
66  T const angle);
-
67 
-
70  template <typename T>
-
71  detail::tmat4x4<T> extractMatrixRotation(
-
72  detail::tmat4x4<T> const & mat);
-
73 
-
77  template <typename T>
-
78  detail::tmat4x4<T> interpolate(
-
79  detail::tmat4x4<T> const & m1,
-
80  detail::tmat4x4<T> const & m2,
-
81  T const delta);
-
82 
-
84 }//namespace glm
-
85 
-
86 #include "matrix_interpolation.inl"
-
87 
-
88 #endif//GLM_GTX_matrix_interpolation
-
- - - - + + + + + + +GLM: intrinsic_integer.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
intrinsic_integer.hpp
+
+
+
1 
+
29 #ifndef glm_detail_intrinsic_integer
+
30 #define glm_detail_intrinsic_integer
+
31 
+
32 #include "glm/glm.hpp"
+
33 
+
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
+
35 # error "SSE2 instructions not supported or enabled"
+
36 #else
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41  __m128i _mm_bit_interleave_si128(__m128i x);
+
42  __m128i _mm_bit_interleave_si128(__m128i x, __m128i y);
+
43 
+
44 }//namespace detail
+
45 }//namespace glm
+
46 
+
47 #include "intrinsic_integer.inl"
+
48 
+
49 #endif//GLM_ARCH
+
50 #endif//glm_detail_intrinsic_integer
+
OpenGL Mathematics (glm.g-truc.net)
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00056.html glm-0.9.5.1/doc/api/a00056.html --- glm-0.9.4.6/doc/api/a00056.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00056.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,82 +0,0 @@ - - - - - -matrix_inverse.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
matrix_inverse.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Functions

template<typename genType >
genType affineInverse (genType const &m)
 
template<typename genType >
GLM_FUNC_QUALIFIER
-genType::value_type 
inverseTranspose (genType const &m)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_matrix_inverse

-
Date
2005-12-21 / 2011-06-05
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file matrix_inverse.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00056_source.html glm-0.9.5.1/doc/api/a00056_source.html --- glm-0.9.4.6/doc/api/a00056_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00056_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,117 +1,104 @@ - - - - - -matrix_inverse.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
matrix_inverse.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 #ifndef GLM_GTC_matrix_inverse
-
38 #define GLM_GTC_matrix_inverse GLM_VERSION
-
39 
-
40 // Dependency:
-
41 #include "../glm.hpp"
-
42 
-
43 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
44 # pragma message("GLM: GLM_GTC_matrix_inverse extension included")
-
45 #endif
-
46 
-
47 namespace glm
-
48 {
-
51 
-
57  template <typename genType>
-
58  genType affineInverse(genType const & m);
-
59 
-
65  template <typename genType>
-
66  GLM_FUNC_QUALIFIER typename genType::value_type inverseTranspose(
-
67  genType const & m);
-
68 
-
70 }//namespace glm
-
71 
-
72 #include "matrix_inverse.inl"
-
73 
-
74 #endif//GLM_GTC_matrix_inverse
-
- - - - + + + + + + +GLM: intrinsic_matrix.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
intrinsic_matrix.hpp
+
+
+
1 
+
29 #ifndef glm_detail_intrinsic_matrix
+
30 #define glm_detail_intrinsic_matrix
+
31 
+
32 #include "setup.hpp"
+
33 
+
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
+
35 # error "SSE2 instructions not supported or enabled"
+
36 #else
+
37 
+
38 #include "intrinsic_geometric.hpp"
+
39 
+
40 namespace glm{
+
41 namespace detail
+
42 {
+
43  void sse_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
+
44 
+
45  void sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
+
46 
+
47  __m128 sse_mul_ps(__m128 m[4], __m128 v);
+
48 
+
49  __m128 sse_mul_ps(__m128 v, __m128 m[4]);
+
50 
+
51  void sse_mul_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4]);
+
52 
+
53  void sse_transpose_ps(__m128 const in[4], __m128 out[4]);
+
54 
+
55  void sse_inverse_ps(__m128 const in[4], __m128 out[4]);
+
56 
+
57  void sse_rotate_ps(__m128 const in[4], float Angle, float const v[3], __m128 out[4]);
+
58 
+
59  __m128 sse_det_ps(__m128 const m[4]);
+
60 
+
61  __m128 sse_slow_det_ps(__m128 const m[4]);
+
62 
+
63 }//namespace detail
+
64 }//namespace glm
+
65 
+
66 #include "intrinsic_matrix.inl"
+
67 
+
68 #endif//GLM_ARCH
+
69 #endif//glm_detail_intrinsic_matrix
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00057.html glm-0.9.5.1/doc/api/a00057.html --- glm-0.9.4.6/doc/api/a00057.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00057.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,113 +0,0 @@ - - - - - -matrix_major_storage.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
matrix_major_storage.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat2x2< T > colMajor2 (detail::tvec2< T > const &v1, detail::tvec2< T > const &v2)
 
template<typename T >
detail::tmat2x2< T > colMajor2 (detail::tmat2x2< T > const &m)
 
template<typename T >
detail::tmat3x3< T > colMajor3 (detail::tvec3< T > const &v1, detail::tvec3< T > const &v2, detail::tvec3< T > const &v3)
 
template<typename T >
detail::tmat3x3< T > colMajor3 (detail::tmat3x3< T > const &m)
 
template<typename T >
detail::tmat4x4< T > colMajor4 (detail::tvec4< T > const &v1, detail::tvec4< T > const &v2, detail::tvec4< T > const &v3, detail::tvec4< T > const &v4)
 
template<typename T >
detail::tmat4x4< T > colMajor4 (detail::tmat4x4< T > const &m)
 
template<typename T >
detail::tmat2x2< T > rowMajor2 (detail::tvec2< T > const &v1, detail::tvec2< T > const &v2)
 
template<typename T >
detail::tmat2x2< T > rowMajor2 (detail::tmat2x2< T > const &m)
 
template<typename T >
detail::tmat3x3< T > rowMajor3 (detail::tvec3< T > const &v1, detail::tvec3< T > const &v2, detail::tvec3< T > const &v3)
 
template<typename T >
detail::tmat3x3< T > rowMajor3 (detail::tmat3x3< T > const &m)
 
template<typename T >
detail::tmat4x4< T > rowMajor4 (detail::tvec4< T > const &v1, detail::tvec4< T > const &v2, detail::tvec4< T > const &v3, detail::tvec4< T > const &v4)
 
template<typename T >
detail::tmat4x4< T > rowMajor4 (detail::tmat4x4< T > const &m)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_matrix_major_storage

-
Date
2006-04-19 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
- -

Definition in file matrix_major_storage.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00057_source.html glm-0.9.5.1/doc/api/a00057_source.html --- glm-0.9.4.6/doc/api/a00057_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00057_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,172 +1,83 @@ - - - - - -matrix_major_storage.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
matrix_major_storage.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_matrix_major_storage
-
40 #define GLM_GTX_matrix_major_storage GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename T>
-
57  detail::tmat2x2<T> rowMajor2(
-
58  detail::tvec2<T> const & v1,
-
59  detail::tvec2<T> const & v2);
-
60 
-
63  template <typename T>
-
64  detail::tmat2x2<T> rowMajor2(
-
65  detail::tmat2x2<T> const & m);
-
66 
-
69  template <typename T>
-
70  detail::tmat3x3<T> rowMajor3(
-
71  detail::tvec3<T> const & v1,
-
72  detail::tvec3<T> const & v2,
-
73  detail::tvec3<T> const & v3);
-
74 
-
77  template <typename T>
-
78  detail::tmat3x3<T> rowMajor3(
-
79  detail::tmat3x3<T> const & m);
-
80 
-
83  template <typename T>
-
84  detail::tmat4x4<T> rowMajor4(
-
85  detail::tvec4<T> const & v1,
-
86  detail::tvec4<T> const & v2,
-
87  detail::tvec4<T> const & v3,
-
88  detail::tvec4<T> const & v4);
-
89 
-
92  template <typename T>
-
93  detail::tmat4x4<T> rowMajor4(
-
94  detail::tmat4x4<T> const & m);
-
95 
-
98  template <typename T>
-
99  detail::tmat2x2<T> colMajor2(
-
100  detail::tvec2<T> const & v1,
-
101  detail::tvec2<T> const & v2);
-
102 
-
105  template <typename T>
-
106  detail::tmat2x2<T> colMajor2(
-
107  detail::tmat2x2<T> const & m);
-
108 
-
111  template <typename T>
-
112  detail::tmat3x3<T> colMajor3(
-
113  detail::tvec3<T> const & v1,
-
114  detail::tvec3<T> const & v2,
-
115  detail::tvec3<T> const & v3);
-
116 
-
119  template <typename T>
-
120  detail::tmat3x3<T> colMajor3(
-
121  detail::tmat3x3<T> const & m);
-
122 
-
125  template <typename T>
-
126  detail::tmat4x4<T> colMajor4(
-
127  detail::tvec4<T> const & v1,
-
128  detail::tvec4<T> const & v2,
-
129  detail::tvec4<T> const & v3,
-
130  detail::tvec4<T> const & v4);
-
131 
-
134  template <typename T>
-
135  detail::tmat4x4<T> colMajor4(
-
136  detail::tmat4x4<T> const & m);
-
137 
-
139 }//namespace glm
-
140 
-
141 #include "matrix_major_storage.inl"
-
142 
-
143 #endif//GLM_GTX_matrix_major_storage
-
- - - - + + + + + + +GLM: intrinsic_trigonometric.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
intrinsic_trigonometric.hpp
+
+
+
1 
+
29 #ifndef glm_detail_intrinsic_trigonometric
+
30 #define glm_detail_intrinsic_trigonometric
+
31 
+
32 #include "setup.hpp"
+
33 
+
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
+
35 # error "SSE2 instructions not supported or enabled"
+
36 #else
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41 
+
42 }//namespace detail
+
43 }//namespace glm
+
44 
+
45 #include "intrinsic_trigonometric.inl"
+
46 
+
47 #endif//GLM_ARCH
+
48 #endif//glm_detail_intrinsic_trigonometric
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00058.html glm-0.9.5.1/doc/api/a00058.html --- glm-0.9.4.6/doc/api/a00058.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00058.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,102 +0,0 @@ - - - - - -matrix_operation.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
matrix_operation.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tmat2x2< valType > diagonal2x2 (detail::tvec2< valType > const &v)
 
template<typename valType >
detail::tmat2x3< valType > diagonal2x3 (detail::tvec2< valType > const &v)
 
template<typename valType >
detail::tmat2x4< valType > diagonal2x4 (detail::tvec2< valType > const &v)
 
template<typename valType >
detail::tmat3x2< valType > diagonal3x2 (detail::tvec2< valType > const &v)
 
template<typename valType >
detail::tmat3x3< valType > diagonal3x3 (detail::tvec3< valType > const &v)
 
template<typename valType >
detail::tmat3x4< valType > diagonal3x4 (detail::tvec3< valType > const &v)
 
template<typename valType >
detail::tmat4x2< valType > diagonal4x2 (detail::tvec2< valType > const &v)
 
template<typename valType >
detail::tmat4x3< valType > diagonal4x3 (detail::tvec3< valType > const &v)
 
template<typename valType >
detail::tmat4x4< valType > diagonal4x4 (detail::tvec4< valType > const &v)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_matrix_operation

-
Date
2009-08-29 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file matrix_operation.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00058_source.html glm-0.9.5.1/doc/api/a00058_source.html --- glm-0.9.4.6/doc/api/a00058_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00058_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,147 +1,83 @@ - - - - - -matrix_operation.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
matrix_operation.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_matrix_operation
-
39 #define GLM_GTX_matrix_operation GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_matrix_operation extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename valType>
-
56  detail::tmat2x2<valType> diagonal2x2(
-
57  detail::tvec2<valType> const & v);
-
58 
-
61  template <typename valType>
-
62  detail::tmat2x3<valType> diagonal2x3(
-
63  detail::tvec2<valType> const & v);
-
64 
-
67  template <typename valType>
-
68  detail::tmat2x4<valType> diagonal2x4(
-
69  detail::tvec2<valType> const & v);
-
70 
-
73  template <typename valType>
-
74  detail::tmat3x2<valType> diagonal3x2(
-
75  detail::tvec2<valType> const & v);
-
76 
-
79  template <typename valType>
-
80  detail::tmat3x3<valType> diagonal3x3(
-
81  detail::tvec3<valType> const & v);
-
82 
-
85  template <typename valType>
-
86  detail::tmat3x4<valType> diagonal3x4(
-
87  detail::tvec3<valType> const & v);
-
88 
-
91  template <typename valType>
-
92  detail::tmat4x2<valType> diagonal4x2(
-
93  detail::tvec2<valType> const & v);
-
94 
-
97  template <typename valType>
-
98  detail::tmat4x3<valType> diagonal4x3(
-
99  detail::tvec3<valType> const & v);
-
100 
-
103  template <typename valType>
-
104  detail::tmat4x4<valType> diagonal4x4(
-
105  detail::tvec4<valType> const & v);
-
106 
-
108 }//namespace glm
-
109 
-
110 #include "matrix_operation.inl"
-
111 
-
112 #endif//GLM_GTX_matrix_operation
-
- - - - + + + + + + +GLM: intrinsic_vector_relational.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
intrinsic_vector_relational.hpp
+
+
+
1 
+
29 #ifndef glm_detail_intrinsic_vector_relational
+
30 #define glm_detail_intrinsic_vector_relational
+
31 
+
32 #include "setup.hpp"
+
33 
+
34 #if(!(GLM_ARCH & GLM_ARCH_SSE2))
+
35 # error "SSE2 instructions not supported or enabled"
+
36 #else
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41 
+
42 }//namespace detail
+
43 }//namespace glm
+
44 
+
45 #include "intrinsic_vector_relational.inl"
+
46 
+
47 #endif//GLM_ARCH
+
48 #endif//glm_detail_intrinsic_vector_relational
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00059.html glm-0.9.5.1/doc/api/a00059.html --- glm-0.9.4.6/doc/api/a00059.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00059.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,101 +1,85 @@ - - - - - -matrix_query.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
matrix_query.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
bool isIdentity (genType const &m, typename genType::value_type const &epsilon)
 
template<typename valType >
bool isNormalized (detail::tmat2x2< valType > const &m, valType const &epsilon)
 
template<typename valType >
bool isNormalized (detail::tmat3x3< valType > const &m, valType const &epsilon)
 
template<typename valType >
bool isNormalized (detail::tmat4x4< valType > const &m, valType const &epsilon)
 
template<typename T >
bool isNull (detail::tmat2x2< T > const &m, T const &epsilon)
 
template<typename T >
bool isNull (detail::tmat3x3< T > const &m, T const &epsilon)
 
template<typename T >
bool isNull (detail::tmat4x4< T > const &m, T const &epsilon)
 
template<typename valType , template< typename > class matType>
bool isOrthogonal (matType< valType > const &m, valType const &epsilon)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_matrix_query

-
Date
2007-03-05 / 2011-08-28
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_vector_query (dependence)
- -

Definition in file matrix_query.hpp.

-
- - - - + + + + + + +GLM: io.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
io.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_io

+
Date
2013-11-22
+
Author
Jan P Springer (regni.nosp@m.rpsj.nosp@m.@gmai.nosp@m.l.co.nosp@m.m)
+
See Also
GLM Core (dependence)
+
+GLM_GTX_quaternion (dependence)
+ +

Definition in file io.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00059_source.html glm-0.9.5.1/doc/api/a00059_source.html --- glm-0.9.4.6/doc/api/a00059_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00059_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,154 +1,172 @@ - - - - - -matrix_query.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
matrix_query.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_matrix_query
-
40 #define GLM_GTX_matrix_query GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/vector_query.hpp"
-
45 #include <limits>
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
48 # pragma message("GLM: GLM_GTX_matrix_query extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template<typename T>
-
59  bool isNull(
-
60  detail::tmat2x2<T> const & m,
-
61  T const & epsilon/* = std::numeric_limits<T>::epsilon()*/);
-
62 
-
65  template<typename T>
-
66  bool isNull(
-
67  detail::tmat3x3<T> const & m,
-
68  T const & epsilon/* = std::numeric_limits<T>::epsilon()*/);
-
69 
-
72  template<typename T>
-
73  bool isNull(
-
74  detail::tmat4x4<T> const & m,
-
75  T const & epsilon/* = std::numeric_limits<T>::epsilon()*/);
-
76 
-
79  template<typename genType>
-
80  bool isIdentity(
-
81  genType const & m,
-
82  typename genType::value_type const & epsilon/* = std::numeric_limits<typename genType::value_type>::epsilon()*/);
-
83 
-
86  template<typename valType>
-
87  bool isNormalized(
-
88  detail::tmat2x2<valType> const & m,
-
89  valType const & epsilon/* = std::numeric_limits<valType>::epsilon()*/);
-
90 
-
93  template<typename valType>
-
94  bool isNormalized(
-
95  detail::tmat3x3<valType> const & m,
-
96  valType const & epsilon/* = std::numeric_limits<valType>::epsilon()*/);
-
97 
-
100  template<typename valType>
-
101  bool isNormalized(
-
102  detail::tmat4x4<valType> const & m,
-
103  valType const & epsilon/* = std::numeric_limits<valType>::epsilon()*/);
-
104 
-
107  template<typename valType, template <typename> class matType>
-
108  bool isOrthogonal(
-
109  matType<valType> const & m,
-
110  valType const & epsilon/* = std::numeric_limits<genType>::epsilon()*/);
-
111 
-
113 }//namespace glm
-
114 
-
115 #include "matrix_query.inl"
-
116 
-
117 #endif//GLM_GTX_matrix_query
-
- - - - + + + + + + +GLM: io.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
io.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_io
+
40 #define GLM_GTX_io
+
41 
+
42 // Dependency:
+
43 #include "../detail/setup.hpp"
+
44 #include "../gtc/quaternion.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_io extension included")
+
48 #endif
+
49 
+
50 #include <iosfwd> // std::basic_ostream<> (fwd)
+
51 #include <utility> // std::pair<>
+
52 
+
53 namespace glm
+
54 {
+
57 
+
58  namespace io
+
59  {
+
60 
+
61  class precision_guard {
+
62 
+
63  public:
+
64 
+
65  GLM_FUNC_DECL explicit precision_guard();
+
66  GLM_FUNC_DECL ~precision_guard();
+
67 
+
68  private:
+
69 
+
70  unsigned precision_;
+
71  unsigned value_width_;
+
72 
+
73  };
+
74 
+
75  class format_guard
+
76  {
+
77  public:
+
78  enum order_t { column_major, row_major, };
+
79 
+
80  GLM_FUNC_DECL explicit format_guard();
+
81  GLM_FUNC_DECL ~format_guard();
+
82 
+
83  private:
+
84 
+
85  order_t order_;
+
86  char cr_;
+
87  };
+
88 
+
89  // decimal places (dflt: 3)
+
90  GLM_FUNC_DECL unsigned& precision();
+
91 
+
92  // sign + value + '.' + decimals (dflt: 1 + 4 + 1 + precision())
+
93  GLM_FUNC_DECL unsigned& value_width();
+
94 
+
95  // matrix output order (dflt: row_major)
+
96  GLM_FUNC_DECL format_guard::order_t& order();
+
97 
+
98  // carriage/return char (dflt: '\n')
+
99  GLM_FUNC_DECL char& cr();
+
100 
+
101  // matrix output order -> column_major
+
102  GLM_FUNC_DECL std::ios_base& column_major(std::ios_base&);
+
103 
+
104  // matrix output order -> row_major
+
105  GLM_FUNC_DECL std::ios_base& row_major (std::ios_base&);
+
106 
+
107  // carriage/return char -> '\n'
+
108  GLM_FUNC_DECL std::ios_base& formatted (std::ios_base&);
+
109 
+
110  // carriage/return char -> ' '
+
111  GLM_FUNC_DECL std::ios_base& unformatted (std::ios_base&);
+
112 
+
113  }//namespace io
+
114 
+
115  namespace detail
+
116  {
+
117  template <typename CTy, typename CTr, typename T, precision P>
+
118  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tquat<T,P> const&);
+
119  template <typename CTy, typename CTr, typename T, precision P>
+
120  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec2<T,P> const&);
+
121  template <typename CTy, typename CTr, typename T, precision P>
+
122  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec3<T,P> const&);
+
123  template <typename CTy, typename CTr, typename T, precision P>
+
124  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tvec4<T,P> const&);
+
125  template <typename CTy, typename CTr, typename T, precision P>
+
126  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat2x2<T,P> const&);
+
127  template <typename CTy, typename CTr, typename T, precision P>
+
128  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat2x3<T,P> const&);
+
129  template <typename CTy, typename CTr, typename T, precision P>
+
130  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat2x4<T,P> const&);
+
131  template <typename CTy, typename CTr, typename T, precision P>
+
132  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat3x2<T,P> const&);
+
133  template <typename CTy, typename CTr, typename T, precision P>
+
134  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat3x3<T,P> const&);
+
135  template <typename CTy, typename CTr, typename T, precision P>
+
136  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat3x4<T,P> const&);
+
137  template <typename CTy, typename CTr, typename T, precision P>
+
138  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x2<T,P> const&);
+
139  template <typename CTy, typename CTr, typename T, precision P>
+
140  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x3<T,P> const&);
+
141  template <typename CTy, typename CTr, typename T, precision P>
+
142  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x4<T,P> const&);
+
143 
+
145 }//namespace detail
+
146 }//namespace glm
+
147 
+
148 #include "io.inl"
+
149 
+
150 #endif//GLM_GTX_io
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00060.html glm-0.9.5.1/doc/api/a00060.html --- glm-0.9.4.6/doc/api/a00060.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00060.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,121 +1,90 @@ - - - - - -matrix_transform.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
matrix_transform.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat4x4< T > frustum (T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)
 
template<typename T >
detail::tmat4x4< T > infinitePerspective (T fovy, T aspect, T near)
 
template<typename T >
detail::tmat4x4< T > lookAt (detail::tvec3< T > const &eye, detail::tvec3< T > const &center, detail::tvec3< T > const &up)
 
template<typename T >
detail::tmat4x4< T > ortho (T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
 
template<typename T >
detail::tmat4x4< T > ortho (T const &left, T const &right, T const &bottom, T const &top)
 
template<typename T >
detail::tmat4x4< T > perspective (T const &fovy, T const &aspect, T const &near, T const &far)
 
template<typename valType >
detail::tmat4x4< valType > perspectiveFov (valType const &fov, valType const &width, valType const &height, valType const &near, valType const &far)
 
template<typename T , typename U >
detail::tmat4x4< T > pickMatrix (detail::tvec2< T > const &center, detail::tvec2< T > const &delta, detail::tvec4< U > const &viewport)
 
template<typename T , typename U >
detail::tvec3< T > project (detail::tvec3< T > const &obj, detail::tmat4x4< T > const &model, detail::tmat4x4< T > const &proj, detail::tvec4< U > const &viewport)
 
template<typename T >
detail::tmat4x4< T > rotate (detail::tmat4x4< T > const &m, T const &angle, detail::tvec3< T > const &axis)
 
template<typename T >
detail::tmat4x4< T > scale (detail::tmat4x4< T > const &m, detail::tvec3< T > const &v)
 
template<typename T >
detail::tmat4x4< T > translate (detail::tmat4x4< T > const &m, detail::tvec3< T > const &v)
 
template<typename T >
detail::tmat4x4< T > tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T , typename U >
detail::tvec3< T > unProject (detail::tvec3< T > const &win, detail::tmat4x4< T > const &model, detail::tmat4x4< T > const &proj, detail::tvec4< U > const &viewport)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_matrix_transform

-
Date
2009-04-29 / 2011-05-16
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_transform
-
-GLM_GTX_transform2
- -

Definition in file matrix_transform.hpp.

-
- - - - + + + + + + +GLM: log_base.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
log_base.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + +

+Functions

template<typename genType >
genType log (genType const &x, genType const &base)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_log_base

+
Date
2008-10-24 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file log_base.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00060_source.html glm-0.9.5.1/doc/api/a00060_source.html --- glm-0.9.4.6/doc/api/a00060_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00060_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,209 +1,87 @@ - - - - - -matrix_transform.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
matrix_transform.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 
-
41 
-
42 
-
43 
-
44 
-
45 
-
46 #ifndef GLM_GTC_matrix_transform
-
47 #define GLM_GTC_matrix_transform GLM_VERSION
-
48 
-
49 // Dependency:
-
50 #include "../glm.hpp"
-
51 
-
52 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
53 # pragma message("GLM: GLM_GTC_matrix_transform extension included")
-
54 #endif
-
55 
-
56 namespace glm
-
57 {
-
60 
-
81  template <typename T>
-
82  detail::tmat4x4<T> translate(
-
83  detail::tmat4x4<T> const & m,
-
84  detail::tvec3<T> const & v);
-
85 
-
97  template <typename T>
-
98  detail::tmat4x4<T> rotate(
-
99  detail::tmat4x4<T> const & m,
-
100  T const & angle,
-
101  detail::tvec3<T> const & axis);
-
102 
-
113  template <typename T>
-
114  detail::tmat4x4<T> scale(
-
115  detail::tmat4x4<T> const & m,
-
116  detail::tvec3<T> const & v);
-
117 
-
129  template <typename T>
-
130  detail::tmat4x4<T> ortho(
-
131  T const & left,
-
132  T const & right,
-
133  T const & bottom,
-
134  T const & top,
-
135  T const & zNear,
-
136  T const & zFar);
-
137 
-
147  template <typename T>
-
148  detail::tmat4x4<T> ortho(
-
149  T const & left,
-
150  T const & right,
-
151  T const & bottom,
-
152  T const & top);
-
153 
-
164  template <typename T>
-
165  detail::tmat4x4<T> frustum(
-
166  T const & left,
-
167  T const & right,
-
168  T const & bottom,
-
169  T const & top,
-
170  T const & near,
-
171  T const & far);
-
172 
-
181  template <typename T>
-
182  detail::tmat4x4<T> perspective(
-
183  T const & fovy,
-
184  T const & aspect,
-
185  T const & near,
-
186  T const & far);
-
187 
-
197  template <typename valType>
-
198  detail::tmat4x4<valType> perspectiveFov(
-
199  valType const & fov,
-
200  valType const & width,
-
201  valType const & height,
-
202  valType const & near,
-
203  valType const & far);
-
204 
-
212  template <typename T>
-
213  detail::tmat4x4<T> infinitePerspective(
-
214  T fovy, T aspect, T near);
-
215 
-
223  template <typename T>
-
224  detail::tmat4x4<T> tweakedInfinitePerspective(
-
225  T fovy, T aspect, T near);
-
226 
-
236  template <typename T, typename U>
-
237  detail::tvec3<T> project(
-
238  detail::tvec3<T> const & obj,
-
239  detail::tmat4x4<T> const & model,
-
240  detail::tmat4x4<T> const & proj,
-
241  detail::tvec4<U> const & viewport);
-
242 
-
252  template <typename T, typename U>
-
253  detail::tvec3<T> unProject(
-
254  detail::tvec3<T> const & win,
-
255  detail::tmat4x4<T> const & model,
-
256  detail::tmat4x4<T> const & proj,
-
257  detail::tvec4<U> const & viewport);
-
258 
-
267  template <typename T, typename U>
-
268  detail::tmat4x4<T> pickMatrix(
-
269  detail::tvec2<T> const & center,
-
270  detail::tvec2<T> const & delta,
-
271  detail::tvec4<U> const & viewport);
-
272 
-
280  template <typename T>
-
281  detail::tmat4x4<T> lookAt(
-
282  detail::tvec3<T> const & eye,
-
283  detail::tvec3<T> const & center,
-
284  detail::tvec3<T> const & up);
-
285 
-
287 }//namespace glm
-
288 
-
289 #include "matrix_transform.inl"
-
290 
-
291 #endif//GLM_GTC_matrix_transform
-
- - - - + + + + + + +GLM: log_base.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
log_base.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_log_base
+
39 #define GLM_GTX_log_base
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_log_base extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename genType>
+
56  genType log(
+
57  genType const & x,
+
58  genType const & base);
+
59 
+
61 }//namespace glm
+
62 
+
63 #include "log_base.inl"
+
64 
+
65 #endif//GLM_GTX_log_base
+
GLM_FUNC_DECL genType log(genType const &x)
Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y...
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00061.html glm-0.9.5.1/doc/api/a00061.html --- glm-0.9.4.6/doc/api/a00061.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00061.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ - - - - - -mixed_product.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
mixed_product.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - -

-Functions

-template<typename valType >
valType mixedProduct (detail::tvec3< valType > const &v1, detail::tvec3< valType > const &v2, detail::tvec3< valType > const &v3)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_mixed_producte

-
Date
2007-04-03 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file mixed_product.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00061_source.html glm-0.9.5.1/doc/api/a00061_source.html --- glm-0.9.4.6/doc/api/a00061_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00061_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,117 +1,2373 @@ - - - - - -mixed_product.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
mixed_product.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_mixed_product
-
39 #define GLM_GTX_mixed_product GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_mixed_product extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
54  template <typename valType>
-
55  valType mixedProduct(
-
56  detail::tvec3<valType> const & v1,
-
57  detail::tvec3<valType> const & v2,
-
58  detail::tvec3<valType> const & v3);
-
59 
-
61 }// namespace glm
-
62 
-
63 #include "mixed_product.inl"
-
64 
-
65 #endif//GLM_GTX_mixed_product
-
- - - - + + + + + + +GLM: man.doxy Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
man.doxy
+
+
+
1 # Doxyfile 1.8.5
+
2 
+
3 # This file describes the settings to be used by the documentation system
+
4 # doxygen (www.doxygen.org) for a project.
+
5 #
+
6 # All text after a double hash (##) is considered a comment and is placed in
+
7 # front of the TAG it is preceding.
+
8 #
+
9 # All text after a single hash (#) is considered a comment and will be ignored.
+
10 # The format is:
+
11 # TAG = value [value, ...]
+
12 # For lists, items can also be appended using:
+
13 # TAG += value [value, ...]
+
14 # Values that contain spaces should be placed between quotes (\" \").
+
15 
+
16 #---------------------------------------------------------------------------
+
17 # Project related configuration options
+
18 #---------------------------------------------------------------------------
+
19 
+
20 # This tag specifies the encoding used for all characters in the config file
+
21 # that follow. The default is UTF-8 which is also the encoding used for all text
+
22 # before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
+
23 # built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
+
24 # for the list of possible encodings.
+
25 # The default value is: UTF-8.
+
26 
+
27 DOXYFILE_ENCODING = UTF-8
+
28 
+
29 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+
30 # double-quotes, unless you are using Doxywizard) that should identify the
+
31 # project for which the documentation is generated. This name is used in the
+
32 # title of most generated pages and in a few other places.
+
33 # The default value is: My Project.
+
34 
+
35 PROJECT_NAME = GLM
+
36 
+
37 # The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+
38 # could be handy for archiving the generated documentation or if some version
+
39 # control system is used.
+
40 
+
41 PROJECT_NUMBER = 0.9.5
+
42 
+
43 # Using the PROJECT_BRIEF tag one can provide an optional one line description
+
44 # for a project that appears at the top of each page and should give viewer a
+
45 # quick idea about the purpose of the project. Keep the description short.
+
46 
+
47 PROJECT_BRIEF =
+
48 
+
49 # With the PROJECT_LOGO tag one can specify an logo or icon that is included in
+
50 # the documentation. The maximum height of the logo should not exceed 55 pixels
+
51 # and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
+
52 # to the output directory.
+
53 
+
54 PROJECT_LOGO = G:/Repository/glm/doc/logo.png
+
55 
+
56 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+
57 # into which the generated documentation will be written. If a relative path is
+
58 # entered, it will be relative to the location where doxygen was started. If
+
59 # left blank the current directory will be used.
+
60 
+
61 OUTPUT_DIRECTORY = .
+
62 
+
63 # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
+
64 # directories (in 2 levels) under the output directory of each output format and
+
65 # will distribute the generated files over these directories. Enabling this
+
66 # option can be useful when feeding doxygen a huge amount of source files, where
+
67 # putting all generated files in the same directory would otherwise causes
+
68 # performance problems for the file system.
+
69 # The default value is: NO.
+
70 
+
71 CREATE_SUBDIRS = NO
+
72 
+
73 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
+
74 # documentation generated by doxygen is written. Doxygen will use this
+
75 # information to generate all constant output in the proper language.
+
76 # Possible values are: Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-
+
77 # Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto, Farsi,
+
78 # Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en,
+
79 # Korean, Korean-en, Latvian, Norwegian, Macedonian, Persian, Polish,
+
80 # Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish,
+
81 # Turkish, Ukrainian and Vietnamese.
+
82 # The default value is: English.
+
83 
+
84 OUTPUT_LANGUAGE = English
+
85 
+
86 # If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
+
87 # descriptions after the members that are listed in the file and class
+
88 # documentation (similar to Javadoc). Set to NO to disable this.
+
89 # The default value is: YES.
+
90 
+
91 BRIEF_MEMBER_DESC = NO
+
92 
+
93 # If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
+
94 # description of a member or function before the detailed description
+
95 #
+
96 # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+
97 # brief descriptions will be completely suppressed.
+
98 # The default value is: YES.
+
99 
+
100 REPEAT_BRIEF = YES
+
101 
+
102 # This tag implements a quasi-intelligent brief description abbreviator that is
+
103 # used to form the text in various listings. Each string in this list, if found
+
104 # as the leading text of the brief description, will be stripped from the text
+
105 # and the result, after processing the whole list, is used as the annotated
+
106 # text. Otherwise, the brief description is used as-is. If left blank, the
+
107 # following values are used ($name is automatically replaced with the name of
+
108 # the entity):The $name class, The $name widget, The $name file, is, provides,
+
109 # specifies, contains, represents, a, an and the.
+
110 
+
111 ABBREVIATE_BRIEF = "The $name class " \
+
112  "The $name widget " \
+
113  "The $name file " \
+
114  is \
+
115  provides \
+
116  specifies \
+
117  contains \
+
118  represents \
+
119  a \
+
120  an \
+
121  the
+
122 
+
123 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+
124 # doxygen will generate a detailed section even if there is only a brief
+
125 # description.
+
126 # The default value is: NO.
+
127 
+
128 ALWAYS_DETAILED_SEC = NO
+
129 
+
130 # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+
131 # inherited members of a class in the documentation of that class as if those
+
132 # members were ordinary class members. Constructors, destructors and assignment
+
133 # operators of the base classes will not be shown.
+
134 # The default value is: NO.
+
135 
+
136 INLINE_INHERITED_MEMB = NO
+
137 
+
138 # If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
+
139 # before files name in the file list and in the header files. If set to NO the
+
140 # shortest path that makes the file name unique will be used
+
141 # The default value is: YES.
+
142 
+
143 FULL_PATH_NAMES = NO
+
144 
+
145 # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+
146 # Stripping is only done if one of the specified strings matches the left-hand
+
147 # part of the path. The tag can be used to show relative paths in the file list.
+
148 # If left blank the directory from which doxygen is run is used as the path to
+
149 # strip.
+
150 #
+
151 # Note that you can specify absolute paths here, but also relative paths, which
+
152 # will be relative from the directory where doxygen is started.
+
153 # This tag requires that the tag FULL_PATH_NAMES is set to YES.
+
154 
+
155 STRIP_FROM_PATH = "C:/Documents and Settings/Groove/ "
+
156 
+
157 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+
158 # path mentioned in the documentation of a class, which tells the reader which
+
159 # header file to include in order to use a class. If left blank only the name of
+
160 # the header file containing the class definition is used. Otherwise one should
+
161 # specify the list of include paths that are normally passed to the compiler
+
162 # using the -I flag.
+
163 
+
164 STRIP_FROM_INC_PATH =
+
165 
+
166 # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+
167 # less readable) file names. This can be useful is your file systems doesn't
+
168 # support long names like on DOS, Mac, or CD-ROM.
+
169 # The default value is: NO.
+
170 
+
171 SHORT_NAMES = YES
+
172 
+
173 # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+
174 # first line (until the first dot) of a Javadoc-style comment as the brief
+
175 # description. If set to NO, the Javadoc-style will behave just like regular Qt-
+
176 # style comments (thus requiring an explicit @brief command for a brief
+
177 # description.)
+
178 # The default value is: NO.
+
179 
+
180 JAVADOC_AUTOBRIEF = YES
+
181 
+
182 # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+
183 # line (until the first dot) of a Qt-style comment as the brief description. If
+
184 # set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+
185 # requiring an explicit \brief command for a brief description.)
+
186 # The default value is: NO.
+
187 
+
188 QT_AUTOBRIEF = NO
+
189 
+
190 # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+
191 # multi-line C++ special comment block (i.e. a block of
+
192 # a brief description. This used to be the default behavior. The new default is
+
193 # to treat a multi-line C++ comment block as a detailed description. Set this
+
194 # tag to YES if you prefer the old behavior instead.
+
195 #
+
196 # Note that setting this tag to YES also means that rational rose comments are
+
197 # not recognized any more.
+
198 # The default value is: NO.
+
199 
+
200 MULTILINE_CPP_IS_BRIEF = NO
+
201 
+
202 # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+
203 # documentation from any documented member that it re-implements.
+
204 # The default value is: YES.
+
205 
+
206 INHERIT_DOCS = YES
+
207 
+
208 # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
+
209 # new page for each member. If set to NO, the documentation of a member will be
+
210 # part of the file/class/namespace that contains it.
+
211 # The default value is: NO.
+
212 
+
213 SEPARATE_MEMBER_PAGES = NO
+
214 
+
215 # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+
216 # uses this value to replace tabs by spaces in code fragments.
+
217 # Minimum value: 1, maximum value: 16, default value: 4.
+
218 
+
219 TAB_SIZE = 8
+
220 
+
221 # This tag can be used to specify a number of aliases that act as commands in
+
222 # the documentation. An alias has the form:
+
223 # name=value
+
224 # For example adding
+
225 # "sideeffect=@par Side Effects:\n"
+
226 # will allow you to put the command \sideeffect (or @sideeffect) in the
+
227 # documentation, which will result in a user-defined paragraph with heading
+
228 # "Side Effects:". You can put \n's in the value part of an alias to insert
+
229 # newlines.
+
230 
+
231 ALIASES =
+
232 
+
233 # This tag can be used to specify a number of word-keyword mappings (TCL only).
+
234 # A mapping has the form "name=value". For example adding "class=itcl::class"
+
235 # will allow you to use the command class in the itcl::class meaning.
+
236 
+
237 TCL_SUBST =
+
238 
+
239 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+
240 # only. Doxygen will then generate output that is more tailored for C. For
+
241 # instance, some of the names that are used will be different. The list of all
+
242 # members will be omitted, etc.
+
243 # The default value is: NO.
+
244 
+
245 OPTIMIZE_OUTPUT_FOR_C = NO
+
246 
+
247 # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+
248 # Python sources only. Doxygen will then generate output that is more tailored
+
249 # for that language. For instance, namespaces will be presented as packages,
+
250 # qualified scopes will look different, etc.
+
251 # The default value is: NO.
+
252 
+
253 OPTIMIZE_OUTPUT_JAVA = NO
+
254 
+
255 # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+
256 # sources. Doxygen will then generate output that is tailored for Fortran.
+
257 # The default value is: NO.
+
258 
+
259 OPTIMIZE_FOR_FORTRAN = NO
+
260 
+
261 # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+
262 # sources. Doxygen will then generate output that is tailored for VHDL.
+
263 # The default value is: NO.
+
264 
+
265 OPTIMIZE_OUTPUT_VHDL = NO
+
266 
+
267 # Doxygen selects the parser to use depending on the extension of the files it
+
268 # parses. With this tag you can assign which parser to use for a given
+
269 # extension. Doxygen has a built-in mapping, but you can override or extend it
+
270 # using this tag. The format is ext=language, where ext is a file extension, and
+
271 # language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+
272 # C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL. For instance to make
+
273 # doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
+
274 # (default is Fortran), use: inc=Fortran f=C.
+
275 #
+
276 # Note For files without extension you can use no_extension as a placeholder.
+
277 #
+
278 # Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+
279 # the files are not read by doxygen.
+
280 
+
281 EXTENSION_MAPPING =
+
282 
+
283 # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+
284 # according to the Markdown format, which allows for more readable
+
285 # documentation. See http://daringfireball.net/projects/markdown/ for details.
+
286 # The output of markdown processing is further processed by doxygen, so you can
+
287 # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+
288 # case of backward compatibilities issues.
+
289 # The default value is: YES.
+
290 
+
291 MARKDOWN_SUPPORT = YES
+
292 
+
293 # When enabled doxygen tries to link words that correspond to documented
+
294 # classes, or namespaces to their corresponding documentation. Such a link can
+
295 # be prevented in individual cases by by putting a % sign in front of the word
+
296 # or globally by setting AUTOLINK_SUPPORT to NO.
+
297 # The default value is: YES.
+
298 
+
299 AUTOLINK_SUPPORT = YES
+
300 
+
301 # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+
302 # to include (a tag file for) the STL sources as input, then you should set this
+
303 # tag to YES in order to let doxygen match functions declarations and
+
304 # definitions whose arguments contain STL classes (e.g. func(std::string);
+
305 # versus func(std::string) {}). This also make the inheritance and collaboration
+
306 # diagrams that involve STL classes more complete and accurate.
+
307 # The default value is: NO.
+
308 
+
309 BUILTIN_STL_SUPPORT = NO
+
310 
+
311 # If you use Microsoft's C++/CLI language, you should set this option to YES to
+
312 # enable parsing support.
+
313 # The default value is: NO.
+
314 
+
315 CPP_CLI_SUPPORT = NO
+
316 
+
317 # Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+
318 # http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
+
319 # will parse them like normal C++ but will assume all classes use public instead
+
320 # of private inheritance when no explicit protection keyword is present.
+
321 # The default value is: NO.
+
322 
+
323 SIP_SUPPORT = NO
+
324 
+
325 # For Microsoft's IDL there are propget and propput attributes to indicate
+
326 # getter and setter methods for a property. Setting this option to YES will make
+
327 # doxygen to replace the get and set methods by a property in the documentation.
+
328 # This will only work if the methods are indeed getting or setting a simple
+
329 # type. If this is not the case, or you want to show the methods anyway, you
+
330 # should set this option to NO.
+
331 # The default value is: YES.
+
332 
+
333 IDL_PROPERTY_SUPPORT = YES
+
334 
+
335 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+
336 # tag is set to YES, then doxygen will reuse the documentation of the first
+
337 # member in the group (if any) for the other members of the group. By default
+
338 # all members of a group must be documented explicitly.
+
339 # The default value is: NO.
+
340 
+
341 DISTRIBUTE_GROUP_DOC = NO
+
342 
+
343 # Set the SUBGROUPING tag to YES to allow class member groups of the same type
+
344 # (for instance a group of public functions) to be put as a subgroup of that
+
345 # type (e.g. under the Public Functions section). Set it to NO to prevent
+
346 # subgrouping. Alternatively, this can be done per class using the
+
347 # \nosubgrouping command.
+
348 # The default value is: YES.
+
349 
+
350 SUBGROUPING = NO
+
351 
+
352 # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+
353 # are shown inside the group in which they are included (e.g. using \ingroup)
+
354 # instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+
355 # and RTF).
+
356 #
+
357 # Note that this feature does not work in combination with
+
358 # SEPARATE_MEMBER_PAGES.
+
359 # The default value is: NO.
+
360 
+
361 INLINE_GROUPED_CLASSES = NO
+
362 
+
363 # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+
364 # with only public data fields or simple typedef fields will be shown inline in
+
365 # the documentation of the scope in which they are defined (i.e. file,
+
366 # namespace, or group documentation), provided this scope is documented. If set
+
367 # to NO, structs, classes, and unions are shown on a separate page (for HTML and
+
368 # Man pages) or section (for LaTeX and RTF).
+
369 # The default value is: NO.
+
370 
+
371 INLINE_SIMPLE_STRUCTS = NO
+
372 
+
373 # When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+
374 # enum is documented as struct, union, or enum with the name of the typedef. So
+
375 # typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+
376 # with name TypeT. When disabled the typedef will appear as a member of a file,
+
377 # namespace, or class. And the struct will be named TypeS. This can typically be
+
378 # useful for C code in case the coding convention dictates that all compound
+
379 # types are typedef'ed and only the typedef is referenced, never the tag name.
+
380 # The default value is: NO.
+
381 
+
382 TYPEDEF_HIDES_STRUCT = NO
+
383 
+
384 # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+
385 # cache is used to resolve symbols given their name and scope. Since this can be
+
386 # an expensive process and often the same symbol appears multiple times in the
+
387 # code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+
388 # doxygen will become slower. If the cache is too large, memory is wasted. The
+
389 # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+
390 # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+
391 # symbols. At the end of a run doxygen will report the cache usage and suggest
+
392 # the optimal cache size from a speed point of view.
+
393 # Minimum value: 0, maximum value: 9, default value: 0.
+
394 
+
395 LOOKUP_CACHE_SIZE = 0
+
396 
+
397 #---------------------------------------------------------------------------
+
398 # Build related configuration options
+
399 #---------------------------------------------------------------------------
+
400 
+
401 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+
402 # documentation are documented, even if no documentation was available. Private
+
403 # class members and static file members will be hidden unless the
+
404 # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+
405 # Note: This will also disable the warnings about undocumented members that are
+
406 # normally produced when WARNINGS is set to YES.
+
407 # The default value is: NO.
+
408 
+
409 EXTRACT_ALL = NO
+
410 
+
411 # If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
+
412 # be included in the documentation.
+
413 # The default value is: NO.
+
414 
+
415 EXTRACT_PRIVATE = NO
+
416 
+
417 # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
+
418 # scope will be included in the documentation.
+
419 # The default value is: NO.
+
420 
+
421 EXTRACT_PACKAGE = NO
+
422 
+
423 # If the EXTRACT_STATIC tag is set to YES all static members of a file will be
+
424 # included in the documentation.
+
425 # The default value is: NO.
+
426 
+
427 EXTRACT_STATIC = YES
+
428 
+
429 # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
+
430 # locally in source files will be included in the documentation. If set to NO
+
431 # only classes defined in header files are included. Does not have any effect
+
432 # for Java sources.
+
433 # The default value is: YES.
+
434 
+
435 EXTRACT_LOCAL_CLASSES = NO
+
436 
+
437 # This flag is only useful for Objective-C code. When set to YES local methods,
+
438 # which are defined in the implementation section but not in the interface are
+
439 # included in the documentation. If set to NO only methods in the interface are
+
440 # included.
+
441 # The default value is: NO.
+
442 
+
443 EXTRACT_LOCAL_METHODS = NO
+
444 
+
445 # If this flag is set to YES, the members of anonymous namespaces will be
+
446 # extracted and appear in the documentation as a namespace called
+
447 # 'anonymous_namespace{file}', where file will be replaced with the base name of
+
448 # the file that contains the anonymous namespace. By default anonymous namespace
+
449 # are hidden.
+
450 # The default value is: NO.
+
451 
+
452 EXTRACT_ANON_NSPACES = NO
+
453 
+
454 # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+
455 # undocumented members inside documented classes or files. If set to NO these
+
456 # members will be included in the various overviews, but no documentation
+
457 # section is generated. This option has no effect if EXTRACT_ALL is enabled.
+
458 # The default value is: NO.
+
459 
+
460 HIDE_UNDOC_MEMBERS = YES
+
461 
+
462 # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+
463 # undocumented classes that are normally visible in the class hierarchy. If set
+
464 # to NO these classes will be included in the various overviews. This option has
+
465 # no effect if EXTRACT_ALL is enabled.
+
466 # The default value is: NO.
+
467 
+
468 HIDE_UNDOC_CLASSES = YES
+
469 
+
470 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+
471 # (class|struct|union) declarations. If set to NO these declarations will be
+
472 # included in the documentation.
+
473 # The default value is: NO.
+
474 
+
475 HIDE_FRIEND_COMPOUNDS = YES
+
476 
+
477 # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+
478 # documentation blocks found inside the body of a function. If set to NO these
+
479 # blocks will be appended to the function's detailed documentation block.
+
480 # The default value is: NO.
+
481 
+
482 HIDE_IN_BODY_DOCS = YES
+
483 
+
484 # The INTERNAL_DOCS tag determines if documentation that is typed after a
+
485 # \internal command is included. If the tag is set to NO then the documentation
+
486 # will be excluded. Set it to YES to include the internal documentation.
+
487 # The default value is: NO.
+
488 
+
489 INTERNAL_DOCS = NO
+
490 
+
491 # If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+
492 # names in lower-case letters. If set to YES upper-case letters are also
+
493 # allowed. This is useful if you have classes or files whose names only differ
+
494 # in case and if your file system supports case sensitive file names. Windows
+
495 # and Mac users are advised to set this option to NO.
+
496 # The default value is: system dependent.
+
497 
+
498 CASE_SENSE_NAMES = YES
+
499 
+
500 # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+
501 # their full class and namespace scopes in the documentation. If set to YES the
+
502 # scope will be hidden.
+
503 # The default value is: NO.
+
504 
+
505 HIDE_SCOPE_NAMES = YES
+
506 
+
507 # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+
508 # the files that are included by a file in the documentation of that file.
+
509 # The default value is: YES.
+
510 
+
511 SHOW_INCLUDE_FILES = NO
+
512 
+
513 # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+
514 # files with double quotes in the documentation rather than with sharp brackets.
+
515 # The default value is: NO.
+
516 
+
517 FORCE_LOCAL_INCLUDES = NO
+
518 
+
519 # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+
520 # documentation for inline members.
+
521 # The default value is: YES.
+
522 
+
523 INLINE_INFO = NO
+
524 
+
525 # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+
526 # (detailed) documentation of file and class members alphabetically by member
+
527 # name. If set to NO the members will appear in declaration order.
+
528 # The default value is: YES.
+
529 
+
530 SORT_MEMBER_DOCS = YES
+
531 
+
532 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+
533 # descriptions of file, namespace and class members alphabetically by member
+
534 # name. If set to NO the members will appear in declaration order.
+
535 # The default value is: NO.
+
536 
+
537 SORT_BRIEF_DOCS = YES
+
538 
+
539 # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+
540 # (brief and detailed) documentation of class members so that constructors and
+
541 # destructors are listed first. If set to NO the constructors will appear in the
+
542 # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+
543 # Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+
544 # member documentation.
+
545 # Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+
546 # detailed member documentation.
+
547 # The default value is: NO.
+
548 
+
549 SORT_MEMBERS_CTORS_1ST = NO
+
550 
+
551 # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+
552 # of group names into alphabetical order. If set to NO the group names will
+
553 # appear in their defined order.
+
554 # The default value is: NO.
+
555 
+
556 SORT_GROUP_NAMES = NO
+
557 
+
558 # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+
559 # fully-qualified names, including namespaces. If set to NO, the class list will
+
560 # be sorted only by class name, not including the namespace part.
+
561 # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+
562 # Note: This option applies only to the class list, not to the alphabetical
+
563 # list.
+
564 # The default value is: NO.
+
565 
+
566 SORT_BY_SCOPE_NAME = YES
+
567 
+
568 # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+
569 # type resolution of all parameters of a function it will reject a match between
+
570 # the prototype and the implementation of a member function even if there is
+
571 # only one candidate or it is obvious which candidate to choose by doing a
+
572 # simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+
573 # accept a match between prototype and implementation in such cases.
+
574 # The default value is: NO.
+
575 
+
576 STRICT_PROTO_MATCHING = NO
+
577 
+
578 # The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
+
579 # todo list. This list is created by putting \todo commands in the
+
580 # documentation.
+
581 # The default value is: YES.
+
582 
+
583 GENERATE_TODOLIST = YES
+
584 
+
585 # The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
+
586 # test list. This list is created by putting \test commands in the
+
587 # documentation.
+
588 # The default value is: YES.
+
589 
+
590 GENERATE_TESTLIST = YES
+
591 
+
592 # The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
+
593 # list. This list is created by putting \bug commands in the documentation.
+
594 # The default value is: YES.
+
595 
+
596 GENERATE_BUGLIST = YES
+
597 
+
598 # The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
+
599 # the deprecated list. This list is created by putting \deprecated commands in
+
600 # the documentation.
+
601 # The default value is: YES.
+
602 
+
603 GENERATE_DEPRECATEDLIST= YES
+
604 
+
605 # The ENABLED_SECTIONS tag can be used to enable conditional documentation
+
606 # sections, marked by \if <section_label> ... \endif and \cond <section_label>
+
607 # ... \endcond blocks.
+
608 
+
609 ENABLED_SECTIONS =
+
610 
+
611 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+
612 # initial value of a variable or macro / define can have for it to appear in the
+
613 # documentation. If the initializer consists of more lines than specified here
+
614 # it will be hidden. Use a value of 0 to hide initializers completely. The
+
615 # appearance of the value of individual variables and macros / defines can be
+
616 # controlled using \showinitializer or \hideinitializer command in the
+
617 # documentation regardless of this setting.
+
618 # Minimum value: 0, maximum value: 10000, default value: 30.
+
619 
+
620 MAX_INITIALIZER_LINES = 30
+
621 
+
622 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+
623 # the bottom of the documentation of classes and structs. If set to YES the list
+
624 # will mention the files that were used to generate the documentation.
+
625 # The default value is: YES.
+
626 
+
627 SHOW_USED_FILES = NO
+
628 
+
629 # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+
630 # will remove the Files entry from the Quick Index and from the Folder Tree View
+
631 # (if specified).
+
632 # The default value is: YES.
+
633 
+
634 SHOW_FILES = YES
+
635 
+
636 # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+
637 # page. This will remove the Namespaces entry from the Quick Index and from the
+
638 # Folder Tree View (if specified).
+
639 # The default value is: YES.
+
640 
+
641 SHOW_NAMESPACES = YES
+
642 
+
643 # The FILE_VERSION_FILTER tag can be used to specify a program or script that
+
644 # doxygen should invoke to get the current version for each file (typically from
+
645 # the version control system). Doxygen will invoke the program by executing (via
+
646 # popen()) the command command input-file, where command is the value of the
+
647 # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+
648 # by doxygen. Whatever the program writes to standard output is used as the file
+
649 # version. For an example see the documentation.
+
650 
+
651 FILE_VERSION_FILTER =
+
652 
+
653 # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+
654 # by doxygen. The layout file controls the global structure of the generated
+
655 # output files in an output format independent way. To create the layout file
+
656 # that represents doxygen's defaults, run doxygen with the -l option. You can
+
657 # optionally specify a file name after the option, if omitted DoxygenLayout.xml
+
658 # will be used as the name of the layout file.
+
659 #
+
660 # Note that if you run doxygen from a directory containing a file called
+
661 # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+
662 # tag is left empty.
+
663 
+
664 LAYOUT_FILE =
+
665 
+
666 # The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+
667 # the reference definitions. This must be a list of .bib files. The .bib
+
668 # extension is automatically appended if omitted. This requires the bibtex tool
+
669 # to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
+
670 # For LaTeX the style of the bibliography can be controlled using
+
671 # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+
672 # search path. Do not use file names with spaces, bibtex cannot handle them. See
+
673 # also \cite for info how to create references.
+
674 
+
675 CITE_BIB_FILES =
+
676 
+
677 #---------------------------------------------------------------------------
+
678 # Configuration options related to warning and progress messages
+
679 #---------------------------------------------------------------------------
+
680 
+
681 # The QUIET tag can be used to turn on/off the messages that are generated to
+
682 # standard output by doxygen. If QUIET is set to YES this implies that the
+
683 # messages are off.
+
684 # The default value is: NO.
+
685 
+
686 QUIET = NO
+
687 
+
688 # The WARNINGS tag can be used to turn on/off the warning messages that are
+
689 # generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
+
690 # this implies that the warnings are on.
+
691 #
+
692 # Tip: Turn warnings on while writing the documentation.
+
693 # The default value is: YES.
+
694 
+
695 WARNINGS = YES
+
696 
+
697 # If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
+
698 # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+
699 # will automatically be disabled.
+
700 # The default value is: YES.
+
701 
+
702 WARN_IF_UNDOCUMENTED = YES
+
703 
+
704 # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+
705 # potential errors in the documentation, such as not documenting some parameters
+
706 # in a documented function, or documenting parameters that don't exist or using
+
707 # markup commands wrongly.
+
708 # The default value is: YES.
+
709 
+
710 WARN_IF_DOC_ERROR = YES
+
711 
+
712 # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+
713 # are documented, but have no documentation for their parameters or return
+
714 # value. If set to NO doxygen will only warn about wrong or incomplete parameter
+
715 # documentation, but not about the absence of documentation.
+
716 # The default value is: NO.
+
717 
+
718 WARN_NO_PARAMDOC = NO
+
719 
+
720 # The WARN_FORMAT tag determines the format of the warning messages that doxygen
+
721 # can produce. The string should contain the $file, $line, and $text tags, which
+
722 # will be replaced by the file and line number from which the warning originated
+
723 # and the warning text. Optionally the format may contain $version, which will
+
724 # be replaced by the version of the file (if it could be obtained via
+
725 # FILE_VERSION_FILTER)
+
726 # The default value is: $file:$line: $text.
+
727 
+
728 WARN_FORMAT = "$file:$line: $text"
+
729 
+
730 # The WARN_LOGFILE tag can be used to specify a file to which warning and error
+
731 # messages should be written. If left blank the output is written to standard
+
732 # error (stderr).
+
733 
+
734 WARN_LOGFILE =
+
735 
+
736 #---------------------------------------------------------------------------
+
737 # Configuration options related to the input files
+
738 #---------------------------------------------------------------------------
+
739 
+
740 # The INPUT tag is used to specify the files and/or directories that contain
+
741 # documented source files. You may enter file names like myfile.cpp or
+
742 # directories like /usr/src/myproject. Separate the files or directories with
+
743 # spaces.
+
744 # Note: If this tag is empty the current directory is searched.
+
745 
+
746 INPUT = ../glm \
+
747  .
+
748 
+
749 # This tag can be used to specify the character encoding of the source files
+
750 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+
751 # libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+
752 # documentation (see: http://www.gnu.org/software/libiconv) for the list of
+
753 # possible encodings.
+
754 # The default value is: UTF-8.
+
755 
+
756 INPUT_ENCODING = UTF-8
+
757 
+
758 # If the value of the INPUT tag contains directories, you can use the
+
759 # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+
760 # *.h) to filter out the source-files in the directories. If left blank the
+
761 # following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
+
762 # *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
+
763 # *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
+
764 # *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
+
765 # *.qsf, *.as and *.js.
+
766 
+
767 FILE_PATTERNS = *.hpp \
+
768  *.doxy
+
769 
+
770 # The RECURSIVE tag can be used to specify whether or not subdirectories should
+
771 # be searched for input files as well.
+
772 # The default value is: NO.
+
773 
+
774 RECURSIVE = YES
+
775 
+
776 # The EXCLUDE tag can be used to specify files and/or directories that should be
+
777 # excluded from the INPUT source files. This way you can easily exclude a
+
778 # subdirectory from a directory tree whose root is specified with the INPUT tag.
+
779 #
+
780 # Note that relative paths are relative to the directory from which doxygen is
+
781 # run.
+
782 
+
783 EXCLUDE =
+
784 
+
785 # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+
786 # directories that are symbolic links (a Unix file system feature) are excluded
+
787 # from the input.
+
788 # The default value is: NO.
+
789 
+
790 EXCLUDE_SYMLINKS = NO
+
791 
+
792 # If the value of the INPUT tag contains directories, you can use the
+
793 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+
794 # certain files from those directories.
+
795 #
+
796 # Note that the wildcards are matched against the file with absolute path, so to
+
797 # exclude all test directories for example use the pattern */test/*
+
798 
+
799 EXCLUDE_PATTERNS =
+
800 
+
801 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+
802 # (namespaces, classes, functions, etc.) that should be excluded from the
+
803 # output. The symbol name can be a fully qualified name, a word, or if the
+
804 # wildcard * is used, a substring. Examples: ANamespace, AClass,
+
805 # AClass::ANamespace, ANamespace::*Test
+
806 #
+
807 # Note that the wildcards are matched against the file with absolute path, so to
+
808 # exclude all test directories use the pattern */test/*
+
809 
+
810 EXCLUDE_SYMBOLS =
+
811 
+
812 # The EXAMPLE_PATH tag can be used to specify one or more files or directories
+
813 # that contain example code fragments that are included (see the \include
+
814 # command).
+
815 
+
816 EXAMPLE_PATH =
+
817 
+
818 # If the value of the EXAMPLE_PATH tag contains directories, you can use the
+
819 # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+
820 # *.h) to filter out the source-files in the directories. If left blank all
+
821 # files are included.
+
822 
+
823 EXAMPLE_PATTERNS = *
+
824 
+
825 # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+
826 # searched for input files to be used with the \include or \dontinclude commands
+
827 # irrespective of the value of the RECURSIVE tag.
+
828 # The default value is: NO.
+
829 
+
830 EXAMPLE_RECURSIVE = NO
+
831 
+
832 # The IMAGE_PATH tag can be used to specify one or more files or directories
+
833 # that contain images that are to be included in the documentation (see the
+
834 # \image command).
+
835 
+
836 IMAGE_PATH =
+
837 
+
838 # The INPUT_FILTER tag can be used to specify a program that doxygen should
+
839 # invoke to filter for each input file. Doxygen will invoke the filter program
+
840 # by executing (via popen()) the command:
+
841 #
+
842 # <filter> <input-file>
+
843 #
+
844 # where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
+
845 # name of an input file. Doxygen will then use the output that the filter
+
846 # program writes to standard output. If FILTER_PATTERNS is specified, this tag
+
847 # will be ignored.
+
848 #
+
849 # Note that the filter must not add or remove lines; it is applied before the
+
850 # code is scanned, but not when the output code is generated. If lines are added
+
851 # or removed, the anchors will not be placed correctly.
+
852 
+
853 INPUT_FILTER =
+
854 
+
855 # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+
856 # basis. Doxygen will compare the file name with each pattern and apply the
+
857 # filter if there is a match. The filters are a list of the form: pattern=filter
+
858 # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+
859 # filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+
860 # patterns match the file name, INPUT_FILTER is applied.
+
861 
+
862 FILTER_PATTERNS =
+
863 
+
864 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+
865 # INPUT_FILTER ) will also be used to filter the input files that are used for
+
866 # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
867 # The default value is: NO.
+
868 
+
869 FILTER_SOURCE_FILES = NO
+
870 
+
871 # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+
872 # pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+
873 # it is also possible to disable source filtering for a specific pattern using
+
874 # *.ext= (so without naming a filter).
+
875 # This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
+
876 
+
877 FILTER_SOURCE_PATTERNS =
+
878 
+
879 # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+
880 # is part of the input, its contents will be placed on the main page
+
881 # (index.html). This can be useful if you have a project on for instance GitHub
+
882 # and want to reuse the introduction page also for the doxygen output.
+
883 
+
884 USE_MDFILE_AS_MAINPAGE =
+
885 
+
886 #---------------------------------------------------------------------------
+
887 # Configuration options related to source browsing
+
888 #---------------------------------------------------------------------------
+
889 
+
890 # If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+
891 # generated. Documented entities will be cross-referenced with these sources.
+
892 #
+
893 # Note: To get rid of all source code in the generated output, make sure that
+
894 # also VERBATIM_HEADERS is set to NO.
+
895 # The default value is: NO.
+
896 
+
897 SOURCE_BROWSER = YES
+
898 
+
899 # Setting the INLINE_SOURCES tag to YES will include the body of functions,
+
900 # classes and enums directly into the documentation.
+
901 # The default value is: NO.
+
902 
+
903 INLINE_SOURCES = NO
+
904 
+
905 # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+
906 # special comment blocks from generated source code fragments. Normal C, C++ and
+
907 # Fortran comments will always remain visible.
+
908 # The default value is: YES.
+
909 
+
910 STRIP_CODE_COMMENTS = YES
+
911 
+
912 # If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+
913 # function all documented functions referencing it will be listed.
+
914 # The default value is: NO.
+
915 
+
916 REFERENCED_BY_RELATION = YES
+
917 
+
918 # If the REFERENCES_RELATION tag is set to YES then for each documented function
+
919 # all documented entities called/used by that function will be listed.
+
920 # The default value is: NO.
+
921 
+
922 REFERENCES_RELATION = YES
+
923 
+
924 # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+
925 # to YES, then the hyperlinks from functions in REFERENCES_RELATION and
+
926 # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+
927 # link to the documentation.
+
928 # The default value is: YES.
+
929 
+
930 REFERENCES_LINK_SOURCE = YES
+
931 
+
932 # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+
933 # source code will show a tooltip with additional information such as prototype,
+
934 # brief description and links to the definition and documentation. Since this
+
935 # will make the HTML file larger and loading of large files a bit slower, you
+
936 # can opt to disable this feature.
+
937 # The default value is: YES.
+
938 # This tag requires that the tag SOURCE_BROWSER is set to YES.
+
939 
+
940 SOURCE_TOOLTIPS = YES
+
941 
+
942 # If the USE_HTAGS tag is set to YES then the references to source code will
+
943 # point to the HTML generated by the htags(1) tool instead of doxygen built-in
+
944 # source browser. The htags tool is part of GNU's global source tagging system
+
945 # (see http://www.gnu.org/software/global/global.html). You will need version
+
946 # 4.8.6 or higher.
+
947 #
+
948 # To use it do the following:
+
949 # - Install the latest version of global
+
950 # - Enable SOURCE_BROWSER and USE_HTAGS in the config file
+
951 # - Make sure the INPUT points to the root of the source tree
+
952 # - Run doxygen as normal
+
953 #
+
954 # Doxygen will invoke htags (and that will in turn invoke gtags), so these
+
955 # tools must be available from the command line (i.e. in the search path).
+
956 #
+
957 # The result: instead of the source browser generated by doxygen, the links to
+
958 # source code will now point to the output of htags.
+
959 # The default value is: NO.
+
960 # This tag requires that the tag SOURCE_BROWSER is set to YES.
+
961 
+
962 USE_HTAGS = NO
+
963 
+
964 # If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+
965 # verbatim copy of the header file for each class for which an include is
+
966 # specified. Set to NO to disable this.
+
967 # See also: Section \class.
+
968 # The default value is: YES.
+
969 
+
970 VERBATIM_HEADERS = YES
+
971 
+
972 # If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the
+
973 # clang parser (see: http://clang.llvm.org/) for more acurate parsing at the
+
974 # cost of reduced performance. This can be particularly helpful with template
+
975 # rich C++ code for which doxygen's built-in parser lacks the necessary type
+
976 # information.
+
977 # Note: The availability of this option depends on whether or not doxygen was
+
978 # compiled with the --with-libclang option.
+
979 # The default value is: NO.
+
980 
+
981 CLANG_ASSISTED_PARSING = NO
+
982 
+
983 # If clang assisted parsing is enabled you can provide the compiler with command
+
984 # line options that you would normally use when invoking the compiler. Note that
+
985 # the include paths will already be set by doxygen for the files and directories
+
986 # specified with INPUT and INCLUDE_PATH.
+
987 # This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
+
988 
+
989 CLANG_OPTIONS =
+
990 
+
991 #---------------------------------------------------------------------------
+
992 # Configuration options related to the alphabetical class index
+
993 #---------------------------------------------------------------------------
+
994 
+
995 # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+
996 # compounds will be generated. Enable this if the project contains a lot of
+
997 # classes, structs, unions or interfaces.
+
998 # The default value is: YES.
+
999 
+
1000 ALPHABETICAL_INDEX = NO
+
1001 
+
1002 # The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+
1003 # which the alphabetical index list will be split.
+
1004 # Minimum value: 1, maximum value: 20, default value: 5.
+
1005 # This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
1006 
+
1007 COLS_IN_ALPHA_INDEX = 5
+
1008 
+
1009 # In case all classes in a project start with a common prefix, all classes will
+
1010 # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+
1011 # can be used to specify a prefix (or a list of prefixes) that should be ignored
+
1012 # while generating the index headers.
+
1013 # This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
1014 
+
1015 IGNORE_PREFIX =
+
1016 
+
1017 #---------------------------------------------------------------------------
+
1018 # Configuration options related to the HTML output
+
1019 #---------------------------------------------------------------------------
+
1020 
+
1021 # If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
+
1022 # The default value is: YES.
+
1023 
+
1024 GENERATE_HTML = YES
+
1025 
+
1026 # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+
1027 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+
1028 # it.
+
1029 # The default directory is: html.
+
1030 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1031 
+
1032 HTML_OUTPUT = html
+
1033 
+
1034 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+
1035 # generated HTML page (for example: .htm, .php, .asp).
+
1036 # The default value is: .html.
+
1037 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1038 
+
1039 HTML_FILE_EXTENSION = .html
+
1040 
+
1041 # The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+
1042 # each generated HTML page. If the tag is left blank doxygen will generate a
+
1043 # standard header.
+
1044 #
+
1045 # To get valid HTML the header file that includes any scripts and style sheets
+
1046 # that doxygen needs, which is dependent on the configuration options used (e.g.
+
1047 # the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+
1048 # default header using
+
1049 # doxygen -w html new_header.html new_footer.html new_stylesheet.css
+
1050 # YourConfigFile
+
1051 # and then modify the file new_header.html. See also section "Doxygen usage"
+
1052 # for information on how to generate the default header that doxygen normally
+
1053 # uses.
+
1054 # Note: The header is subject to change so you typically have to regenerate the
+
1055 # default header when upgrading to a newer version of doxygen. For a description
+
1056 # of the possible markers and block names see the documentation.
+
1057 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1058 
+
1059 HTML_HEADER =
+
1060 
+
1061 # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+
1062 # generated HTML page. If the tag is left blank doxygen will generate a standard
+
1063 # footer. See HTML_HEADER for more information on how to generate a default
+
1064 # footer and what special commands can be used inside the footer. See also
+
1065 # section "Doxygen usage" for information on how to generate the default footer
+
1066 # that doxygen normally uses.
+
1067 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1068 
+
1069 HTML_FOOTER =
+
1070 
+
1071 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+
1072 # sheet that is used by each HTML page. It can be used to fine-tune the look of
+
1073 # the HTML output. If left blank doxygen will generate a default style sheet.
+
1074 # See also section "Doxygen usage" for information on how to generate the style
+
1075 # sheet that doxygen normally uses.
+
1076 # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+
1077 # it is more robust and this tag (HTML_STYLESHEET) will in the future become
+
1078 # obsolete.
+
1079 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1080 
+
1081 HTML_STYLESHEET =
+
1082 
+
1083 # The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user-
+
1084 # defined cascading style sheet that is included after the standard style sheets
+
1085 # created by doxygen. Using this option one can overrule certain style aspects.
+
1086 # This is preferred over using HTML_STYLESHEET since it does not replace the
+
1087 # standard style sheet and is therefor more robust against future updates.
+
1088 # Doxygen will copy the style sheet file to the output directory. For an example
+
1089 # see the documentation.
+
1090 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1091 
+
1092 HTML_EXTRA_STYLESHEET =
+
1093 
+
1094 # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+
1095 # other source files which should be copied to the HTML output directory. Note
+
1096 # that these files will be copied to the base HTML output directory. Use the
+
1097 # $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+
1098 # files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+
1099 # files will be copied as-is; there are no commands or markers available.
+
1100 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1101 
+
1102 HTML_EXTRA_FILES =
+
1103 
+
1104 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+
1105 # will adjust the colors in the stylesheet and background images according to
+
1106 # this color. Hue is specified as an angle on a colorwheel, see
+
1107 # http://en.wikipedia.org/wiki/Hue for more information. For instance the value
+
1108 # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+
1109 # purple, and 360 is red again.
+
1110 # Minimum value: 0, maximum value: 359, default value: 220.
+
1111 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1112 
+
1113 HTML_COLORSTYLE_HUE = 220
+
1114 
+
1115 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+
1116 # in the HTML output. For a value of 0 the output will use grayscales only. A
+
1117 # value of 255 will produce the most vivid colors.
+
1118 # Minimum value: 0, maximum value: 255, default value: 100.
+
1119 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1120 
+
1121 HTML_COLORSTYLE_SAT = 100
+
1122 
+
1123 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+
1124 # luminance component of the colors in the HTML output. Values below 100
+
1125 # gradually make the output lighter, whereas values above 100 make the output
+
1126 # darker. The value divided by 100 is the actual gamma applied, so 80 represents
+
1127 # a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+
1128 # change the gamma.
+
1129 # Minimum value: 40, maximum value: 240, default value: 80.
+
1130 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1131 
+
1132 HTML_COLORSTYLE_GAMMA = 80
+
1133 
+
1134 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+
1135 # page will contain the date and time when the page was generated. Setting this
+
1136 # to NO can help when comparing the output of multiple runs.
+
1137 # The default value is: YES.
+
1138 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1139 
+
1140 HTML_TIMESTAMP = NO
+
1141 
+
1142 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+
1143 # documentation will contain sections that can be hidden and shown after the
+
1144 # page has loaded.
+
1145 # The default value is: NO.
+
1146 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1147 
+
1148 HTML_DYNAMIC_SECTIONS = NO
+
1149 
+
1150 # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+
1151 # shown in the various tree structured indices initially; the user can expand
+
1152 # and collapse entries dynamically later on. Doxygen will expand the tree to
+
1153 # such a level that at most the specified number of entries are visible (unless
+
1154 # a fully collapsed tree already exceeds this amount). So setting the number of
+
1155 # entries 1 will produce a full collapsed tree by default. 0 is a special value
+
1156 # representing an infinite number of entries and will result in a full expanded
+
1157 # tree by default.
+
1158 # Minimum value: 0, maximum value: 9999, default value: 100.
+
1159 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1160 
+
1161 HTML_INDEX_NUM_ENTRIES = 100
+
1162 
+
1163 # If the GENERATE_DOCSET tag is set to YES, additional index files will be
+
1164 # generated that can be used as input for Apple's Xcode 3 integrated development
+
1165 # environment (see: http://developer.apple.com/tools/xcode/), introduced with
+
1166 # OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
+
1167 # Makefile in the HTML output directory. Running make will produce the docset in
+
1168 # that directory and running make install will install the docset in
+
1169 # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+
1170 # startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+
1171 # for more information.
+
1172 # The default value is: NO.
+
1173 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1174 
+
1175 GENERATE_DOCSET = NO
+
1176 
+
1177 # This tag determines the name of the docset feed. A documentation feed provides
+
1178 # an umbrella under which multiple documentation sets from a single provider
+
1179 # (such as a company or product suite) can be grouped.
+
1180 # The default value is: Doxygen generated docs.
+
1181 # This tag requires that the tag GENERATE_DOCSET is set to YES.
+
1182 
+
1183 DOCSET_FEEDNAME = "Doxygen generated docs"
+
1184 
+
1185 # This tag specifies a string that should uniquely identify the documentation
+
1186 # set bundle. This should be a reverse domain-name style string, e.g.
+
1187 # com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+
1188 # The default value is: org.doxygen.Project.
+
1189 # This tag requires that the tag GENERATE_DOCSET is set to YES.
+
1190 
+
1191 DOCSET_BUNDLE_ID = org.doxygen.Project
+
1192 
+
1193 # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
+
1194 # the documentation publisher. This should be a reverse domain-name style
+
1195 # string, e.g. com.mycompany.MyDocSet.documentation.
+
1196 # The default value is: org.doxygen.Publisher.
+
1197 # This tag requires that the tag GENERATE_DOCSET is set to YES.
+
1198 
+
1199 DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+
1200 
+
1201 # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+
1202 # The default value is: Publisher.
+
1203 # This tag requires that the tag GENERATE_DOCSET is set to YES.
+
1204 
+
1205 DOCSET_PUBLISHER_NAME = Publisher
+
1206 
+
1207 # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+
1208 # additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+
1209 # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+
1210 # (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+
1211 # Windows.
+
1212 #
+
1213 # The HTML Help Workshop contains a compiler that can convert all HTML output
+
1214 # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+
1215 # files are now used as the Windows 98 help format, and will replace the old
+
1216 # Windows help format (.hlp) on all Windows platforms in the future. Compressed
+
1217 # HTML files also contain an index, a table of contents, and you can search for
+
1218 # words in the documentation. The HTML workshop also contains a viewer for
+
1219 # compressed HTML files.
+
1220 # The default value is: NO.
+
1221 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1222 
+
1223 GENERATE_HTMLHELP = NO
+
1224 
+
1225 # The CHM_FILE tag can be used to specify the file name of the resulting .chm
+
1226 # file. You can add a path in front of the file if the result should not be
+
1227 # written to the html output directory.
+
1228 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
1229 
+
1230 CHM_FILE =
+
1231 
+
1232 # The HHC_LOCATION tag can be used to specify the location (absolute path
+
1233 # including file name) of the HTML help compiler ( hhc.exe). If non-empty
+
1234 # doxygen will try to run the HTML help compiler on the generated index.hhp.
+
1235 # The file has to be specified with full path.
+
1236 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
1237 
+
1238 HHC_LOCATION =
+
1239 
+
1240 # The GENERATE_CHI flag controls if a separate .chi index file is generated (
+
1241 # YES) or that it should be included in the master .chm file ( NO).
+
1242 # The default value is: NO.
+
1243 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
1244 
+
1245 GENERATE_CHI = NO
+
1246 
+
1247 # The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
+
1248 # and project file content.
+
1249 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
1250 
+
1251 CHM_INDEX_ENCODING =
+
1252 
+
1253 # The BINARY_TOC flag controls whether a binary table of contents is generated (
+
1254 # YES) or a normal table of contents ( NO) in the .chm file.
+
1255 # The default value is: NO.
+
1256 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
1257 
+
1258 BINARY_TOC = NO
+
1259 
+
1260 # The TOC_EXPAND flag can be set to YES to add extra items for group members to
+
1261 # the table of contents of the HTML help documentation and to the tree view.
+
1262 # The default value is: NO.
+
1263 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
1264 
+
1265 TOC_EXPAND = NO
+
1266 
+
1267 # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+
1268 # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+
1269 # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+
1270 # (.qch) of the generated HTML documentation.
+
1271 # The default value is: NO.
+
1272 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1273 
+
1274 GENERATE_QHP = NO
+
1275 
+
1276 # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+
1277 # the file name of the resulting .qch file. The path specified is relative to
+
1278 # the HTML output folder.
+
1279 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1280 
+
1281 QCH_FILE =
+
1282 
+
1283 # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+
1284 # Project output. For more information please see Qt Help Project / Namespace
+
1285 # (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
+
1286 # The default value is: org.doxygen.Project.
+
1287 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1288 
+
1289 QHP_NAMESPACE = org.doxygen.Project
+
1290 
+
1291 # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+
1292 # Help Project output. For more information please see Qt Help Project / Virtual
+
1293 # Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
+
1294 # folders).
+
1295 # The default value is: doc.
+
1296 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1297 
+
1298 QHP_VIRTUAL_FOLDER = doc
+
1299 
+
1300 # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+
1301 # filter to add. For more information please see Qt Help Project / Custom
+
1302 # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+
1303 # filters).
+
1304 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1305 
+
1306 QHP_CUST_FILTER_NAME =
+
1307 
+
1308 # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+
1309 # custom filter to add. For more information please see Qt Help Project / Custom
+
1310 # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+
1311 # filters).
+
1312 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1313 
+
1314 QHP_CUST_FILTER_ATTRS =
+
1315 
+
1316 # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+
1317 # project's filter section matches. Qt Help Project / Filter Attributes (see:
+
1318 # http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
+
1319 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1320 
+
1321 QHP_SECT_FILTER_ATTRS =
+
1322 
+
1323 # The QHG_LOCATION tag can be used to specify the location of Qt's
+
1324 # qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+
1325 # generated .qhp file.
+
1326 # This tag requires that the tag GENERATE_QHP is set to YES.
+
1327 
+
1328 QHG_LOCATION =
+
1329 
+
1330 # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+
1331 # generated, together with the HTML files, they form an Eclipse help plugin. To
+
1332 # install this plugin and make it available under the help contents menu in
+
1333 # Eclipse, the contents of the directory containing the HTML and XML files needs
+
1334 # to be copied into the plugins directory of eclipse. The name of the directory
+
1335 # within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+
1336 # After copying Eclipse needs to be restarted before the help appears.
+
1337 # The default value is: NO.
+
1338 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1339 
+
1340 GENERATE_ECLIPSEHELP = NO
+
1341 
+
1342 # A unique identifier for the Eclipse help plugin. When installing the plugin
+
1343 # the directory name containing the HTML and XML files should also have this
+
1344 # name. Each documentation set should have its own identifier.
+
1345 # The default value is: org.doxygen.Project.
+
1346 # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
+
1347 
+
1348 ECLIPSE_DOC_ID = org.doxygen.Project
+
1349 
+
1350 # If you want full control over the layout of the generated HTML pages it might
+
1351 # be necessary to disable the index and replace it with your own. The
+
1352 # DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+
1353 # of each HTML page. A value of NO enables the index and the value YES disables
+
1354 # it. Since the tabs in the index contain the same information as the navigation
+
1355 # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+
1356 # The default value is: NO.
+
1357 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1358 
+
1359 DISABLE_INDEX = NO
+
1360 
+
1361 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+
1362 # structure should be generated to display hierarchical information. If the tag
+
1363 # value is set to YES, a side panel will be generated containing a tree-like
+
1364 # index structure (just like the one that is generated for HTML Help). For this
+
1365 # to work a browser that supports JavaScript, DHTML, CSS and frames is required
+
1366 # (i.e. any modern browser). Windows users are probably better off using the
+
1367 # HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
+
1368 # further fine-tune the look of the index. As an example, the default style
+
1369 # sheet generated by doxygen has an example that shows how to put an image at
+
1370 # the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+
1371 # the same information as the tab index, you could consider setting
+
1372 # DISABLE_INDEX to YES when enabling this option.
+
1373 # The default value is: NO.
+
1374 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1375 
+
1376 GENERATE_TREEVIEW = NO
+
1377 
+
1378 # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+
1379 # doxygen will group on one line in the generated HTML documentation.
+
1380 #
+
1381 # Note that a value of 0 will completely suppress the enum values from appearing
+
1382 # in the overview section.
+
1383 # Minimum value: 0, maximum value: 20, default value: 4.
+
1384 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1385 
+
1386 ENUM_VALUES_PER_LINE = 4
+
1387 
+
1388 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+
1389 # to set the initial width (in pixels) of the frame in which the tree is shown.
+
1390 # Minimum value: 0, maximum value: 1500, default value: 250.
+
1391 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1392 
+
1393 TREEVIEW_WIDTH = 250
+
1394 
+
1395 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
+
1396 # external symbols imported via tag files in a separate window.
+
1397 # The default value is: NO.
+
1398 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1399 
+
1400 EXT_LINKS_IN_WINDOW = NO
+
1401 
+
1402 # Use this tag to change the font size of LaTeX formulas included as images in
+
1403 # the HTML documentation. When you change the font size after a successful
+
1404 # doxygen run you need to manually remove any form_*.png images from the HTML
+
1405 # output directory to force them to be regenerated.
+
1406 # Minimum value: 8, maximum value: 50, default value: 10.
+
1407 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1408 
+
1409 FORMULA_FONTSIZE = 10
+
1410 
+
1411 # Use the FORMULA_TRANPARENT tag to determine whether or not the images
+
1412 # generated for formulas are transparent PNGs. Transparent PNGs are not
+
1413 # supported properly for IE 6.0, but are supported on all modern browsers.
+
1414 #
+
1415 # Note that when changing this option you need to delete any form_*.png files in
+
1416 # the HTML output directory before the changes have effect.
+
1417 # The default value is: YES.
+
1418 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1419 
+
1420 FORMULA_TRANSPARENT = YES
+
1421 
+
1422 # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+
1423 # http://www.mathjax.org) which uses client side Javascript for the rendering
+
1424 # instead of using prerendered bitmaps. Use this if you do not have LaTeX
+
1425 # installed or if you want to formulas look prettier in the HTML output. When
+
1426 # enabled you may also need to install MathJax separately and configure the path
+
1427 # to it using the MATHJAX_RELPATH option.
+
1428 # The default value is: NO.
+
1429 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1430 
+
1431 USE_MATHJAX = NO
+
1432 
+
1433 # When MathJax is enabled you can set the default output format to be used for
+
1434 # the MathJax output. See the MathJax site (see:
+
1435 # http://docs.mathjax.org/en/latest/output.html) for more details.
+
1436 # Possible values are: HTML-CSS (which is slower, but has the best
+
1437 # compatibility), NativeMML (i.e. MathML) and SVG.
+
1438 # The default value is: HTML-CSS.
+
1439 # This tag requires that the tag USE_MATHJAX is set to YES.
+
1440 
+
1441 MATHJAX_FORMAT = HTML-CSS
+
1442 
+
1443 # When MathJax is enabled you need to specify the location relative to the HTML
+
1444 # output directory using the MATHJAX_RELPATH option. The destination directory
+
1445 # should contain the MathJax.js script. For instance, if the mathjax directory
+
1446 # is located at the same level as the HTML output directory, then
+
1447 # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+
1448 # Content Delivery Network so you can quickly see the result without installing
+
1449 # MathJax. However, it is strongly recommended to install a local copy of
+
1450 # MathJax from http://www.mathjax.org before deployment.
+
1451 # The default value is: http://cdn.mathjax.org/mathjax/latest.
+
1452 # This tag requires that the tag USE_MATHJAX is set to YES.
+
1453 
+
1454 MATHJAX_RELPATH = http://www.mathjax.org/mathjax
+
1455 
+
1456 # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+
1457 # extension names that should be enabled during MathJax rendering. For example
+
1458 # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+
1459 # This tag requires that the tag USE_MATHJAX is set to YES.
+
1460 
+
1461 MATHJAX_EXTENSIONS =
+
1462 
+
1463 # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+
1464 # of code that will be used on startup of the MathJax code. See the MathJax site
+
1465 # (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+
1466 # example see the documentation.
+
1467 # This tag requires that the tag USE_MATHJAX is set to YES.
+
1468 
+
1469 MATHJAX_CODEFILE =
+
1470 
+
1471 # When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+
1472 # the HTML output. The underlying search engine uses javascript and DHTML and
+
1473 # should work on any modern browser. Note that when using HTML help
+
1474 # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+
1475 # there is already a search function so this one should typically be disabled.
+
1476 # For large projects the javascript based search engine can be slow, then
+
1477 # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+
1478 # search using the keyboard; to jump to the search box use <access key> + S
+
1479 # (what the <access key> is depends on the OS and browser, but it is typically
+
1480 # <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
+
1481 # key> to jump into the search results window, the results can be navigated
+
1482 # using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
+
1483 # the search. The filter options can be selected when the cursor is inside the
+
1484 # search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
+
1485 # to select a filter and <Enter> or <escape> to activate or cancel the filter
+
1486 # option.
+
1487 # The default value is: YES.
+
1488 # This tag requires that the tag GENERATE_HTML is set to YES.
+
1489 
+
1490 SEARCHENGINE = NO
+
1491 
+
1492 # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+
1493 # implemented using a web server instead of a web client using Javascript. There
+
1494 # are two flavours of web server based searching depending on the
+
1495 # EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for
+
1496 # searching and an index file used by the script. When EXTERNAL_SEARCH is
+
1497 # enabled the indexing and searching needs to be provided by external tools. See
+
1498 # the section "External Indexing and Searching" for details.
+
1499 # The default value is: NO.
+
1500 # This tag requires that the tag SEARCHENGINE is set to YES.
+
1501 
+
1502 SERVER_BASED_SEARCH = NO
+
1503 
+
1504 # When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
+
1505 # script for searching. Instead the search results are written to an XML file
+
1506 # which needs to be processed by an external indexer. Doxygen will invoke an
+
1507 # external search engine pointed to by the SEARCHENGINE_URL option to obtain the
+
1508 # search results.
+
1509 #
+
1510 # Doxygen ships with an example indexer ( doxyindexer) and search engine
+
1511 # (doxysearch.cgi) which are based on the open source search engine library
+
1512 # Xapian (see: http://xapian.org/).
+
1513 #
+
1514 # See the section "External Indexing and Searching" for details.
+
1515 # The default value is: NO.
+
1516 # This tag requires that the tag SEARCHENGINE is set to YES.
+
1517 
+
1518 EXTERNAL_SEARCH = NO
+
1519 
+
1520 # The SEARCHENGINE_URL should point to a search engine hosted by a web server
+
1521 # which will return the search results when EXTERNAL_SEARCH is enabled.
+
1522 #
+
1523 # Doxygen ships with an example indexer ( doxyindexer) and search engine
+
1524 # (doxysearch.cgi) which are based on the open source search engine library
+
1525 # Xapian (see: http://xapian.org/). See the section "External Indexing and
+
1526 # Searching" for details.
+
1527 # This tag requires that the tag SEARCHENGINE is set to YES.
+
1528 
+
1529 SEARCHENGINE_URL =
+
1530 
+
1531 # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
+
1532 # search data is written to a file for indexing by an external tool. With the
+
1533 # SEARCHDATA_FILE tag the name of this file can be specified.
+
1534 # The default file is: searchdata.xml.
+
1535 # This tag requires that the tag SEARCHENGINE is set to YES.
+
1536 
+
1537 SEARCHDATA_FILE = searchdata.xml
+
1538 
+
1539 # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
+
1540 # EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+
1541 # useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
+
1542 # projects and redirect the results back to the right project.
+
1543 # This tag requires that the tag SEARCHENGINE is set to YES.
+
1544 
+
1545 EXTERNAL_SEARCH_ID =
+
1546 
+
1547 # The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+
1548 # projects other than the one defined by this configuration file, but that are
+
1549 # all added to the same external search index. Each project needs to have a
+
1550 # unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
+
1551 # to a relative location where the documentation can be found. The format is:
+
1552 # EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
+
1553 # This tag requires that the tag SEARCHENGINE is set to YES.
+
1554 
+
1555 EXTRA_SEARCH_MAPPINGS =
+
1556 
+
1557 #---------------------------------------------------------------------------
+
1558 # Configuration options related to the LaTeX output
+
1559 #---------------------------------------------------------------------------
+
1560 
+
1561 # If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
+
1562 # The default value is: YES.
+
1563 
+
1564 GENERATE_LATEX = NO
+
1565 
+
1566 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
+
1567 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+
1568 # it.
+
1569 # The default directory is: latex.
+
1570 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1571 
+
1572 LATEX_OUTPUT = latex
+
1573 
+
1574 # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+
1575 # invoked.
+
1576 #
+
1577 # Note that when enabling USE_PDFLATEX this option is only used for generating
+
1578 # bitmaps for formulas in the HTML output, but not in the Makefile that is
+
1579 # written to the output directory.
+
1580 # The default file is: latex.
+
1581 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1582 
+
1583 LATEX_CMD_NAME = latex
+
1584 
+
1585 # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
+
1586 # index for LaTeX.
+
1587 # The default file is: makeindex.
+
1588 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1589 
+
1590 MAKEINDEX_CMD_NAME = makeindex
+
1591 
+
1592 # If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
+
1593 # documents. This may be useful for small projects and may help to save some
+
1594 # trees in general.
+
1595 # The default value is: NO.
+
1596 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1597 
+
1598 COMPACT_LATEX = NO
+
1599 
+
1600 # The PAPER_TYPE tag can be used to set the paper type that is used by the
+
1601 # printer.
+
1602 # Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
+
1603 # 14 inches) and executive (7.25 x 10.5 inches).
+
1604 # The default value is: a4.
+
1605 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1606 
+
1607 PAPER_TYPE = a4wide
+
1608 
+
1609 # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
+
1610 # that should be included in the LaTeX output. To get the times font for
+
1611 # instance you can specify
+
1612 # EXTRA_PACKAGES=times
+
1613 # If left blank no extra packages will be included.
+
1614 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1615 
+
1616 EXTRA_PACKAGES =
+
1617 
+
1618 # The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
+
1619 # generated LaTeX document. The header should contain everything until the first
+
1620 # chapter. If it is left blank doxygen will generate a standard header. See
+
1621 # section "Doxygen usage" for information on how to let doxygen write the
+
1622 # default header to a separate file.
+
1623 #
+
1624 # Note: Only use a user-defined header if you know what you are doing! The
+
1625 # following commands have a special meaning inside the header: $title,
+
1626 # $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will
+
1627 # replace them by respectively the title of the page, the current date and time,
+
1628 # only the current date, the version number of doxygen, the project name (see
+
1629 # PROJECT_NAME), or the project number (see PROJECT_NUMBER).
+
1630 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1631 
+
1632 LATEX_HEADER =
+
1633 
+
1634 # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
+
1635 # generated LaTeX document. The footer should contain everything after the last
+
1636 # chapter. If it is left blank doxygen will generate a standard footer.
+
1637 #
+
1638 # Note: Only use a user-defined footer if you know what you are doing!
+
1639 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1640 
+
1641 LATEX_FOOTER =
+
1642 
+
1643 # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
+
1644 # other source files which should be copied to the LATEX_OUTPUT output
+
1645 # directory. Note that the files will be copied as-is; there are no commands or
+
1646 # markers available.
+
1647 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1648 
+
1649 LATEX_EXTRA_FILES =
+
1650 
+
1651 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
+
1652 # prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
+
1653 # contain links (just like the HTML output) instead of page references. This
+
1654 # makes the output suitable for online browsing using a PDF viewer.
+
1655 # The default value is: YES.
+
1656 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1657 
+
1658 PDF_HYPERLINKS = NO
+
1659 
+
1660 # If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+
1661 # the PDF file directly from the LaTeX files. Set this option to YES to get a
+
1662 # higher quality PDF documentation.
+
1663 # The default value is: YES.
+
1664 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1665 
+
1666 USE_PDFLATEX = YES
+
1667 
+
1668 # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
+
1669 # command to the generated LaTeX files. This will instruct LaTeX to keep running
+
1670 # if errors occur, instead of asking the user for help. This option is also used
+
1671 # when generating formulas in HTML.
+
1672 # The default value is: NO.
+
1673 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1674 
+
1675 LATEX_BATCHMODE = NO
+
1676 
+
1677 # If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
+
1678 # index chapters (such as File Index, Compound Index, etc.) in the output.
+
1679 # The default value is: NO.
+
1680 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1681 
+
1682 LATEX_HIDE_INDICES = NO
+
1683 
+
1684 # If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
+
1685 # code with syntax highlighting in the LaTeX output.
+
1686 #
+
1687 # Note that which sources are shown also depends on other settings such as
+
1688 # SOURCE_BROWSER.
+
1689 # The default value is: NO.
+
1690 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1691 
+
1692 LATEX_SOURCE_CODE = NO
+
1693 
+
1694 # The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+
1695 # bibliography, e.g. plainnat, or ieeetr. See
+
1696 # http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+
1697 # The default value is: plain.
+
1698 # This tag requires that the tag GENERATE_LATEX is set to YES.
+
1699 
+
1700 LATEX_BIB_STYLE = plain
+
1701 
+
1702 #---------------------------------------------------------------------------
+
1703 # Configuration options related to the RTF output
+
1704 #---------------------------------------------------------------------------
+
1705 
+
1706 # If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
+
1707 # RTF output is optimized for Word 97 and may not look too pretty with other RTF
+
1708 # readers/editors.
+
1709 # The default value is: NO.
+
1710 
+
1711 GENERATE_RTF = NO
+
1712 
+
1713 # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
+
1714 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+
1715 # it.
+
1716 # The default directory is: rtf.
+
1717 # This tag requires that the tag GENERATE_RTF is set to YES.
+
1718 
+
1719 RTF_OUTPUT = glm.rtf
+
1720 
+
1721 # If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
+
1722 # documents. This may be useful for small projects and may help to save some
+
1723 # trees in general.
+
1724 # The default value is: NO.
+
1725 # This tag requires that the tag GENERATE_RTF is set to YES.
+
1726 
+
1727 COMPACT_RTF = NO
+
1728 
+
1729 # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
+
1730 # contain hyperlink fields. The RTF file will contain links (just like the HTML
+
1731 # output) instead of page references. This makes the output suitable for online
+
1732 # browsing using Word or some other Word compatible readers that support those
+
1733 # fields.
+
1734 #
+
1735 # Note: WordPad (write) and others do not support links.
+
1736 # The default value is: NO.
+
1737 # This tag requires that the tag GENERATE_RTF is set to YES.
+
1738 
+
1739 RTF_HYPERLINKS = YES
+
1740 
+
1741 # Load stylesheet definitions from file. Syntax is similar to doxygen's config
+
1742 # file, i.e. a series of assignments. You only have to provide replacements,
+
1743 # missing definitions are set to their default value.
+
1744 #
+
1745 # See also section "Doxygen usage" for information on how to generate the
+
1746 # default style sheet that doxygen normally uses.
+
1747 # This tag requires that the tag GENERATE_RTF is set to YES.
+
1748 
+
1749 RTF_STYLESHEET_FILE =
+
1750 
+
1751 # Set optional variables used in the generation of an RTF document. Syntax is
+
1752 # similar to doxygen's config file. A template extensions file can be generated
+
1753 # using doxygen -e rtf extensionFile.
+
1754 # This tag requires that the tag GENERATE_RTF is set to YES.
+
1755 
+
1756 RTF_EXTENSIONS_FILE =
+
1757 
+
1758 #---------------------------------------------------------------------------
+
1759 # Configuration options related to the man page output
+
1760 #---------------------------------------------------------------------------
+
1761 
+
1762 # If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
+
1763 # classes and files.
+
1764 # The default value is: NO.
+
1765 
+
1766 GENERATE_MAN = NO
+
1767 
+
1768 # The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
+
1769 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+
1770 # it. A directory man3 will be created inside the directory specified by
+
1771 # MAN_OUTPUT.
+
1772 # The default directory is: man.
+
1773 # This tag requires that the tag GENERATE_MAN is set to YES.
+
1774 
+
1775 MAN_OUTPUT = man
+
1776 
+
1777 # The MAN_EXTENSION tag determines the extension that is added to the generated
+
1778 # man pages. In case the manual section does not start with a number, the number
+
1779 # 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
+
1780 # optional.
+
1781 # The default value is: .3.
+
1782 # This tag requires that the tag GENERATE_MAN is set to YES.
+
1783 
+
1784 MAN_EXTENSION = .3
+
1785 
+
1786 # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+
1787 # will generate one additional man file for each entity documented in the real
+
1788 # man page(s). These additional files only source the real man page, but without
+
1789 # them the man command would be unable to find the correct page.
+
1790 # The default value is: NO.
+
1791 # This tag requires that the tag GENERATE_MAN is set to YES.
+
1792 
+
1793 MAN_LINKS = NO
+
1794 
+
1795 #---------------------------------------------------------------------------
+
1796 # Configuration options related to the XML output
+
1797 #---------------------------------------------------------------------------
+
1798 
+
1799 # If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
+
1800 # captures the structure of the code including all documentation.
+
1801 # The default value is: NO.
+
1802 
+
1803 GENERATE_XML = NO
+
1804 
+
1805 # The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
+
1806 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+
1807 # it.
+
1808 # The default directory is: xml.
+
1809 # This tag requires that the tag GENERATE_XML is set to YES.
+
1810 
+
1811 XML_OUTPUT = xml
+
1812 
+
1813 # The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a
+
1814 # validating XML parser to check the syntax of the XML files.
+
1815 # This tag requires that the tag GENERATE_XML is set to YES.
+
1816 
+
1817 XML_SCHEMA =
+
1818 
+
1819 # The XML_DTD tag can be used to specify a XML DTD, which can be used by a
+
1820 # validating XML parser to check the syntax of the XML files.
+
1821 # This tag requires that the tag GENERATE_XML is set to YES.
+
1822 
+
1823 XML_DTD =
+
1824 
+
1825 # If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
+
1826 # listings (including syntax highlighting and cross-referencing information) to
+
1827 # the XML output. Note that enabling this will significantly increase the size
+
1828 # of the XML output.
+
1829 # The default value is: YES.
+
1830 # This tag requires that the tag GENERATE_XML is set to YES.
+
1831 
+
1832 XML_PROGRAMLISTING = YES
+
1833 
+
1834 #---------------------------------------------------------------------------
+
1835 # Configuration options related to the DOCBOOK output
+
1836 #---------------------------------------------------------------------------
+
1837 
+
1838 # If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
+
1839 # that can be used to generate PDF.
+
1840 # The default value is: NO.
+
1841 
+
1842 GENERATE_DOCBOOK = NO
+
1843 
+
1844 # The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
+
1845 # If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
+
1846 # front of it.
+
1847 # The default directory is: docbook.
+
1848 # This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
1849 
+
1850 DOCBOOK_OUTPUT = docbook
+
1851 
+
1852 #---------------------------------------------------------------------------
+
1853 # Configuration options for the AutoGen Definitions output
+
1854 #---------------------------------------------------------------------------
+
1855 
+
1856 # If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
+
1857 # Definitions (see http://autogen.sf.net) file that captures the structure of
+
1858 # the code including all documentation. Note that this feature is still
+
1859 # experimental and incomplete at the moment.
+
1860 # The default value is: NO.
+
1861 
+
1862 GENERATE_AUTOGEN_DEF = NO
+
1863 
+
1864 #---------------------------------------------------------------------------
+
1865 # Configuration options related to the Perl module output
+
1866 #---------------------------------------------------------------------------
+
1867 
+
1868 # If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
+
1869 # file that captures the structure of the code including all documentation.
+
1870 #
+
1871 # Note that this feature is still experimental and incomplete at the moment.
+
1872 # The default value is: NO.
+
1873 
+
1874 GENERATE_PERLMOD = NO
+
1875 
+
1876 # If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
+
1877 # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
+
1878 # output from the Perl module output.
+
1879 # The default value is: NO.
+
1880 # This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
1881 
+
1882 PERLMOD_LATEX = NO
+
1883 
+
1884 # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
+
1885 # formatted so it can be parsed by a human reader. This is useful if you want to
+
1886 # understand what is going on. On the other hand, if this tag is set to NO the
+
1887 # size of the Perl module output will be much smaller and Perl will parse it
+
1888 # just the same.
+
1889 # The default value is: YES.
+
1890 # This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
1891 
+
1892 PERLMOD_PRETTY = YES
+
1893 
+
1894 # The names of the make variables in the generated doxyrules.make file are
+
1895 # prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
+
1896 # so different doxyrules.make files included by the same Makefile don't
+
1897 # overwrite each other's variables.
+
1898 # This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
1899 
+
1900 PERLMOD_MAKEVAR_PREFIX =
+
1901 
+
1902 #---------------------------------------------------------------------------
+
1903 # Configuration options related to the preprocessor
+
1904 #---------------------------------------------------------------------------
+
1905 
+
1906 # If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
+
1907 # C-preprocessor directives found in the sources and include files.
+
1908 # The default value is: YES.
+
1909 
+
1910 ENABLE_PREPROCESSING = YES
+
1911 
+
1912 # If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
+
1913 # in the source code. If set to NO only conditional compilation will be
+
1914 # performed. Macro expansion can be done in a controlled way by setting
+
1915 # EXPAND_ONLY_PREDEF to YES.
+
1916 # The default value is: NO.
+
1917 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
1918 
+
1919 MACRO_EXPANSION = NO
+
1920 
+
1921 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
+
1922 # the macro expansion is limited to the macros specified with the PREDEFINED and
+
1923 # EXPAND_AS_DEFINED tags.
+
1924 # The default value is: NO.
+
1925 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
1926 
+
1927 EXPAND_ONLY_PREDEF = NO
+
1928 
+
1929 # If the SEARCH_INCLUDES tag is set to YES the includes files in the
+
1930 # INCLUDE_PATH will be searched if a #include is found.
+
1931 # The default value is: YES.
+
1932 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
1933 
+
1934 SEARCH_INCLUDES = YES
+
1935 
+
1936 # The INCLUDE_PATH tag can be used to specify one or more directories that
+
1937 # contain include files that are not input files but should be processed by the
+
1938 # preprocessor.
+
1939 # This tag requires that the tag SEARCH_INCLUDES is set to YES.
+
1940 
+
1941 INCLUDE_PATH =
+
1942 
+
1943 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+
1944 # patterns (like *.h and *.hpp) to filter out the header-files in the
+
1945 # directories. If left blank, the patterns specified with FILE_PATTERNS will be
+
1946 # used.
+
1947 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
1948 
+
1949 INCLUDE_FILE_PATTERNS =
+
1950 
+
1951 # The PREDEFINED tag can be used to specify one or more macro names that are
+
1952 # defined before the preprocessor is started (similar to the -D option of e.g.
+
1953 # gcc). The argument of the tag is a list of macros of the form: name or
+
1954 # name=definition (no spaces). If the definition and the "=" are omitted, "=1"
+
1955 # is assumed. To prevent a macro definition from being undefined via #undef or
+
1956 # recursively expanded use the := operator instead of the = operator.
+
1957 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
1958 
+
1959 PREDEFINED =
+
1960 
+
1961 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
+
1962 # tag can be used to specify a list of macro names that should be expanded. The
+
1963 # macro definition that is found in the sources will be used. Use the PREDEFINED
+
1964 # tag if you want to use a different macro definition that overrules the
+
1965 # definition found in the source code.
+
1966 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
1967 
+
1968 EXPAND_AS_DEFINED =
+
1969 
+
1970 # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
+
1971 # remove all refrences to function-like macros that are alone on a line, have an
+
1972 # all uppercase name, and do not end with a semicolon. Such function macros are
+
1973 # typically used for boiler-plate code, and will confuse the parser if not
+
1974 # removed.
+
1975 # The default value is: YES.
+
1976 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
1977 
+
1978 SKIP_FUNCTION_MACROS = YES
+
1979 
+
1980 #---------------------------------------------------------------------------
+
1981 # Configuration options related to external references
+
1982 #---------------------------------------------------------------------------
+
1983 
+
1984 # The TAGFILES tag can be used to specify one or more tag files. For each tag
+
1985 # file the location of the external documentation should be added. The format of
+
1986 # a tag file without this location is as follows:
+
1987 # TAGFILES = file1 file2 ...
+
1988 # Adding location for the tag files is done as follows:
+
1989 # TAGFILES = file1=loc1 "file2 = loc2" ...
+
1990 # where loc1 and loc2 can be relative or absolute paths or URLs. See the
+
1991 # section "Linking to external documentation" for more information about the use
+
1992 # of tag files.
+
1993 # Note: Each tag file must have an unique name (where the name does NOT include
+
1994 # the path). If a tag file is not located in the directory in which doxygen is
+
1995 # run, you must also specify the path to the tagfile here.
+
1996 
+
1997 TAGFILES =
+
1998 
+
1999 # When a file name is specified after GENERATE_TAGFILE, doxygen will create a
+
2000 # tag file that is based on the input files it reads. See section "Linking to
+
2001 # external documentation" for more information about the usage of tag files.
+
2002 
+
2003 GENERATE_TAGFILE =
+
2004 
+
2005 # If the ALLEXTERNALS tag is set to YES all external class will be listed in the
+
2006 # class index. If set to NO only the inherited external classes will be listed.
+
2007 # The default value is: NO.
+
2008 
+
2009 ALLEXTERNALS = NO
+
2010 
+
2011 # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
+
2012 # the modules index. If set to NO, only the current project's groups will be
+
2013 # listed.
+
2014 # The default value is: YES.
+
2015 
+
2016 EXTERNAL_GROUPS = YES
+
2017 
+
2018 # If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
+
2019 # the related pages index. If set to NO, only the current project's pages will
+
2020 # be listed.
+
2021 # The default value is: YES.
+
2022 
+
2023 EXTERNAL_PAGES = YES
+
2024 
+
2025 # The PERL_PATH should be the absolute path and name of the perl script
+
2026 # interpreter (i.e. the result of 'which perl').
+
2027 # The default file (with absolute path) is: /usr/bin/perl.
+
2028 
+
2029 PERL_PATH = /usr/bin/perl
+
2030 
+
2031 #---------------------------------------------------------------------------
+
2032 # Configuration options related to the dot tool
+
2033 #---------------------------------------------------------------------------
+
2034 
+
2035 # If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
+
2036 # (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
+
2037 # NO turns the diagrams off. Note that this option also works with HAVE_DOT
+
2038 # disabled, but it is recommended to install and use dot, since it yields more
+
2039 # powerful graphs.
+
2040 # The default value is: YES.
+
2041 
+
2042 CLASS_DIAGRAMS = YES
+
2043 
+
2044 # You can define message sequence charts within doxygen comments using the \msc
+
2045 # command. Doxygen will then run the mscgen tool (see:
+
2046 # http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
+
2047 # documentation. The MSCGEN_PATH tag allows you to specify the directory where
+
2048 # the mscgen tool resides. If left empty the tool is assumed to be found in the
+
2049 # default search path.
+
2050 
+
2051 MSCGEN_PATH =
+
2052 
+
2053 # If set to YES, the inheritance and collaboration graphs will hide inheritance
+
2054 # and usage relations if the target is undocumented or is not a class.
+
2055 # The default value is: YES.
+
2056 
+
2057 HIDE_UNDOC_RELATIONS = YES
+
2058 
+
2059 # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+
2060 # available from the path. This tool is part of Graphviz (see:
+
2061 # http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
+
2062 # Bell Labs. The other options in this section have no effect if this option is
+
2063 # set to NO
+
2064 # The default value is: NO.
+
2065 
+
2066 HAVE_DOT = NO
+
2067 
+
2068 # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
+
2069 # to run in parallel. When set to 0 doxygen will base this on the number of
+
2070 # processors available in the system. You can set it explicitly to a value
+
2071 # larger than 0 to get control over the balance between CPU load and processing
+
2072 # speed.
+
2073 # Minimum value: 0, maximum value: 32, default value: 0.
+
2074 # This tag requires that the tag HAVE_DOT is set to YES.
+
2075 
+
2076 DOT_NUM_THREADS = 0
+
2077 
+
2078 # When you want a differently looking font n the dot files that doxygen
+
2079 # generates you can specify the font name using DOT_FONTNAME. You need to make
+
2080 # sure dot is able to find the font, which can be done by putting it in a
+
2081 # standard location or by setting the DOTFONTPATH environment variable or by
+
2082 # setting DOT_FONTPATH to the directory containing the font.
+
2083 # The default value is: Helvetica.
+
2084 # This tag requires that the tag HAVE_DOT is set to YES.
+
2085 
+
2086 DOT_FONTNAME = FreeSans
+
2087 
+
2088 # The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
+
2089 # dot graphs.
+
2090 # Minimum value: 4, maximum value: 24, default value: 10.
+
2091 # This tag requires that the tag HAVE_DOT is set to YES.
+
2092 
+
2093 DOT_FONTSIZE = 10
+
2094 
+
2095 # By default doxygen will tell dot to use the default font as specified with
+
2096 # DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
+
2097 # the path where dot can find it using this tag.
+
2098 # This tag requires that the tag HAVE_DOT is set to YES.
+
2099 
+
2100 DOT_FONTPATH =
+
2101 
+
2102 # If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
+
2103 # each documented class showing the direct and indirect inheritance relations.
+
2104 # Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
+
2105 # The default value is: YES.
+
2106 # This tag requires that the tag HAVE_DOT is set to YES.
+
2107 
+
2108 CLASS_GRAPH = YES
+
2109 
+
2110 # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
+
2111 # graph for each documented class showing the direct and indirect implementation
+
2112 # dependencies (inheritance, containment, and class references variables) of the
+
2113 # class with other documented classes.
+
2114 # The default value is: YES.
+
2115 # This tag requires that the tag HAVE_DOT is set to YES.
+
2116 
+
2117 COLLABORATION_GRAPH = YES
+
2118 
+
2119 # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
+
2120 # groups, showing the direct groups dependencies.
+
2121 # The default value is: YES.
+
2122 # This tag requires that the tag HAVE_DOT is set to YES.
+
2123 
+
2124 GROUP_GRAPHS = YES
+
2125 
+
2126 # If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+
2127 # collaboration diagrams in a style similar to the OMG's Unified Modeling
+
2128 # Language.
+
2129 # The default value is: NO.
+
2130 # This tag requires that the tag HAVE_DOT is set to YES.
+
2131 
+
2132 UML_LOOK = NO
+
2133 
+
2134 # If the UML_LOOK tag is enabled, the fields and methods are shown inside the
+
2135 # class node. If there are many fields or methods and many nodes the graph may
+
2136 # become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
+
2137 # number of items for each type to make the size more manageable. Set this to 0
+
2138 # for no limit. Note that the threshold may be exceeded by 50% before the limit
+
2139 # is enforced. So when you set the threshold to 10, up to 15 fields may appear,
+
2140 # but if the number exceeds 15, the total amount of fields shown is limited to
+
2141 # 10.
+
2142 # Minimum value: 0, maximum value: 100, default value: 10.
+
2143 # This tag requires that the tag HAVE_DOT is set to YES.
+
2144 
+
2145 UML_LIMIT_NUM_FIELDS = 10
+
2146 
+
2147 # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
+
2148 # collaboration graphs will show the relations between templates and their
+
2149 # instances.
+
2150 # The default value is: NO.
+
2151 # This tag requires that the tag HAVE_DOT is set to YES.
+
2152 
+
2153 TEMPLATE_RELATIONS = NO
+
2154 
+
2155 # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
+
2156 # YES then doxygen will generate a graph for each documented file showing the
+
2157 # direct and indirect include dependencies of the file with other documented
+
2158 # files.
+
2159 # The default value is: YES.
+
2160 # This tag requires that the tag HAVE_DOT is set to YES.
+
2161 
+
2162 INCLUDE_GRAPH = YES
+
2163 
+
2164 # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
+
2165 # set to YES then doxygen will generate a graph for each documented file showing
+
2166 # the direct and indirect include dependencies of the file with other documented
+
2167 # files.
+
2168 # The default value is: YES.
+
2169 # This tag requires that the tag HAVE_DOT is set to YES.
+
2170 
+
2171 INCLUDED_BY_GRAPH = YES
+
2172 
+
2173 # If the CALL_GRAPH tag is set to YES then doxygen will generate a call
+
2174 # dependency graph for every global function or class method.
+
2175 #
+
2176 # Note that enabling this option will significantly increase the time of a run.
+
2177 # So in most cases it will be better to enable call graphs for selected
+
2178 # functions only using the \callgraph command.
+
2179 # The default value is: NO.
+
2180 # This tag requires that the tag HAVE_DOT is set to YES.
+
2181 
+
2182 CALL_GRAPH = YES
+
2183 
+
2184 # If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
+
2185 # dependency graph for every global function or class method.
+
2186 #
+
2187 # Note that enabling this option will significantly increase the time of a run.
+
2188 # So in most cases it will be better to enable caller graphs for selected
+
2189 # functions only using the \callergraph command.
+
2190 # The default value is: NO.
+
2191 # This tag requires that the tag HAVE_DOT is set to YES.
+
2192 
+
2193 CALLER_GRAPH = YES
+
2194 
+
2195 # If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
+
2196 # hierarchy of all classes instead of a textual one.
+
2197 # The default value is: YES.
+
2198 # This tag requires that the tag HAVE_DOT is set to YES.
+
2199 
+
2200 GRAPHICAL_HIERARCHY = YES
+
2201 
+
2202 # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
+
2203 # dependencies a directory has on other directories in a graphical way. The
+
2204 # dependency relations are determined by the #include relations between the
+
2205 # files in the directories.
+
2206 # The default value is: YES.
+
2207 # This tag requires that the tag HAVE_DOT is set to YES.
+
2208 
+
2209 DIRECTORY_GRAPH = YES
+
2210 
+
2211 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+
2212 # generated by dot.
+
2213 # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
+
2214 # to make the SVG files visible in IE 9+ (other browsers do not have this
+
2215 # requirement).
+
2216 # Possible values are: png, jpg, gif and svg.
+
2217 # The default value is: png.
+
2218 # This tag requires that the tag HAVE_DOT is set to YES.
+
2219 
+
2220 DOT_IMAGE_FORMAT = png
+
2221 
+
2222 # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+
2223 # enable generation of interactive SVG images that allow zooming and panning.
+
2224 #
+
2225 # Note that this requires a modern browser other than Internet Explorer. Tested
+
2226 # and working are Firefox, Chrome, Safari, and Opera.
+
2227 # Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
+
2228 # the SVG files visible. Older versions of IE do not have SVG support.
+
2229 # The default value is: NO.
+
2230 # This tag requires that the tag HAVE_DOT is set to YES.
+
2231 
+
2232 INTERACTIVE_SVG = NO
+
2233 
+
2234 # The DOT_PATH tag can be used to specify the path where the dot tool can be
+
2235 # found. If left blank, it is assumed the dot tool can be found in the path.
+
2236 # This tag requires that the tag HAVE_DOT is set to YES.
+
2237 
+
2238 DOT_PATH =
+
2239 
+
2240 # The DOTFILE_DIRS tag can be used to specify one or more directories that
+
2241 # contain dot files that are included in the documentation (see the \dotfile
+
2242 # command).
+
2243 # This tag requires that the tag HAVE_DOT is set to YES.
+
2244 
+
2245 DOTFILE_DIRS =
+
2246 
+
2247 # The MSCFILE_DIRS tag can be used to specify one or more directories that
+
2248 # contain msc files that are included in the documentation (see the \mscfile
+
2249 # command).
+
2250 
+
2251 MSCFILE_DIRS =
+
2252 
+
2253 # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
+
2254 # that will be shown in the graph. If the number of nodes in a graph becomes
+
2255 # larger than this value, doxygen will truncate the graph, which is visualized
+
2256 # by representing a node as a red box. Note that doxygen if the number of direct
+
2257 # children of the root node in a graph is already larger than
+
2258 # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
+
2259 # the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
2260 # Minimum value: 0, maximum value: 10000, default value: 50.
+
2261 # This tag requires that the tag HAVE_DOT is set to YES.
+
2262 
+
2263 DOT_GRAPH_MAX_NODES = 50
+
2264 
+
2265 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
+
2266 # generated by dot. A depth value of 3 means that only nodes reachable from the
+
2267 # root by following a path via at most 3 edges will be shown. Nodes that lay
+
2268 # further from the root node will be omitted. Note that setting this option to 1
+
2269 # or 2 may greatly reduce the computation time needed for large code bases. Also
+
2270 # note that the size of a graph can be further restricted by
+
2271 # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
2272 # Minimum value: 0, maximum value: 1000, default value: 0.
+
2273 # This tag requires that the tag HAVE_DOT is set to YES.
+
2274 
+
2275 MAX_DOT_GRAPH_DEPTH = 1000
+
2276 
+
2277 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+
2278 # background. This is disabled by default, because dot on Windows does not seem
+
2279 # to support this out of the box.
+
2280 #
+
2281 # Warning: Depending on the platform used, enabling this option may lead to
+
2282 # badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+
2283 # read).
+
2284 # The default value is: NO.
+
2285 # This tag requires that the tag HAVE_DOT is set to YES.
+
2286 
+
2287 DOT_TRANSPARENT = NO
+
2288 
+
2289 # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+
2290 # files in one run (i.e. multiple -o and -T options on the command line). This
+
2291 # makes dot run faster, but since only newer versions of dot (>1.8.10) support
+
2292 # this, this feature is disabled by default.
+
2293 # The default value is: NO.
+
2294 # This tag requires that the tag HAVE_DOT is set to YES.
+
2295 
+
2296 DOT_MULTI_TARGETS = NO
+
2297 
+
2298 # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
+
2299 # explaining the meaning of the various boxes and arrows in the dot generated
+
2300 # graphs.
+
2301 # The default value is: YES.
+
2302 # This tag requires that the tag HAVE_DOT is set to YES.
+
2303 
+
2304 GENERATE_LEGEND = YES
+
2305 
+
2306 # If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
+
2307 # files that are used to generate the various graphs.
+
2308 # The default value is: YES.
+
2309 # This tag requires that the tag HAVE_DOT is set to YES.
+
2310 
+
2311 DOT_CLEANUP = YES
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00062.html glm-0.9.5.1/doc/api/a00062.html --- glm-0.9.4.6/doc/api/a00062.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00062.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,83 +1,82 @@ - - - - - -multiple.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
multiple.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Functions

template<typename genType >
genType higherMultiple (genType const &Source, genType const &Multiple)
 
template<typename genType >
genType lowerMultiple (genType const &Source, genType const &Multiple)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_multiple

-
Date
2009-10-26 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
- -

Definition in file multiple.hpp.

-
- - - - + + + + + + +GLM: mat2x2.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
mat2x2.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file mat2x2.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00062_source.html glm-0.9.5.1/doc/api/a00062_source.html --- glm-0.9.4.6/doc/api/a00062_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00062_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,122 +1,91 @@ - - - - - -multiple.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
multiple.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_multiple
-
40 #define GLM_GTX_multiple GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTX_multiple extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename genType>
-
57  genType higherMultiple(
-
58  genType const & Source,
-
59  genType const & Multiple);
-
60 
-
63  template <typename genType>
-
64  genType lowerMultiple(
-
65  genType const & Source,
-
66  genType const & Multiple);
-
67 
-
69 }//namespace glm
-
70 
-
71 #include "multiple.inl"
-
72 
-
73 #endif//GLM_GTX_multiple
-
- - - - + + + + + + +GLM: mat2x2.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
mat2x2.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_MAT2X2_INCLUDED
+
30 #define GLM_MAT2X2_INCLUDED
+
31 
+
32 #include "detail/type_mat2x2.hpp"
+
33 
+
34 namespace glm
+
35 {
+
41  typedef detail::tmat2x2<float, lowp> lowp_mat2;
+
42 
+
48  typedef detail::tmat2x2<float, mediump> mediump_mat2;
+
49 
+
55  typedef detail::tmat2x2<float, highp> highp_mat2;
+
56 
+
62  typedef detail::tmat2x2<float, lowp> lowp_mat2x2;
+
63 
+
69  typedef detail::tmat2x2<float, mediump> mediump_mat2x2;
+
70 
+
76  typedef detail::tmat2x2<float, highp> highp_mat2x2;
+
77 
+
78 }//namespace glm
+
79 
+
80 #endif//GLM_MAT2X2_INCLUDED
+
detail::tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:79
+
detail::tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:72
+
detail::tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:86
+
detail::tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:65
+
detail::tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:93
+
detail::tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:100
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00063.html glm-0.9.5.1/doc/api/a00063.html --- glm-0.9.4.6/doc/api/a00063.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00063.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,84 +1,82 @@ - - - - - -noise.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
gtc/noise.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - -

-Functions

template<typename T , template< typename > class vecType>
perlin (vecType< T > const &p)
 
template<typename T , template< typename > class vecType>
perlin (vecType< T > const &p, vecType< T > const &rep)
 
template<typename T , template< typename > class vecType>
simplex (vecType< T > const &p)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_noise

-
Date
2011-04-21 / 2011-09-27
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file gtc/noise.hpp.

-
- - - - + + + + + + +GLM: mat2x3.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
mat2x3.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file mat2x3.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00063_source.html glm-0.9.5.1/doc/api/a00063_source.html --- glm-0.9.4.6/doc/api/a00063_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00063_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,127 +1,82 @@ - - - - - -noise.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtc/noise.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 
-
41 #ifndef GLM_GTC_noise
-
42 #define GLM_GTC_noise GLM_VERSION
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
48 # pragma message("GLM: GLM_GTC_noise extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
58  template <typename T, template<typename> class vecType>
-
59  T perlin(
-
60  vecType<T> const & p);
-
61 
-
64  template <typename T, template<typename> class vecType>
-
65  T perlin(
-
66  vecType<T> const & p,
-
67  vecType<T> const & rep);
-
68 
-
71  template <typename T, template<typename> class vecType>
-
72  T simplex(
-
73  vecType<T> const & p);
-
74 
-
76 }//namespace glm
-
77 
-
78 #include "noise.inl"
-
79 
-
80 #endif//GLM_GTC_noise
-
- - - - + + + + + + +GLM: mat2x3.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
mat2x3.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_MAT2X3_INCLUDED
+
30 #define GLM_MAT2X3_INCLUDED
+
31 
+
32 #include "detail/type_mat2x3.hpp"
+
33 
+
34 namespace glm
+
35 {
+
41  typedef detail::tmat2x3<float, lowp> lowp_mat2x3;
+
42 
+
48  typedef detail::tmat2x3<float, mediump> mediump_mat2x3;
+
49 
+
55  typedef detail::tmat2x3<float, highp> highp_mat2x3;
+
56 
+
57 }//namespace glm
+
58 
+
59 #endif//GLM_MAT2X3_INCLUDED
+
detail::tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:119
+
detail::tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:126
+
detail::tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:112
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00064.html glm-0.9.5.1/doc/api/a00064.html --- glm-0.9.4.6/doc/api/a00064.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00064.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,82 @@ + + + + + + +GLM: mat2x4.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
mat2x4.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file mat2x4.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00064_source.html glm-0.9.5.1/doc/api/a00064_source.html --- glm-0.9.4.6/doc/api/a00064_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00064_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,85 +1,82 @@ - - - - - -noise.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtx/noise.hpp
-
-
-
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 #if(defined(GLM_MESSAGES))
-
25 # pragma message("GLM: GLM_GTX_random extension is deprecated, include GLM_GTC_random (glm/gtc/noise.hpp) instead")
-
26 #endif
-
27 
-
28 // Promoted:
-
29 #include "../gtc/noise.hpp"
-
- - - - + + + + + + +GLM: mat2x4.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
mat2x4.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_MAT2X4_INCLUDED
+
30 #define GLM_MAT2X4_INCLUDED
+
31 
+
32 #include "detail/type_mat2x4.hpp"
+
33 
+
34 namespace glm
+
35 {
+
41  typedef detail::tmat2x4<float, lowp> lowp_mat2x4;
+
42 
+
48  typedef detail::tmat2x4<float, mediump> mediump_mat2x4;
+
49 
+
55  typedef detail::tmat2x4<float, highp> highp_mat2x4;
+
56 
+
57 }//namespace glm
+
58 
+
59 #endif//GLM_MAT2X4_INCLUDED
+
detail::tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:138
+
detail::tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:152
+
detail::tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:145
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00065.html glm-0.9.5.1/doc/api/a00065.html --- glm-0.9.4.6/doc/api/a00065.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00065.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,110 +1,82 @@ - - - - - -norm.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
norm.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
distance2 (T const &p0, T const &p1)
 
template<typename genType >
genType::value_type distance2 (genType const &p0, genType const &p1)
 
template<typename T >
l1Norm (detail::tvec3< T > const &x, detail::tvec3< T > const &y)
 
template<typename T >
l1Norm (detail::tvec3< T > const &v)
 
template<typename T >
l2Norm (detail::tvec3< T > const &x, detail::tvec3< T > const &y)
 
template<typename T >
l2Norm (detail::tvec3< T > const &x)
 
template<typename T >
length2 (T const &x)
 
template<typename genType >
genType::value_type length2 (genType const &x)
 
template<typename T >
length2 (detail::tquat< T > const &q)
 
template<typename T >
lxNorm (detail::tvec3< T > const &x, detail::tvec3< T > const &y, unsigned int Depth)
 
template<typename T >
lxNorm (detail::tvec3< T > const &x, unsigned int Depth)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_norm

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_quaternion (dependence)
- -

Definition in file norm.hpp.

-
- - - - + + + + + + +GLM: mat3x2.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
mat3x2.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file mat3x2.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00065_source.html glm-0.9.5.1/doc/api/a00065_source.html --- glm-0.9.4.6/doc/api/a00065_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00065_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,164 +1,82 @@ - - - - - -norm.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
norm.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_norm
-
40 #define GLM_GTX_norm GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/quaternion.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_norm extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename T>
-
58  T length2(
-
59  T const & x);
-
60 
-
63  template <typename genType>
-
64  typename genType::value_type length2(
-
65  genType const & x);
-
66 
-
69  template <typename T>
-
70  T length2(
-
71  detail::tquat<T> const & q);
-
72 
-
75  template <typename T>
-
76  T distance2(
-
77  T const & p0,
-
78  T const & p1);
-
79 
-
82  template <typename genType>
-
83  typename genType::value_type distance2(
-
84  genType const & p0,
-
85  genType const & p1);
-
86 
-
89  template <typename T>
-
90  T l1Norm(
-
91  detail::tvec3<T> const & x,
-
92  detail::tvec3<T> const & y);
-
93 
-
96  template <typename T>
-
97  T l1Norm(
-
98  detail::tvec3<T> const & v);
-
99 
-
102  template <typename T>
-
103  T l2Norm(
-
104  detail::tvec3<T> const & x,
-
105  detail::tvec3<T> const & y);
-
106 
-
109  template <typename T>
-
110  T l2Norm(
-
111  detail::tvec3<T> const & x);
-
112 
-
115  template <typename T>
-
116  T lxNorm(
-
117  detail::tvec3<T> const & x,
-
118  detail::tvec3<T> const & y,
-
119  unsigned int Depth);
-
120 
-
123  template <typename T>
-
124  T lxNorm(
-
125  detail::tvec3<T> const & x,
-
126  unsigned int Depth);
-
127 
-
129 }//namespace glm
-
130 
-
131 #include "norm.inl"
-
132 
-
133 #endif//GLM_GTX_norm
-
- - - - + + + + + + +GLM: mat3x2.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
mat3x2.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_MAT3X2_INCLUDED
+
30 #define GLM_MAT3X2_INCLUDED
+
31 
+
32 #include "detail/type_mat3x2.hpp"
+
33 
+
34 namespace glm
+
35 {
+
41  typedef detail::tmat3x2<float, lowp> lowp_mat3x2;
+
42 
+
48  typedef detail::tmat3x2<float, mediump> mediump_mat3x2;
+
49 
+
55  typedef detail::tmat3x2<float, highp> highp_mat3x2;
+
56 
+
57 }//namespace
+
58 
+
59 #endif//GLM_MAT3X2_INCLUDED
+
detail::tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:164
+
detail::tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:178
+
detail::tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:171
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00066.html glm-0.9.5.1/doc/api/a00066.html --- glm-0.9.4.6/doc/api/a00066.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00066.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,80 +1,82 @@ - - - - - -normal.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
normal.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - -

-Functions

template<typename T >
detail::tvec3< T > triangleNormal (detail::tvec3< T > const &p1, detail::tvec3< T > const &p2, detail::tvec3< T > const &p3)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_normal

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
- -

Definition in file normal.hpp.

-
- - - - + + + + + + +GLM: mat3x3.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
mat3x3.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file mat3x3.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00066_source.html glm-0.9.5.1/doc/api/a00066_source.html --- glm-0.9.4.6/doc/api/a00066_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00066_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,118 +1,91 @@ - - - - - -normal.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
normal.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_normal
-
40 #define GLM_GTX_normal GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTX_normal extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename T>
-
57  detail::tvec3<T> triangleNormal(
-
58  detail::tvec3<T> const & p1,
-
59  detail::tvec3<T> const & p2,
-
60  detail::tvec3<T> const & p3);
-
61 
-
63 }//namespace glm
-
64 
-
65 #include "normal.inl"
-
66 
-
67 #endif//GLM_GTX_normal
-
- - - - + + + + + + +GLM: mat3x3.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
mat3x3.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_MAT3X3_INCLUDED
+
30 #define GLM_MAT3X3_INCLUDED
+
31 
+
32 #include "detail/type_mat3x3.hpp"
+
33 
+
34 namespace glm
+
35 {
+
41  typedef detail::tmat3x3<float, lowp> lowp_mat3;
+
42 
+
48  typedef detail::tmat3x3<float, mediump> mediump_mat3;
+
49 
+
55  typedef detail::tmat3x3<float, highp> highp_mat3;
+
56 
+
62  typedef detail::tmat3x3<float, lowp> lowp_mat3x3;
+
63 
+
69  typedef detail::tmat3x3<float, mediump> mediump_mat3x3;
+
70 
+
76  typedef detail::tmat3x3<float, highp> highp_mat3x3;
+
77 
+
78 }//namespace glm
+
79 
+
80 #endif//GLM_MAT3X3_INCLUDED
+
detail::tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:197
+
detail::tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:211
+
detail::tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:204
+
detail::tmat3x3< float, lowp > lowp_mat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:190
+
detail::tmat3x3< float, mediump > mediump_mat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:218
+
detail::tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:225
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00067.html glm-0.9.5.1/doc/api/a00067.html --- glm-0.9.4.6/doc/api/a00067.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00067.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,83 +1,82 @@ - - - - - -normalize_dot.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
normalize_dot.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Functions

template<typename genType >
genType::value_type fastNormalizeDot (genType const &x, genType const &y)
 
template<typename genType >
genType::value_type normalizeDot (genType const &x, genType const &y)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_normalize_dot

-
Date
2007-09-28 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_fast_square_root (dependence)
- -

Definition in file normalize_dot.hpp.

-
- - - - + + + + + + +GLM: mat3x4.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
mat3x4.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file mat3x4.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00067_source.html glm-0.9.5.1/doc/api/a00067_source.html --- glm-0.9.4.6/doc/api/a00067_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00067_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,123 +1,82 @@ - - - - - -normalize_dot.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
normalize_dot.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_normalize_dot
-
40 #define GLM_GTX_normalize_dot GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/fast_square_root.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_normalize_dot extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
58  template <typename genType>
-
59  typename genType::value_type normalizeDot(
-
60  genType const & x,
-
61  genType const & y);
-
62 
-
66  template <typename genType>
-
67  typename genType::value_type fastNormalizeDot(
-
68  genType const & x,
-
69  genType const & y);
-
70 
-
72 }//namespace glm
-
73 
-
74 #include "normalize_dot.inl"
-
75 
-
76 #endif//GLM_GTX_normalize_dot
-
- - - - + + + + + + +GLM: mat3x4.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
mat3x4.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_MAT3X4_INCLUDED
+
30 #define GLM_MAT3X4_INCLUDED
+
31 
+
32 #include "detail/type_mat3x4.hpp"
+
33 
+
34 namespace glm
+
35 {
+
41  typedef detail::tmat3x4<float, lowp> lowp_mat3x4;
+
42 
+
48  typedef detail::tmat3x4<float, mediump> mediump_mat3x4;
+
49 
+
55  typedef detail::tmat3x4<float, highp> highp_mat3x4;
+
56 
+
57 }//namespace glm
+
58 
+
59 #endif//GLM_MAT3X4_INCLUDED
+
detail::tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:251
+
detail::tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:237
+
detail::tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:244
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00068.html glm-0.9.5.1/doc/api/a00068.html --- glm-0.9.4.6/doc/api/a00068.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00068.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,118 +1,82 @@ - - - - - -number_precision.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
number_precision.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

-typedef f16 f16mat1
 
-typedef f16 f16mat1x1
 
-typedef f16 f16vec1
 
-typedef f32 f32mat1
 
-typedef f32 f32mat1x1
 
-typedef f32 f32vec1
 
-typedef f64 f64mat1
 
-typedef f64 f64mat1x1
 
-typedef f64 f64vec1
 
-typedef u16 u16vec1
 
-typedef u32 u32vec1
 
-typedef u64 u64vec1
 
-typedef u8 u8vec1
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_number_precision

-
Date
2007-05-10 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_type_precision (dependence)
-
-GLM_GTC_quaternion (dependence)
- -

Definition in file number_precision.hpp.

-
- - - - + + + + + + +GLM: mat4x2.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
mat4x2.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file mat4x2.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00068_source.html glm-0.9.5.1/doc/api/a00068_source.html --- glm-0.9.4.6/doc/api/a00068_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00068_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,138 +1,82 @@ - - - - - -number_precision.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
number_precision.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 #ifndef GLM_GTX_number_precision
-
41 #define GLM_GTX_number_precision GLM_VERSION
-
42 
-
43 // Dependency:
-
44 #include "../glm.hpp"
-
45 #include "../gtc/type_precision.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
48 # pragma message("GLM: GLM_GTX_number_precision extension included")
-
49 #endif
-
50 
-
51 namespace glm{
-
52 namespace gtx
-
53 {
-
55  // Unsigned int vector types
-
56 
-
59 
-
60  typedef u8 u8vec1;
-
61  typedef u16 u16vec1;
-
62  typedef u32 u32vec1;
-
63  typedef u64 u64vec1;
-
64 
-
66  // Float vector types
-
67 
-
68  typedef f16 f16vec1;
-
69  typedef f32 f32vec1;
-
70  typedef f64 f64vec1;
-
71 
-
73  // Float matrix types
-
74 
-
75  typedef f16 f16mat1;
-
76  typedef f16 f16mat1x1;
-
77  typedef f32 f32mat1;
-
78  typedef f32 f32mat1x1;
-
79  typedef f64 f64mat1;
-
80  typedef f64 f64mat1x1;
-
81 
-
83 }//namespace gtx
-
84 }//namespace glm
-
85 
-
86 #include "number_precision.inl"
-
87 
-
88 #endif//GLM_GTX_number_precision
-
- - - - + + + + + + +GLM: mat4x2.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
mat4x2.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_MAT4X2_INCLUDED
+
30 #define GLM_MAT4X2_INCLUDED
+
31 
+
32 #include "detail/type_mat4x2.hpp"
+
33 
+
34 namespace glm
+
35 {
+
41  typedef detail::tmat4x2<float, lowp> lowp_mat4x2;
+
42 
+
48  typedef detail::tmat4x2<float, mediump> mediump_mat4x2;
+
49 
+
55  typedef detail::tmat4x2<float, highp> highp_mat4x2;
+
56 
+
57 }//namespace glm
+
58 
+
59 #endif//GLM_MAT4X2_INCLUDED
+
detail::tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:270
+
detail::tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:277
+
detail::tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:263
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00069.html glm-0.9.5.1/doc/api/a00069.html --- glm-0.9.4.6/doc/api/a00069.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00069.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,242 +0,0 @@ - - - - - -ocl_type.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
ocl_type.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

-typedef detail::int8 cl_char
 
-typedef detail::int8 cl_char1
 
-typedef detail::tvec2
-< detail::int8 > 
cl_char2
 
-typedef detail::tvec3
-< detail::int8 > 
cl_char3
 
-typedef detail::tvec4
-< detail::int8 > 
cl_char4
 
-typedef detail::float32 cl_float
 
-typedef detail::float32 cl_float1
 
-typedef detail::tvec2
-< detail::float32 > 
cl_float2
 
-typedef detail::tvec3
-< detail::float32 > 
cl_float3
 
-typedef detail::tvec4
-< detail::float32 > 
cl_float4
 
-typedef detail::float16 cl_half
 
-typedef detail::int32 cl_int
 
-typedef detail::int32 cl_int1
 
-typedef detail::tvec2
-< detail::int32 > 
cl_int2
 
-typedef detail::tvec3
-< detail::int32 > 
cl_int3
 
-typedef detail::tvec4
-< detail::int32 > 
cl_int4
 
-typedef detail::int64 cl_long
 
-typedef detail::int64 cl_long1
 
-typedef detail::tvec2
-< detail::int64 > 
cl_long2
 
-typedef detail::tvec3
-< detail::int64 > 
cl_long3
 
-typedef detail::tvec4
-< detail::int64 > 
cl_long4
 
-typedef detail::int16 cl_short
 
-typedef detail::int16 cl_short1
 
-typedef detail::tvec2
-< detail::int16 > 
cl_short2
 
-typedef detail::tvec3
-< detail::int16 > 
cl_short3
 
-typedef detail::tvec4
-< detail::int16 > 
cl_short4
 
-typedef detail::uint8 cl_uchar
 
-typedef detail::uint8 cl_uchar1
 
-typedef detail::tvec2
-< detail::uint8 > 
cl_uchar2
 
-typedef detail::tvec3
-< detail::uint8 > 
cl_uchar3
 
-typedef detail::tvec4
-< detail::uint8 > 
cl_uchar4
 
-typedef detail::uint32 cl_uint
 
-typedef detail::uint32 cl_uint1
 
-typedef detail::tvec2
-< detail::uint32 > 
cl_uint2
 
-typedef detail::tvec3
-< detail::uint32 > 
cl_uint3
 
-typedef detail::tvec4
-< detail::uint32 > 
cl_uint4
 
-typedef detail::uint64 cl_ulong
 
-typedef detail::uint64 cl_ulong1
 
-typedef detail::tvec2
-< detail::uint64 > 
cl_ulong2
 
-typedef detail::tvec3
-< detail::uint64 > 
cl_ulong3
 
-typedef detail::tvec4
-< detail::uint64 > 
cl_ulong4
 
-typedef detail::uint16 cl_ushort
 
-typedef detail::uint16 cl_ushort1
 
-typedef detail::tvec2
-< detail::uint16 > 
cl_ushort2
 
-typedef detail::tvec3
-< detail::uint16 > 
cl_ushort3
 
-typedef detail::tvec4
-< detail::uint16 > 
cl_ushort4
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_ocl_type

-
Date
2009-05-07 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
- -

Definition in file ocl_type.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00069_source.html glm-0.9.5.1/doc/api/a00069_source.html --- glm-0.9.4.6/doc/api/a00069_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00069_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,184 +1,82 @@ - - - - - -ocl_type.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
ocl_type.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_ocl_type
-
40 #define GLM_GTX_ocl_type GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTX_ocl_type extension included")
-
47 #endif
-
48 
-
49 namespace glm{
-
50 namespace gtx
-
51 {
-
53  // Scalar types
-
54 
-
57 
-
58  typedef detail::int8 cl_char;
-
59  typedef detail::int16 cl_short;
-
60  typedef detail::int32 cl_int;
-
61  typedef detail::int64 cl_long;
-
62 
-
63  typedef detail::uint8 cl_uchar;
-
64  typedef detail::uint16 cl_ushort;
-
65  typedef detail::uint32 cl_uint;
-
66  typedef detail::uint64 cl_ulong;
-
67 
-
68  typedef detail::float16 cl_half;
-
69  typedef detail::float32 cl_float;
-
70 
-
71 
-
72  typedef detail::int8 cl_char1;
-
73  typedef detail::int16 cl_short1;
-
74  typedef detail::int32 cl_int1;
-
75  typedef detail::int64 cl_long1;
-
76 
-
77  typedef detail::uint8 cl_uchar1;
-
78  typedef detail::uint16 cl_ushort1;
-
79  typedef detail::uint32 cl_uint1;
-
80  typedef detail::uint64 cl_ulong1;
-
81 
-
82  //typedef detail::float16 cl_half1; //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
-
83  typedef detail::float32 cl_float1;
-
84 
-
85 
-
86  typedef detail::tvec2<detail::int8> cl_char2;
-
87  typedef detail::tvec2<detail::int16> cl_short2;
-
88  typedef detail::tvec2<detail::int32> cl_int2;
-
89  typedef detail::tvec2<detail::int64> cl_long2;
-
90 
-
91  typedef detail::tvec2<detail::uint8> cl_uchar2;
-
92  typedef detail::tvec2<detail::uint16> cl_ushort2;
-
93  typedef detail::tvec2<detail::uint32> cl_uint2;
-
94  typedef detail::tvec2<detail::uint64> cl_ulong2;
-
95 
-
96  //typedef detail::tvec2<detail::float16> cl_half2; //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
-
97  typedef detail::tvec2<detail::float32> cl_float2;
-
98 
-
99 
-
100  typedef detail::tvec3<detail::int8> cl_char3;
-
101  typedef detail::tvec3<detail::int16> cl_short3;
-
102  typedef detail::tvec3<detail::int32> cl_int3;
-
103  typedef detail::tvec3<detail::int64> cl_long3;
-
104 
-
105  typedef detail::tvec3<detail::uint8> cl_uchar3;
-
106  typedef detail::tvec3<detail::uint16> cl_ushort3;
-
107  typedef detail::tvec3<detail::uint32> cl_uint3;
-
108  typedef detail::tvec3<detail::uint64> cl_ulong3;
-
109 
-
110  //typedef detail::tvec3<detail::float16> cl_half3; //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
-
111  typedef detail::tvec3<detail::float32> cl_float3;
-
112 
-
113 
-
114  typedef detail::tvec4<detail::int8> cl_char4;
-
115  typedef detail::tvec4<detail::int16> cl_short4;
-
116  typedef detail::tvec4<detail::int32> cl_int4;
-
117  typedef detail::tvec4<detail::int64> cl_long4;
-
118  typedef detail::tvec4<detail::uint8> cl_uchar4;
-
119  typedef detail::tvec4<detail::uint16> cl_ushort4;
-
120  typedef detail::tvec4<detail::uint32> cl_uint4;
-
121  typedef detail::tvec4<detail::uint64> cl_ulong4;
-
122 
-
123  //typedef detail::tvec4<detail::float16> cl_half4; //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
-
124  typedef detail::tvec4<detail::float32> cl_float4;
-
125 
-
127 }//namespace gtx
-
128 }//namespace glm
-
129 
-
130 #include "ocl_type.inl"
-
131 
-
132 #endif//GLM_GTX_ocl_type
-
- - - - + + + + + + +GLM: mat4x3.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
mat4x3.hpp
+
+
+
1 
+
29 #ifndef GLM_MAT4X3_INCLUDED
+
30 #define GLM_MAT4X3_INCLUDED
+
31 
+
32 #include "detail/type_mat4x3.hpp"
+
33 
+
34 namespace glm
+
35 {
+
41  typedef detail::tmat4x3<float, lowp> lowp_mat4x3;
+
42 
+
48  typedef detail::tmat4x3<float, mediump> mediump_mat4x3;
+
49 
+
55  typedef detail::tmat4x3<float, highp> highp_mat4x3;
+
56 
+
57 }//namespace glm
+
58 
+
59 #endif//GLM_MAT4X3_INCLUDED
+
detail::tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:296
+
detail::tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:303
+
detail::tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:289
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00070.html glm-0.9.5.1/doc/api/a00070.html --- glm-0.9.4.6/doc/api/a00070.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00070.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,92 +1,82 @@ - - - - - -optimum_pow.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
optimum_pow.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType pow2 (const genType &x)
 
template<typename genType >
genType pow3 (const genType &x)
 
template<typename genType >
genType pow4 (const genType &x)
 
bool powOfTwo (int num)
 
detail::tvec2< bool > powOfTwo (const detail::tvec2< int > &x)
 
detail::tvec3< bool > powOfTwo (const detail::tvec3< int > &x)
 
detail::tvec4< bool > powOfTwo (const detail::tvec4< int > &x)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_optimum_pow

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file optimum_pow.hpp.

-
- - - - + + + + + + +GLM: mat4x4.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
mat4x4.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file mat4x4.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00070_source.html glm-0.9.5.1/doc/api/a00070_source.html --- glm-0.9.4.6/doc/api/a00070_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00070_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,130 +1,91 @@ - - - - - -optimum_pow.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
optimum_pow.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_optimum_pow
-
39 #define GLM_GTX_optimum_pow GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_optimum_pow extension included")
-
46 #endif
-
47 
-
48 namespace glm{
-
49 namespace gtx
-
50 {
-
53 
-
56  template <typename genType>
-
57  genType pow2(const genType& x);
-
58 
-
61  template <typename genType>
-
62  genType pow3(const genType& x);
-
63 
-
66  template <typename genType>
-
67  genType pow4(const genType& x);
-
68 
-
71  bool powOfTwo(int num);
-
72 
-
75  detail::tvec2<bool> powOfTwo(const detail::tvec2<int>& x);
-
76 
-
79  detail::tvec3<bool> powOfTwo(const detail::tvec3<int>& x);
-
80 
-
83  detail::tvec4<bool> powOfTwo(const detail::tvec4<int>& x);
-
84 
-
86 }//namespace gtx
-
87 }//namespace glm
-
88 
-
89 #include "optimum_pow.inl"
-
90 
-
91 #endif//GLM_GTX_optimum_pow
-
- - - - + + + + + + +GLM: mat4x4.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
mat4x4.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_MAT4X4_INCLUDED
+
30 #define GLM_MAT4X4_INCLUDED
+
31 
+
32 #include "detail/type_mat4x4.hpp"
+
33 
+
34 namespace glm
+
35 {
+
41  typedef detail::tmat4x4<float, lowp> lowp_mat4;
+
42 
+
48  typedef detail::tmat4x4<float, mediump> mediump_mat4;
+
49 
+
55  typedef detail::tmat4x4<float, highp> highp_mat4;
+
56 
+
62  typedef detail::tmat4x4<float, lowp> lowp_mat4x4;
+
63 
+
69  typedef detail::tmat4x4<float, mediump> mediump_mat4x4;
+
70 
+
76  typedef detail::tmat4x4<float, highp> highp_mat4x4;
+
77 
+
78 }//namespace glm
+
79 
+
80 #endif//GLM_MAT4X4_INCLUDED
+
detail::tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:351
+
detail::tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:316
+
detail::tmat4x4< float, highp > highp_mat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:330
+
detail::tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:344
+
detail::tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:323
+
detail::tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:337
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00071.html glm-0.9.5.1/doc/api/a00071.html --- glm-0.9.4.6/doc/api/a00071.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00071.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,83 +1,74 @@ - - - - - -orthonormalize.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
orthonormalize.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Functions

template<typename T >
detail::tmat3x3< T > orthonormalize (const detail::tmat3x3< T > &m)
 
template<typename T >
detail::tvec3< T > orthonormalize (const detail::tvec3< T > &x, const detail::tvec3< T > &y)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_orthonormalize

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
- -

Definition in file orthonormalize.hpp.

-
- - - - + + + + + + +GLM: matrix.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
matrix.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file matrix.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00071_source.html glm-0.9.5.1/doc/api/a00071_source.html --- glm-0.9.4.6/doc/api/a00071_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00071_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,121 +1,69 @@ - - - - - -orthonormalize.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
orthonormalize.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_orthonormalize
-
40 #define GLM_GTX_orthonormalize GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTX_orthonormalize extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename T>
-
57  detail::tmat3x3<T> orthonormalize(
-
58  const detail::tmat3x3<T>& m);
-
59 
-
62  template <typename T>
-
63  detail::tvec3<T> orthonormalize(
-
64  const detail::tvec3<T>& x,
-
65  const detail::tvec3<T>& y);
-
66 
-
68 }//namespace glm
-
69 
-
70 #include "orthonormalize.inl"
-
71 
-
72 #endif//GLM_GTX_orthonormalize
-
- - - - + + + + + + +GLM: matrix.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
matrix.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_MATRIX_INCLUDED
+
30 #define GLM_MATRIX_INCLUDED
+
31 
+
32 #include "detail/func_matrix.hpp"
+
33 
+
34 #endif//GLM_MATRIX_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00072.html glm-0.9.5.1/doc/api/a00072.html --- glm-0.9.4.6/doc/api/a00072.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00072.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,99 @@ + + + + + + +GLM: matrix_access.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
matrix_access.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + +

+Functions

template<typename genType >
genType::col_type column (genType const &m, length_t const &index)
 
template<typename genType >
genType column (genType const &m, length_t const &index, typename genType::col_type const &x)
 
template<typename genType >
genType::row_type row (genType const &m, length_t const &index)
 
template<typename genType >
genType row (genType const &m, length_t const &index, typename genType::row_type const &x)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_matrix_access

+
Date
2005-12-27 / 2011-05-16
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file matrix_access.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00072_source.html glm-0.9.5.1/doc/api/a00072_source.html --- glm-0.9.4.6/doc/api/a00072_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00072_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,57 +1,105 @@ - - - - - -pages.doxy Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
pages.doxy
-
-
-
1 
-
- - - - + + + + + + +GLM: matrix_access.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
matrix_access.hpp
+
+
+Go to the documentation of this file.
1 
+
37 #ifndef GLM_GTC_matrix_access
+
38 #define GLM_GTC_matrix_access
+
39 
+
40 // Dependency:
+
41 #include "../detail/setup.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTC_matrix_access extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
54  template <typename genType>
+
55  typename genType::row_type row(
+
56  genType const & m,
+
57  length_t const & index);
+
58 
+
61  template <typename genType>
+
62  genType row(
+
63  genType const & m,
+
64  length_t const & index,
+
65  typename genType::row_type const & x);
+
66 
+
69  template <typename genType>
+
70  typename genType::col_type column(
+
71  genType const & m,
+
72  length_t const & index);
+
73 
+
76  template <typename genType>
+
77  genType column(
+
78  genType const & m,
+
79  length_t const & index,
+
80  typename genType::col_type const & x);
+
81 
+
83 }//namespace glm
+
84 
+
85 #include "matrix_access.inl"
+
86 
+
87 #endif//GLM_GTC_matrix_access
+
genType::col_type column(genType const &m, length_t const &index)
Get a specific column of a matrix.
+
genType::row_type row(genType const &m, length_t const &index)
Get a specific row of a matrix.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00073.html glm-0.9.5.1/doc/api/a00073.html --- glm-0.9.4.6/doc/api/a00073.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00073.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,80 +1,95 @@ - - - - - -perpendicular.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
perpendicular.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - -

-Functions

template<typename vecType >
vecType perp (vecType const &x, vecType const &Normal)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_perpendicular

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_projection (dependence)
- -

Definition in file perpendicular.hpp.

-
- - - - + + + + + + +GLM: matrix_cross_product.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
matrix_cross_product.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat3x3< T, P > matrixCross3 (detail::tvec3< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > matrixCross4 (detail::tvec3< T, P > const &x)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_matrix_cross_product

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_extented_min_max (dependence)
+ +

Definition in file matrix_cross_product.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00073_source.html glm-0.9.5.1/doc/api/a00073_source.html --- glm-0.9.4.6/doc/api/a00073_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00073_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,118 +1,91 @@ - - - - - -perpendicular.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
perpendicular.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_perpendicular
-
40 #define GLM_GTX_perpendicular GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/projection.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_perpendicular extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename vecType>
-
58  vecType perp(
-
59  vecType const & x,
-
60  vecType const & Normal);
-
61 
-
63 }//namespace glm
-
64 
-
65 #include "perpendicular.inl"
-
66 
-
67 #endif//GLM_GTX_perpendicular
-
- - - - + + + + + + +GLM: matrix_cross_product.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
matrix_cross_product.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_matrix_cross_product
+
40 #define GLM_GTX_matrix_cross_product
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_matrix_cross_product extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  template <typename T, precision P>
+
57  detail::tmat3x3<T, P> matrixCross3(
+
58  detail::tvec3<T, P> const & x);
+
59 
+
62  template <typename T, precision P>
+
63  detail::tmat4x4<T, P> matrixCross4(
+
64  detail::tvec3<T, P> const & x);
+
65 
+
67 }//namespace glm
+
68 
+
69 #include "matrix_cross_product.inl"
+
70 
+
71 #endif//GLM_GTX_matrix_cross_product
+
detail::tmat4x4< T, P > matrixCross4(detail::tvec3< T, P > const &x)
Build a cross product matrix.
+
detail::tmat3x3< T, P > matrixCross3(detail::tvec3< T, P > const &x)
Build a cross product matrix.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00074.html glm-0.9.5.1/doc/api/a00074.html --- glm-0.9.4.6/doc/api/a00074.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00074.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,81 +1,351 @@ - - - - - -polar_coordinates.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
polar_coordinates.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Functions

template<typename T >
detail::tvec3< T > euclidean (detail::tvec3< T > const &polar)
 
template<typename T >
detail::tvec3< T > polar (detail::tvec3< T > const &euclidean)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_polar_coordinates

-
Date
2007-03-06 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file polar_coordinates.hpp.

-
- - - - + + + + + + +GLM: matrix_integer.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
matrix_integer.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef detail::tmat2x2< int,
+highp > 
highp_imat2
 
typedef detail::tmat2x2< int,
+highp > 
highp_imat2x2
 
typedef detail::tmat2x3< int,
+highp > 
highp_imat2x3
 
typedef detail::tmat2x4< int,
+highp > 
highp_imat2x4
 
typedef detail::tmat3x3< int,
+highp > 
highp_imat3
 
typedef detail::tmat3x2< int,
+highp > 
highp_imat3x2
 
typedef detail::tmat3x3< int,
+highp > 
highp_imat3x3
 
typedef detail::tmat3x4< int,
+highp > 
highp_imat3x4
 
typedef detail::tmat4x4< int,
+highp > 
highp_imat4
 
typedef detail::tmat4x2< int,
+highp > 
highp_imat4x2
 
typedef detail::tmat4x3< int,
+highp > 
highp_imat4x3
 
typedef detail::tmat4x4< int,
+highp > 
highp_imat4x4
 
typedef detail::tmat2x2< uint,
+highp > 
highp_umat2
 
typedef detail::tmat2x2< uint,
+highp > 
highp_umat2x2
 
typedef detail::tmat2x3< uint,
+highp > 
highp_umat2x3
 
typedef detail::tmat2x4< uint,
+highp > 
highp_umat2x4
 
typedef detail::tmat3x3< uint,
+highp > 
highp_umat3
 
typedef detail::tmat3x2< uint,
+highp > 
highp_umat3x2
 
typedef detail::tmat3x3< uint,
+highp > 
highp_umat3x3
 
typedef detail::tmat3x4< uint,
+highp > 
highp_umat3x4
 
typedef detail::tmat4x4< uint,
+highp > 
highp_umat4
 
typedef detail::tmat4x2< uint,
+highp > 
highp_umat4x2
 
typedef detail::tmat4x3< uint,
+highp > 
highp_umat4x3
 
typedef detail::tmat4x4< uint,
+highp > 
highp_umat4x4
 
typedef mediump_imat2 imat2
 
typedef mediump_imat2x2 imat2x2
 
typedef mediump_imat2x3 imat2x3
 
typedef mediump_imat2x4 imat2x4
 
typedef mediump_imat3 imat3
 
typedef mediump_imat3x2 imat3x2
 
typedef mediump_imat3x3 imat3x3
 
typedef mediump_imat3x4 imat3x4
 
typedef mediump_imat4 imat4
 
typedef mediump_imat4x2 imat4x2
 
typedef mediump_imat4x3 imat4x3
 
typedef mediump_imat4x4 imat4x4
 
typedef detail::tmat2x2< int,
+lowp > 
lowp_imat2
 
typedef detail::tmat2x2< int,
+lowp > 
lowp_imat2x2
 
typedef detail::tmat2x3< int,
+lowp > 
lowp_imat2x3
 
typedef detail::tmat2x4< int,
+lowp > 
lowp_imat2x4
 
typedef detail::tmat3x3< int,
+lowp > 
lowp_imat3
 
typedef detail::tmat3x2< int,
+lowp > 
lowp_imat3x2
 
typedef detail::tmat3x3< int,
+lowp > 
lowp_imat3x3
 
typedef detail::tmat3x4< int,
+lowp > 
lowp_imat3x4
 
typedef detail::tmat4x4< int,
+lowp > 
lowp_imat4
 
typedef detail::tmat4x2< int,
+lowp > 
lowp_imat4x2
 
typedef detail::tmat4x3< int,
+lowp > 
lowp_imat4x3
 
typedef detail::tmat4x4< int,
+lowp > 
lowp_imat4x4
 
typedef detail::tmat2x2< uint,
+lowp > 
lowp_umat2
 
typedef detail::tmat2x2< uint,
+lowp > 
lowp_umat2x2
 
typedef detail::tmat2x3< uint,
+lowp > 
lowp_umat2x3
 
typedef detail::tmat2x4< uint,
+lowp > 
lowp_umat2x4
 
typedef detail::tmat3x3< uint,
+lowp > 
lowp_umat3
 
typedef detail::tmat3x2< uint,
+lowp > 
lowp_umat3x2
 
typedef detail::tmat3x3< uint,
+lowp > 
lowp_umat3x3
 
typedef detail::tmat3x4< uint,
+lowp > 
lowp_umat3x4
 
typedef detail::tmat4x4< uint,
+lowp > 
lowp_umat4
 
typedef detail::tmat4x2< uint,
+lowp > 
lowp_umat4x2
 
typedef detail::tmat4x3< uint,
+lowp > 
lowp_umat4x3
 
typedef detail::tmat4x4< uint,
+lowp > 
lowp_umat4x4
 
typedef detail::tmat2x2< int,
+mediump > 
mediump_imat2
 
typedef detail::tmat2x2< int,
+mediump > 
mediump_imat2x2
 
typedef detail::tmat2x3< int,
+mediump > 
mediump_imat2x3
 
typedef detail::tmat2x4< int,
+mediump > 
mediump_imat2x4
 
typedef detail::tmat3x3< int,
+mediump > 
mediump_imat3
 
typedef detail::tmat3x2< int,
+mediump > 
mediump_imat3x2
 
typedef detail::tmat3x3< int,
+mediump > 
mediump_imat3x3
 
typedef detail::tmat3x4< int,
+mediump > 
mediump_imat3x4
 
typedef detail::tmat4x4< int,
+mediump > 
mediump_imat4
 
typedef detail::tmat4x2< int,
+mediump > 
mediump_imat4x2
 
typedef detail::tmat4x3< int,
+mediump > 
mediump_imat4x3
 
typedef detail::tmat4x4< int,
+mediump > 
mediump_imat4x4
 
typedef detail::tmat2x2< uint,
+mediump > 
mediump_umat2
 
typedef detail::tmat2x2< uint,
+mediump > 
mediump_umat2x2
 
typedef detail::tmat2x3< uint,
+mediump > 
mediump_umat2x3
 
typedef detail::tmat2x4< uint,
+mediump > 
mediump_umat2x4
 
typedef detail::tmat3x3< uint,
+mediump > 
mediump_umat3
 
typedef detail::tmat3x2< uint,
+mediump > 
mediump_umat3x2
 
typedef detail::tmat3x3< uint,
+mediump > 
mediump_umat3x3
 
typedef detail::tmat3x4< uint,
+mediump > 
mediump_umat3x4
 
typedef detail::tmat4x4< uint,
+mediump > 
mediump_umat4
 
typedef detail::tmat4x2< uint,
+mediump > 
mediump_umat4x2
 
typedef detail::tmat4x3< uint,
+mediump > 
mediump_umat4x3
 
typedef detail::tmat4x4< uint,
+mediump > 
mediump_umat4x4
 
typedef mediump_umat2 umat2
 
typedef mediump_umat2x2 umat2x2
 
typedef mediump_umat2x3 umat2x3
 
typedef mediump_umat2x4 umat2x4
 
typedef mediump_umat3 umat3
 
typedef mediump_umat3x2 umat3x2
 
typedef mediump_umat3x3 umat3x3
 
typedef mediump_umat3x4 umat3x4
 
typedef mediump_umat4 umat4
 
typedef mediump_umat4x2 umat4x2
 
typedef mediump_umat4x3 umat4x3
 
typedef mediump_umat4x4 umat4x4
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_matrix_integer

+
Date
2011-01-20 / 2011-06-05
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file matrix_integer.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00074_source.html glm-0.9.5.1/doc/api/a00074_source.html --- glm-0.9.4.6/doc/api/a00074_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00074_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,119 +1,442 @@ - - - - - -polar_coordinates.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
polar_coordinates.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_polar_coordinates
-
39 #define GLM_GTX_polar_coordinates GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_polar_coordinates extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename T>
-
56  detail::tvec3<T> polar(
-
57  detail::tvec3<T> const & euclidean);
-
58 
-
61  template <typename T>
-
62  detail::tvec3<T> euclidean(
-
63  detail::tvec3<T> const & polar);
-
64 
-
66 }//namespace glm
-
67 
-
68 #include "polar_coordinates.inl"
-
69 
-
70 #endif//GLM_GTX_polar_coordinates
-
- - - - + + + + + + +GLM: matrix_integer.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
matrix_integer.hpp
+
+
+Go to the documentation of this file.
1 
+
37 #ifndef GLM_GTC_matrix_integer
+
38 #define GLM_GTC_matrix_integer
+
39 
+
40 // Dependency:
+
41 #include "../mat2x2.hpp"
+
42 #include "../mat2x3.hpp"
+
43 #include "../mat2x4.hpp"
+
44 #include "../mat3x2.hpp"
+
45 #include "../mat3x3.hpp"
+
46 #include "../mat3x4.hpp"
+
47 #include "../mat4x2.hpp"
+
48 #include "../mat4x3.hpp"
+
49 #include "../mat4x4.hpp"
+
50 
+
51 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
52 # pragma message("GLM: GLM_GTC_matrix_integer extension included")
+
53 #endif
+
54 
+
55 namespace glm
+
56 {
+
59 
+
62  typedef detail::tmat2x2<int, highp> highp_imat2;
+
63 
+
66  typedef detail::tmat3x3<int, highp> highp_imat3;
+
67 
+
70  typedef detail::tmat4x4<int, highp> highp_imat4;
+
71 
+
74  typedef detail::tmat2x2<int, highp> highp_imat2x2;
+
75 
+
78  typedef detail::tmat2x3<int, highp> highp_imat2x3;
+
79 
+
82  typedef detail::tmat2x4<int, highp> highp_imat2x4;
+
83 
+
86  typedef detail::tmat3x2<int, highp> highp_imat3x2;
+
87 
+
90  typedef detail::tmat3x3<int, highp> highp_imat3x3;
+
91 
+
94  typedef detail::tmat3x4<int, highp> highp_imat3x4;
+
95 
+
98  typedef detail::tmat4x2<int, highp> highp_imat4x2;
+
99 
+
102  typedef detail::tmat4x3<int, highp> highp_imat4x3;
+
103 
+
106  typedef detail::tmat4x4<int, highp> highp_imat4x4;
+
107 
+
108 
+
111  typedef detail::tmat2x2<int, mediump> mediump_imat2;
+
112 
+
115  typedef detail::tmat3x3<int, mediump> mediump_imat3;
+
116 
+
119  typedef detail::tmat4x4<int, mediump> mediump_imat4;
+
120 
+
121 
+
124  typedef detail::tmat2x2<int, mediump> mediump_imat2x2;
+
125 
+
128  typedef detail::tmat2x3<int, mediump> mediump_imat2x3;
+
129 
+
132  typedef detail::tmat2x4<int, mediump> mediump_imat2x4;
+
133 
+
136  typedef detail::tmat3x2<int, mediump> mediump_imat3x2;
+
137 
+
140  typedef detail::tmat3x3<int, mediump> mediump_imat3x3;
+
141 
+
144  typedef detail::tmat3x4<int, mediump> mediump_imat3x4;
+
145 
+
148  typedef detail::tmat4x2<int, mediump> mediump_imat4x2;
+
149 
+
152  typedef detail::tmat4x3<int, mediump> mediump_imat4x3;
+
153 
+
156  typedef detail::tmat4x4<int, mediump> mediump_imat4x4;
+
157 
+
158 
+
161  typedef detail::tmat2x2<int, lowp> lowp_imat2;
+
162 
+
165  typedef detail::tmat3x3<int, lowp> lowp_imat3;
+
166 
+
169  typedef detail::tmat4x4<int, lowp> lowp_imat4;
+
170 
+
171 
+
174  typedef detail::tmat2x2<int, lowp> lowp_imat2x2;
+
175 
+
178  typedef detail::tmat2x3<int, lowp> lowp_imat2x3;
+
179 
+
182  typedef detail::tmat2x4<int, lowp> lowp_imat2x4;
+
183 
+
186  typedef detail::tmat3x2<int, lowp> lowp_imat3x2;
+
187 
+
190  typedef detail::tmat3x3<int, lowp> lowp_imat3x3;
+
191 
+
194  typedef detail::tmat3x4<int, lowp> lowp_imat3x4;
+
195 
+
198  typedef detail::tmat4x2<int, lowp> lowp_imat4x2;
+
199 
+
202  typedef detail::tmat4x3<int, lowp> lowp_imat4x3;
+
203 
+
206  typedef detail::tmat4x4<int, lowp> lowp_imat4x4;
+
207 
+
208 
+
211  typedef detail::tmat2x2<uint, highp> highp_umat2;
+
212 
+
215  typedef detail::tmat3x3<uint, highp> highp_umat3;
+
216 
+
219  typedef detail::tmat4x4<uint, highp> highp_umat4;
+
220 
+
223  typedef detail::tmat2x2<uint, highp> highp_umat2x2;
+
224 
+
227  typedef detail::tmat2x3<uint, highp> highp_umat2x3;
+
228 
+
231  typedef detail::tmat2x4<uint, highp> highp_umat2x4;
+
232 
+
235  typedef detail::tmat3x2<uint, highp> highp_umat3x2;
+
236 
+
239  typedef detail::tmat3x3<uint, highp> highp_umat3x3;
+
240 
+
243  typedef detail::tmat3x4<uint, highp> highp_umat3x4;
+
244 
+
247  typedef detail::tmat4x2<uint, highp> highp_umat4x2;
+
248 
+
251  typedef detail::tmat4x3<uint, highp> highp_umat4x3;
+
252 
+
255  typedef detail::tmat4x4<uint, highp> highp_umat4x4;
+
256 
+
257 
+
260  typedef detail::tmat2x2<uint, mediump> mediump_umat2;
+
261 
+
264  typedef detail::tmat3x3<uint, mediump> mediump_umat3;
+
265 
+
268  typedef detail::tmat4x4<uint, mediump> mediump_umat4;
+
269 
+
270 
+
273  typedef detail::tmat2x2<uint, mediump> mediump_umat2x2;
+
274 
+
277  typedef detail::tmat2x3<uint, mediump> mediump_umat2x3;
+
278 
+
281  typedef detail::tmat2x4<uint, mediump> mediump_umat2x4;
+
282 
+
285  typedef detail::tmat3x2<uint, mediump> mediump_umat3x2;
+
286 
+
289  typedef detail::tmat3x3<uint, mediump> mediump_umat3x3;
+
290 
+
293  typedef detail::tmat3x4<uint, mediump> mediump_umat3x4;
+
294 
+
297  typedef detail::tmat4x2<uint, mediump> mediump_umat4x2;
+
298 
+
301  typedef detail::tmat4x3<uint, mediump> mediump_umat4x3;
+
302 
+
305  typedef detail::tmat4x4<uint, mediump> mediump_umat4x4;
+
306 
+
307 
+
310  typedef detail::tmat2x2<uint, lowp> lowp_umat2;
+
311 
+
314  typedef detail::tmat3x3<uint, lowp> lowp_umat3;
+
315 
+
318  typedef detail::tmat4x4<uint, lowp> lowp_umat4;
+
319 
+
320 
+
323  typedef detail::tmat2x2<uint, lowp> lowp_umat2x2;
+
324 
+
327  typedef detail::tmat2x3<uint, lowp> lowp_umat2x3;
+
328 
+
331  typedef detail::tmat2x4<uint, lowp> lowp_umat2x4;
+
332 
+
335  typedef detail::tmat3x2<uint, lowp> lowp_umat3x2;
+
336 
+
339  typedef detail::tmat3x3<uint, lowp> lowp_umat3x3;
+
340 
+
343  typedef detail::tmat3x4<uint, lowp> lowp_umat3x4;
+
344 
+
347  typedef detail::tmat4x2<uint, lowp> lowp_umat4x2;
+
348 
+
351  typedef detail::tmat4x3<uint, lowp> lowp_umat4x3;
+
352 
+
355  typedef detail::tmat4x4<uint, lowp> lowp_umat4x4;
+
356 
+
357 #if(defined(GLM_PRECISION_HIGHP_INT))
+
358  typedef highp_imat2 imat2;
+
359  typedef highp_imat3 imat3;
+
360  typedef highp_imat4 imat4;
+
361  typedef highp_imat2x2 imat2x2;
+
362  typedef highp_imat2x3 imat2x3;
+
363  typedef highp_imat2x4 imat2x4;
+
364  typedef highp_imat3x2 imat3x2;
+
365  typedef highp_imat3x3 imat3x3;
+
366  typedef highp_imat3x4 imat3x4;
+
367  typedef highp_imat4x2 imat4x2;
+
368  typedef highp_imat4x3 imat4x3;
+
369  typedef highp_imat4x4 imat4x4;
+
370 #elif(defined(GLM_PRECISION_LOWP_INT))
+
371  typedef lowp_imat2 imat2;
+
372  typedef lowp_imat3 imat3;
+
373  typedef lowp_imat4 imat4;
+
374  typedef lowp_imat2x2 imat2x2;
+
375  typedef lowp_imat2x3 imat2x3;
+
376  typedef lowp_imat2x4 imat2x4;
+
377  typedef lowp_imat3x2 imat3x2;
+
378  typedef lowp_imat3x3 imat3x3;
+
379  typedef lowp_imat3x4 imat3x4;
+
380  typedef lowp_imat4x2 imat4x2;
+
381  typedef lowp_imat4x3 imat4x3;
+
382  typedef lowp_imat4x4 imat4x4;
+
383 #else //if(defined(GLM_PRECISION_MEDIUMP_INT))
+
384 
+ +
388 
+ +
392 
+ +
396 
+ +
400 
+ +
404 
+ +
408 
+ +
412 
+ +
416 
+ +
420 
+ +
424 
+ +
428 
+ +
432 #endif//GLM_PRECISION
+
433 
+
434 #if(defined(GLM_PRECISION_HIGHP_UINT))
+
435  typedef highp_umat2 umat2;
+
436  typedef highp_umat3 umat3;
+
437  typedef highp_umat4 umat4;
+
438  typedef highp_umat2x2 umat2x2;
+
439  typedef highp_umat2x3 umat2x3;
+
440  typedef highp_umat2x4 umat2x4;
+
441  typedef highp_umat3x2 umat3x2;
+
442  typedef highp_umat3x3 umat3x3;
+
443  typedef highp_umat3x4 umat3x4;
+
444  typedef highp_umat4x2 umat4x2;
+
445  typedef highp_umat4x3 umat4x3;
+
446  typedef highp_umat4x4 umat4x4;
+
447 #elif(defined(GLM_PRECISION_LOWP_UINT))
+
448  typedef lowp_umat2 umat2;
+
449  typedef lowp_umat3 umat3;
+
450  typedef lowp_umat4 umat4;
+
451  typedef lowp_umat2x2 umat2x2;
+
452  typedef lowp_umat2x3 umat2x3;
+
453  typedef lowp_umat2x4 umat2x4;
+
454  typedef lowp_umat3x2 umat3x2;
+
455  typedef lowp_umat3x3 umat3x3;
+
456  typedef lowp_umat3x4 umat3x4;
+
457  typedef lowp_umat4x2 umat4x2;
+
458  typedef lowp_umat4x3 umat4x3;
+
459  typedef lowp_umat4x4 umat4x4;
+
460 #else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
+
461 
+ +
465 
+ +
469 
+ +
473 
+ +
477 
+ +
481 
+ +
485 
+ +
489 
+ +
493 
+ +
497 
+ +
501 
+ +
505 
+ +
509 #endif//GLM_PRECISION
+
510 
+
512 }//namespace glm
+
513 
+
514 #endif//GLM_GTC_matrix_integer
+
detail::tmat4x2< int, mediump > mediump_imat4x2
Medium-precision signed integer 4x2 matrix.
+
detail::tmat3x3< uint, lowp > lowp_umat3x3
Low-precision unsigned integer 3x3 matrix.
+
detail::tmat4x3< int, mediump > mediump_imat4x3
Medium-precision signed integer 4x3 matrix.
+
detail::tmat3x3< uint, highp > highp_umat3
High-precision unsigned integer 3x3 matrix.
+
detail::tmat2x2< int, lowp > lowp_imat2x2
Low-precision signed integer 2x2 matrix.
+
detail::tmat3x3< uint, lowp > lowp_umat3
Low-precision unsigned integer 3x3 matrix.
+
mediump_umat3x2 umat3x2
Unsigned integer 3x2 matrix.
+
detail::tmat2x2< uint, lowp > lowp_umat2
Low-precision unsigned integer 2x2 matrix.
+
detail::tmat2x4< uint, highp > highp_umat2x4
High-precision unsigned integer 2x4 matrix.
+
detail::tmat3x2< uint, lowp > lowp_umat3x2
Low-precision unsigned integer 3x2 matrix.
+
detail::tmat4x4< int, mediump > mediump_imat4x4
Medium-precision signed integer 4x4 matrix.
+
mediump_imat4x2 imat4x2
Signed integer 4x2 matrix.
+
detail::tmat2x2< uint, highp > highp_umat2
High-precision unsigned integer 2x2 matrix.
+
detail::tmat3x2< int, mediump > mediump_imat3x2
Medium-precision signed integer 3x2 matrix.
+
mediump_imat4x3 imat4x3
Signed integer 4x3 matrix.
+
mediump_imat2x4 imat2x4
Signed integer 2x4 matrix.
+
detail::tmat3x4< int, highp > highp_imat3x4
High-precision signed integer 3x4 matrix.
+
mediump_umat3x4 umat3x4
Unsigned integer 3x4 matrix.
+
mediump_imat2 imat2
Signed integer 2x2 matrix.
+
detail::tmat2x3< int, mediump > mediump_imat2x3
Medium-precision signed integer 2x3 matrix.
+
detail::tmat2x3< uint, mediump > mediump_umat2x3
Medium-precision unsigned integer 2x3 matrix.
+
detail::tmat2x2< int, highp > highp_imat2
High-precision signed integer 2x2 matrix.
+
detail::tmat2x4< uint, mediump > mediump_umat2x4
Medium-precision unsigned integer 2x4 matrix.
+
detail::tmat4x4< int, highp > highp_imat4
High-precision signed integer 4x4 matrix.
+
detail::tmat4x4< uint, highp > highp_umat4
High-precision unsigned integer 4x4 matrix.
+
detail::tmat2x2< uint, lowp > lowp_umat2x2
Low-precision unsigned integer 2x2 matrix.
+
detail::tmat4x3< uint, highp > highp_umat4x3
High-precision unsigned integer 4x3 matrix.
+
detail::tmat2x2< uint, mediump > mediump_umat2
Medium-precision unsigned integer 2x2 matrix.
+
detail::tmat3x4< int, mediump > mediump_imat3x4
Medium-precision signed integer 3x4 matrix.
+
detail::tmat2x4< uint, lowp > lowp_umat2x4
Low-precision unsigned integer 2x4 matrix.
+
detail::tmat3x3< uint, mediump > mediump_umat3
Medium-precision unsigned integer 3x3 matrix.
+
detail::tmat4x2< uint, highp > highp_umat4x2
High-precision unsigned integer 4x2 matrix.
+
mediump_umat4x3 umat4x3
Unsigned integer 4x3 matrix.
+
detail::tmat2x2< uint, mediump > mediump_umat2x2
Medium-precision unsigned integer 2x2 matrix.
+
detail::tmat4x2< uint, mediump > mediump_umat4x2
Medium-precision unsigned integer 4x2 matrix.
+
detail::tmat4x4< int, lowp > lowp_imat4x4
Low-precision signed integer 4x4 matrix.
+
mediump_imat3x2 imat3x2
Signed integer 3x2 matrix.
+
detail::tmat3x4< uint, lowp > lowp_umat3x4
Low-precision unsigned integer 3x4 matrix.
+
detail::tmat3x2< int, lowp > lowp_imat3x2
Low-precision signed integer 3x2 matrix.
+
detail::tmat4x4< uint, lowp > lowp_umat4
Low-precision unsigned integer 4x4 matrix.
+
detail::tmat3x2< uint, highp > highp_umat3x2
High-precision unsigned integer 3x2 matrix.
+
detail::tmat4x2< uint, lowp > lowp_umat4x2
Low-precision unsigned integer 4x2 matrix.
+
detail::tmat3x3< uint, mediump > mediump_umat3x3
Medium-precision unsigned integer 3x3 matrix.
+
detail::tmat4x4< int, highp > highp_imat4x4
High-precision signed integer 4x4 matrix.
+
detail::tmat2x2< int, mediump > mediump_imat2
Medium-precision signed integer 2x2 matrix.
+
mediump_imat4x4 imat4x4
Signed integer 4x4 matrix.
+
mediump_umat4 umat4
Unsigned integer 4x4 matrix.
+
detail::tmat4x3< int, lowp > lowp_imat4x3
Low-precision signed integer 4x3 matrix.
+
detail::tmat2x3< int, lowp > lowp_imat2x3
Low-precision signed integer 2x3 matrix.
+
mediump_imat3x3 imat3x3
Signed integer 3x3 matrix.
+
mediump_umat3 umat3
Unsigned integer 3x3 matrix.
+
detail::tmat2x3< uint, highp > highp_umat2x3
High-precision unsigned integer 2x3 matrix.
+
detail::tmat4x3< uint, lowp > lowp_umat4x3
Low-precision unsigned integer 4x3 matrix.
+
detail::tmat3x4< int, lowp > lowp_imat3x4
Low-precision signed integer 3x4 matrix.
+
mediump_umat4x2 umat4x2
Unsigned integer 4x2 matrix.
+
detail::tmat2x4< int, lowp > lowp_imat2x4
Low-precision signed integer 2x4 matrix.
+
mediump_imat4 imat4
Signed integer 4x4 matrix.
+
detail::tmat2x4< int, highp > highp_imat2x4
High-precision signed integer 2x4 matrix.
+
detail::tmat4x4< int, mediump > mediump_imat4
Medium-precision signed integer 4x4 matrix.
+
detail::tmat3x3< int, lowp > lowp_imat3
Low-precision signed integer 3x3 matrix.
+
detail::tmat4x4< uint, highp > highp_umat4x4
High-precision unsigned integer 4x4 matrix.
+
detail::tmat4x2< int, highp > highp_imat4x2
High-precision signed integer 4x2 matrix.
+
detail::tmat2x2< int, mediump > mediump_imat2x2
Medium-precision signed integer 2x2 matrix.
+
mediump_imat2x3 imat2x3
Signed integer 2x3 matrix.
+
detail::tmat2x2< int, lowp > lowp_imat2
Low-precision signed integer 2x2 matrix.
+
detail::tmat2x4< int, mediump > mediump_imat2x4
Medium-precision signed integer 2x4 matrix.
+
detail::tmat2x2< int, highp > highp_imat2x2
High-precision signed integer 2x2 matrix.
+
detail::tmat3x2< uint, mediump > mediump_umat3x2
Medium-precision unsigned integer 3x2 matrix.
+
mediump_umat3x3 umat3x3
Unsigned integer 3x3 matrix.
+
detail::tmat3x2< int, highp > highp_imat3x2
High-precision signed integer 3x2 matrix.
+
mediump_umat2 umat2
Unsigned integer 2x2 matrix.
+
detail::tmat3x3< int, mediump > mediump_imat3
Medium-precision signed integer 3x3 matrix.
+
mediump_umat2x2 umat2x2
Unsigned integer 2x2 matrix.
+
detail::tmat3x3< int, highp > highp_imat3
High-precision signed integer 3x3 matrix.
+
detail::tmat3x3< int, mediump > mediump_imat3x3
Medium-precision signed integer 3x3 matrix.
+
detail::tmat4x3< uint, mediump > mediump_umat4x3
Medium-precision unsigned integer 4x3 matrix.
+
mediump_umat4x4 umat4x4
Unsigned integer 4x4 matrix.
+
mediump_imat3 imat3
Signed integer 3x3 matrix.
+
mediump_imat2x2 imat2x2
Signed integer 2x2 matrix.
+
detail::tmat3x3< int, highp > highp_imat3x3
High-precision signed integer 3x3 matrix.
+
detail::tmat4x4< uint, mediump > mediump_umat4
Medium-precision unsigned integer 4x4 matrix.
+
detail::tmat3x4< uint, mediump > mediump_umat3x4
Medium-precision unsigned integer 3x4 matrix.
+
detail::tmat4x3< int, highp > highp_imat4x3
High-precision signed integer 4x3 matrix.
+
detail::tmat4x4< uint, lowp > lowp_umat4x4
Low-precision unsigned integer 4x4 matrix.
+
detail::tmat2x2< uint, highp > highp_umat2x2
High-precision unsigned integer 2x2 matrix.
+
detail::tmat4x4< uint, mediump > mediump_umat4x4
Medium-precision unsigned integer 4x4 matrix.
+
detail::tmat4x2< int, lowp > lowp_imat4x2
Low-precision signed integer 4x2 matrix.
+
detail::tmat2x3< uint, lowp > lowp_umat2x3
Low-precision unsigned integer 2x3 matrix.
+
detail::tmat3x3< int, lowp > lowp_imat3x3
Low-precision signed integer 3x3 matrix.
+
mediump_umat2x4 umat2x4
Unsigned integer 2x4 matrix.
+
mediump_umat2x3 umat2x3
Unsigned integer 2x3 matrix.
+
detail::tmat3x4< uint, highp > highp_umat3x4
High-precision unsigned integer 3x4 matrix.
+
detail::tmat4x4< int, lowp > lowp_imat4
Low-precision signed integer 4x4 matrix.
+
detail::tmat3x3< uint, highp > highp_umat3x3
High-precision unsigned integer 3x3 matrix.
+
detail::tmat2x3< int, highp > highp_imat2x3
High-precision signed integer 2x3 matrix.
+
mediump_imat3x4 imat3x4
Signed integer 3x4 matrix.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00075.html glm-0.9.5.1/doc/api/a00075.html --- glm-0.9.4.6/doc/api/a00075.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00075.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,78 +1,99 @@ - - - - - -projection.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
projection.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - -

-Functions

template<typename vecType >
vecType proj (vecType const &x, vecType const &Normal)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_projection

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file projection.hpp.

-
- - - - + + + + + + +GLM: matrix_interpolation.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
matrix_interpolation.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
void axisAngle (detail::tmat4x4< T, P > const &mat, detail::tvec3< T, P > &axis, T &angle)
 
template<typename T , precision P>
detail::tmat4x4< T, P > axisAngleMatrix (detail::tvec3< T, P > const &axis, T const angle)
 
template<typename T , precision P>
detail::tmat4x4< T, P > extractMatrixRotation (detail::tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
detail::tmat4x4< T, P > interpolate (detail::tmat4x4< T, P > const &m1, detail::tmat4x4< T, P > const &m2, T const delta)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_matrix_interpolation

+
Date
2011-03-05 / 2011-06-07
+
Author
Ghenadii Ursachi (the.a.nosp@m.ster.nosp@m.oth@g.nosp@m.mail.nosp@m..com)
+
See Also
GLM Core (dependence)
+ +

Definition in file matrix_interpolation.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00075_source.html glm-0.9.5.1/doc/api/a00075_source.html --- glm-0.9.4.6/doc/api/a00075_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00075_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,116 +1,108 @@ - - - - - -projection.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
projection.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_projection
-
39 #define GLM_GTX_projection GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_projection extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename vecType>
-
56  vecType proj(
-
57  vecType const & x,
-
58  vecType const & Normal);
-
59 
-
61 }//namespace glm
-
62 
-
63 #include "projection.inl"
-
64 
-
65 #endif//GLM_GTX_projection
-
- - - - + + + + + + +GLM: matrix_interpolation.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
matrix_interpolation.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_matrix_interpolation
+
39 #define GLM_GTX_matrix_interpolation
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_matrix_interpolation extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T, precision P>
+
56  void axisAngle(
+
57  detail::tmat4x4<T, P> const & mat,
+
58  detail::tvec3<T, P> & axis,
+
59  T & angle);
+
60 
+
63  template <typename T, precision P>
+
64  detail::tmat4x4<T, P> axisAngleMatrix(
+
65  detail::tvec3<T, P> const & axis,
+
66  T const angle);
+
67 
+
70  template <typename T, precision P>
+
71  detail::tmat4x4<T, P> extractMatrixRotation(
+
72  detail::tmat4x4<T, P> const & mat);
+
73 
+
77  template <typename T, precision P>
+
78  detail::tmat4x4<T, P> interpolate(
+
79  detail::tmat4x4<T, P> const & m1,
+
80  detail::tmat4x4<T, P> const & m2,
+
81  T const delta);
+
82 
+
84 }//namespace glm
+
85 
+
86 #include "matrix_interpolation.inl"
+
87 
+
88 #endif//GLM_GTX_matrix_interpolation
+
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
detail::tmat4x4< T, P > extractMatrixRotation(detail::tmat4x4< T, P > const &mat)
Extracts the rotation part of a matrix.
+
void axisAngle(detail::tmat4x4< T, P > const &mat, detail::tvec3< T, P > &axis, T &angle)
Get the axis and angle of the rotation from a matrix.
+
detail::tmat4x4< T, P > interpolate(detail::tmat4x4< T, P > const &m1, detail::tmat4x4< T, P > const &m2, T const delta)
Build a interpolation of 4 * 4 matrixes.
+
detail::tmat4x4< T, P > axisAngleMatrix(detail::tvec3< T, P > const &axis, T const angle)
Build a matrix from axis and angle.
+
GLM_FUNC_DECL detail::tvec3< T, P > axis(detail::tquat< T, P > const &x)
Returns the q rotation axis.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00076.html glm-0.9.5.1/doc/api/a00076.html --- glm-0.9.4.6/doc/api/a00076.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00076.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,163 +1,94 @@ - - - - - -quaternion.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
gtc/quaternion.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::tquat< double > dquat
 
typedef detail::tquat< float > fquat
 
typedef detail::tquat
-< highp_float > 
highp_quat
 
typedef detail::tquat
-< detail::half > 
hquat
 
typedef detail::tquat< lowp_float > lowp_quat
 
typedef detail::tquat
-< mediump_float > 
mediump_quat
 
typedef detail::tquat< float > quat
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
valType angle (detail::tquat< valType > const &x)
 
template<typename valType >
detail::tquat< valType > angleAxis (valType const &angle, valType const &x, valType const &y, valType const &z)
 
template<typename valType >
detail::tquat< valType > angleAxis (valType const &angle, detail::tvec3< valType > const &axis)
 
template<typename valType >
detail::tvec3< valType > axis (detail::tquat< valType > const &x)
 
template<typename T >
detail::tquat< T > conjugate (detail::tquat< T > const &q)
 
template<typename T >
dot (detail::tquat< T > const &q1, detail::tquat< T > const &q2)
 
template<typename T >
detail::tvec3< T > eulerAngles (detail::tquat< T > const &x)
 
template<typename T >
detail::tquat< T > inverse (detail::tquat< T > const &q)
 
template<typename T >
length (detail::tquat< T > const &q)
 
template<typename T >
detail::tquat< T > lerp (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename T >
detail::tmat3x3< T > mat3_cast (detail::tquat< T > const &x)
 
template<typename T >
detail::tmat4x4< T > mat4_cast (detail::tquat< T > const &x)
 
template<typename T >
detail::tquat< T > mix (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename T >
detail::tquat< T > normalize (detail::tquat< T > const &q)
 
template<typename valType >
valType pitch (detail::tquat< valType > const &x)
 
template<typename T >
detail::tquat< T > quat_cast (detail::tmat3x3< T > const &x)
 
template<typename T >
detail::tquat< T > quat_cast (detail::tmat4x4< T > const &x)
 
template<typename valType >
valType roll (detail::tquat< valType > const &x)
 
template<typename T >
detail::tquat< T > rotate (detail::tquat< T > const &q, typename detail::tquat< T >::value_type const &angle, detail::tvec3< T > const &axis)
 
template<typename T >
detail::tquat< T > slerp (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename valType >
valType yaw (detail::tquat< valType > const &x)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_quaternion

-
Date
2009-05-21 / 2012-12-20
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_half_float (dependence)
-
-GLM_GTC_constants (dependence)
- -

Definition in file gtc/quaternion.hpp.

-
- - - - + + + + + + +GLM: matrix_inverse.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
matrix_inverse.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_QUALIFIER genType affineInverse (genType const &m)
 
template<typename genType >
GLM_FUNC_QUALIFIER
+genType::value_type 
inverseTranspose (genType const &m)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_matrix_inverse

+
Date
2005-12-21 / 2011-06-05
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file matrix_inverse.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00076_source.html glm-0.9.5.1/doc/api/a00076_source.html --- glm-0.9.4.6/doc/api/a00076_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00076_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,320 +1,90 @@ - - - - - -quaternion.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtc/quaternion.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 #ifndef GLM_GTC_quaternion
-
41 #define GLM_GTC_quaternion GLM_VERSION
-
42 
-
43 // Dependency:
-
44 #include "../glm.hpp"
-
45 #include "../gtc/half_float.hpp"
-
46 #include "../gtc/constants.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
49 # pragma message("GLM: GLM_GTC_quaternion extension included")
-
50 #endif
-
51 
-
52 namespace glm{
-
53 namespace detail
-
54 {
-
55  template <typename T>
-
56  struct tquat// : public genType<T, tquat>
-
57  {
-
58  enum ctor{null};
-
59 
-
60  typedef T value_type;
-
61  typedef std::size_t size_type;
-
62 
-
63  public:
-
64  value_type x, y, z, w;
-
65 
-
66  GLM_FUNC_DECL size_type length() const;
-
67 
-
68  // Constructors
-
69  tquat();
-
70  explicit tquat(
-
71  value_type const & s,
-
72  glm::detail::tvec3<T> const & v);
-
73  explicit tquat(
-
74  value_type const & w,
-
75  value_type const & x,
-
76  value_type const & y,
-
77  value_type const & z);
-
78 
-
79  // Convertions
-
80 
-
82  explicit tquat(
-
83  tvec3<T> const & eulerAngles);
-
84  explicit tquat(
-
85  tmat3x3<T> const & m);
-
86  explicit tquat(
-
87  tmat4x4<T> const & m);
-
88 
-
89  // Accesses
-
90  value_type & operator[](int i);
-
91  value_type const & operator[](int i) const;
-
92 
-
93  // Operators
-
94  tquat<T> & operator*=(value_type const & s);
-
95  tquat<T> & operator/=(value_type const & s);
-
96  };
-
97 
-
98  template <typename T>
-
99  detail::tquat<T> operator- (
-
100  detail::tquat<T> const & q);
-
101 
-
102  template <typename T>
-
103  detail::tquat<T> operator+ (
-
104  detail::tquat<T> const & q,
-
105  detail::tquat<T> const & p);
-
106 
-
107  template <typename T>
-
108  detail::tquat<T> operator* (
-
109  detail::tquat<T> const & q,
-
110  detail::tquat<T> const & p);
-
111 
-
112  template <typename T>
-
113  detail::tvec3<T> operator* (
-
114  detail::tquat<T> const & q,
-
115  detail::tvec3<T> const & v);
-
116 
-
117  template <typename T>
-
118  detail::tvec3<T> operator* (
-
119  detail::tvec3<T> const & v,
-
120  detail::tquat<T> const & q);
-
121 
-
122  template <typename T>
-
123  detail::tvec4<T> operator* (
-
124  detail::tquat<T> const & q,
-
125  detail::tvec4<T> const & v);
-
126 
-
127  template <typename T>
-
128  detail::tvec4<T> operator* (
-
129  detail::tvec4<T> const & v,
-
130  detail::tquat<T> const & q);
-
131 
-
132  template <typename T>
-
133  detail::tquat<T> operator* (
-
134  detail::tquat<T> const & q,
-
135  typename detail::tquat<T>::value_type const & s);
-
136 
-
137  template <typename T>
-
138  detail::tquat<T> operator* (
-
139  typename detail::tquat<T>::value_type const & s,
-
140  detail::tquat<T> const & q);
-
141 
-
142  template <typename T>
-
143  detail::tquat<T> operator/ (
-
144  detail::tquat<T> const & q,
-
145  typename detail::tquat<T>::value_type const & s);
-
146 
-
147 } //namespace detail
-
148 
-
151 
-
155  template <typename T>
-
156  T length(
-
157  detail::tquat<T> const & q);
-
158 
-
162  template <typename T>
-
163  detail::tquat<T> normalize(
-
164  detail::tquat<T> const & q);
-
165 
-
169  template <typename T>
-
170  T dot(
-
171  detail::tquat<T> const & q1,
-
172  detail::tquat<T> const & q2);
-
173 
-
184  template <typename T>
-
185  detail::tquat<T> mix(
-
186  detail::tquat<T> const & x,
-
187  detail::tquat<T> const & y,
-
188  T const & a);
-
189 
-
198  template <typename T>
-
199  detail::tquat<T> lerp(
-
200  detail::tquat<T> const & x,
-
201  detail::tquat<T> const & y,
-
202  T const & a);
-
203 
-
212  template <typename T>
-
213  detail::tquat<T> slerp(
-
214  detail::tquat<T> const & x,
-
215  detail::tquat<T> const & y,
-
216  T const & a);
-
217 
-
221  template <typename T>
-
222  detail::tquat<T> conjugate(
-
223  detail::tquat<T> const & q);
-
224 
-
228  template <typename T>
-
229  detail::tquat<T> inverse(
-
230  detail::tquat<T> const & q);
-
231 
-
239  template <typename T>
-
240  detail::tquat<T> rotate(
-
241  detail::tquat<T> const & q,
-
242  typename detail::tquat<T>::value_type const & angle,
-
243  detail::tvec3<T> const & axis);
-
244 
-
248  template <typename T>
-
249  detail::tvec3<T> eulerAngles(
-
250  detail::tquat<T> const & x);
-
251 
-
255  template <typename valType>
-
256  valType roll(
-
257  detail::tquat<valType> const & x);
-
258 
-
262  template <typename valType>
-
263  valType pitch(
-
264  detail::tquat<valType> const & x);
-
265 
-
269  template <typename valType>
-
270  valType yaw(
-
271  detail::tquat<valType> const & x);
-
272 
-
276  template <typename T>
-
277  detail::tmat3x3<T> mat3_cast(
-
278  detail::tquat<T> const & x);
-
279 
-
283  template <typename T>
-
284  detail::tmat4x4<T> mat4_cast(
-
285  detail::tquat<T> const & x);
-
286 
-
290  template <typename T>
-
291  detail::tquat<T> quat_cast(
-
292  detail::tmat3x3<T> const & x);
-
293 
-
297  template <typename T>
-
298  detail::tquat<T> quat_cast(
-
299  detail::tmat4x4<T> const & x);
-
300 
-
304  template <typename valType>
-
305  valType angle(
-
306  detail::tquat<valType> const & x);
-
307 
-
311  template <typename valType>
-
312  detail::tvec3<valType> axis(
-
313  detail::tquat<valType> const & x);
-
314 
-
323  template <typename valType>
-
324  detail::tquat<valType> angleAxis(
-
325  valType const & angle,
-
326  valType const & x,
-
327  valType const & y,
-
328  valType const & z);
-
329 
-
336  template <typename valType>
-
337  detail::tquat<valType> angleAxis(
-
338  valType const & angle,
-
339  detail::tvec3<valType> const & axis);
-
340 
-
344  typedef detail::tquat<float> quat;
-
345 
-
349  typedef detail::tquat<detail::half> hquat;
-
350 
-
354  typedef detail::tquat<float> fquat;
-
355 
-
359  typedef detail::tquat<double> dquat;
-
360 
-
364  typedef detail::tquat<lowp_float> lowp_quat;
-
365 
-
369  typedef detail::tquat<mediump_float> mediump_quat;
-
370 
-
374  typedef detail::tquat<highp_float> highp_quat;
-
375 
-
377 } //namespace glm
-
378 
-
379 #include "quaternion.inl"
-
380 
-
381 #endif//GLM_GTC_quaternion
-
- - - - + + + + + + +GLM: matrix_inverse.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
matrix_inverse.hpp
+
+
+Go to the documentation of this file.
1 
+
37 #ifndef GLM_GTC_matrix_inverse
+
38 #define GLM_GTC_matrix_inverse
+
39 
+
40 // Dependencies
+
41 #include "../detail/setup.hpp"
+
42 
+
43 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
44 # pragma message("GLM: GLM_GTC_matrix_inverse extension included")
+
45 #endif
+
46 
+
47 namespace glm
+
48 {
+
51 
+
57  template <typename genType>
+
58  GLM_FUNC_QUALIFIER genType affineInverse(genType const & m);
+
59 
+
65  template <typename genType>
+
66  GLM_FUNC_QUALIFIER typename genType::value_type inverseTranspose(
+
67  genType const & m);
+
68 
+
70 }//namespace glm
+
71 
+
72 #include "matrix_inverse.inl"
+
73 
+
74 #endif//GLM_GTC_matrix_inverse
+
GLM_FUNC_QUALIFIER genType affineInverse(genType const &m)
Fast matrix inverse for affine matrix.
+
GLM_FUNC_QUALIFIER genType::value_type inverseTranspose(genType const &m)
Compute the inverse transpose of a matrix.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00077.html glm-0.9.5.1/doc/api/a00077.html --- glm-0.9.4.6/doc/api/a00077.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00077.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,125 +1,125 @@ - - - - - -quaternion.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
gtx/quaternion.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tvec3< valType > cross (detail::tquat< valType > const &q, detail::tvec3< valType > const &v)
 
template<typename valType >
detail::tvec3< valType > cross (detail::tvec3< valType > const &v, detail::tquat< valType > const &q)
 
template<typename valType >
detail::tquat< valType > exp (detail::tquat< valType > const &q, valType const &exponent)
 
template<typename valType >
valType extractRealComponent (detail::tquat< valType > const &q)
 
template<typename T >
detail::tquat< T > fastMix (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename valType >
detail::tquat< valType > intermediate (detail::tquat< valType > const &prev, detail::tquat< valType > const &curr, detail::tquat< valType > const &next)
 
template<typename valType >
detail::tquat< valType > log (detail::tquat< valType > const &q)
 
template<typename valType >
detail::tquat< valType > pow (detail::tquat< valType > const &x, valType const &y)
 
template<typename valType >
detail::tvec3< valType > rotate (detail::tquat< valType > const &q, detail::tvec3< valType > const &v)
 
template<typename valType >
detail::tvec4< valType > rotate (detail::tquat< valType > const &q, detail::tvec4< valType > const &v)
 
template<typename T >
detail::tquat< T > shortMix (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename valType >
detail::tquat< valType > squad (detail::tquat< valType > const &q1, detail::tquat< valType > const &q2, detail::tquat< valType > const &s1, detail::tquat< valType > const &s2, valType const &h)
 
template<typename valType >
detail::tmat3x3< valType > toMat3 (detail::tquat< valType > const &x)
 
template<typename valType >
detail::tmat4x4< valType > toMat4 (detail::tquat< valType > const &x)
 
template<typename valType >
detail::tquat< valType > toQuat (detail::tmat3x3< valType > const &x)
 
template<typename valType >
detail::tquat< valType > toQuat (detail::tmat4x4< valType > const &x)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_quaternion

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
- -

Definition in file gtx/quaternion.hpp.

-
- - - - + + + + + + +GLM: matrix_major_storage.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
matrix_major_storage.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat2x2< T, P > colMajor2 (detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
 
template<typename T , precision P>
detail::tmat2x2< T, P > colMajor2 (detail::tmat2x2< T, P > const &m)
 
template<typename T , precision P>
detail::tmat3x3< T, P > colMajor3 (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
template<typename T , precision P>
detail::tmat3x3< T, P > colMajor3 (detail::tmat3x3< T, P > const &m)
 
template<typename T , precision P>
detail::tmat4x4< T, P > colMajor4 (detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
 
template<typename T , precision P>
detail::tmat4x4< T, P > colMajor4 (detail::tmat4x4< T, P > const &m)
 
template<typename T , precision P>
detail::tmat2x2< T, P > rowMajor2 (detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
 
template<typename T , precision P>
detail::tmat2x2< T, P > rowMajor2 (detail::tmat2x2< T, P > const &m)
 
template<typename T , precision P>
detail::tmat3x3< T, P > rowMajor3 (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
template<typename T , precision P>
detail::tmat3x3< T, P > rowMajor3 (detail::tmat3x3< T, P > const &m)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rowMajor4 (detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rowMajor4 (detail::tmat4x4< T, P > const &m)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_matrix_major_storage

+
Date
2006-04-19 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_extented_min_max (dependence)
+ +

Definition in file matrix_major_storage.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00077_source.html glm-0.9.5.1/doc/api/a00077_source.html --- glm-0.9.4.6/doc/api/a00077_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00077_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,197 +1,147 @@ - - - - - -quaternion.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtx/quaternion.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_quaternion
-
40 #define GLM_GTX_quaternion GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtc/quaternion.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_quaternion extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
58  template <typename valType>
-
59  detail::tvec3<valType> cross(
-
60  detail::tquat<valType> const & q,
-
61  detail::tvec3<valType> const & v);
-
62 
-
66  template <typename valType>
-
67  detail::tvec3<valType> cross(
-
68  detail::tvec3<valType> const & v,
-
69  detail::tquat<valType> const & q);
-
70 
-
75  template <typename valType>
-
76  detail::tquat<valType> squad(
-
77  detail::tquat<valType> const & q1,
-
78  detail::tquat<valType> const & q2,
-
79  detail::tquat<valType> const & s1,
-
80  detail::tquat<valType> const & s2,
-
81  valType const & h);
-
82 
-
86  template <typename valType>
-
87  detail::tquat<valType> intermediate(
-
88  detail::tquat<valType> const & prev,
-
89  detail::tquat<valType> const & curr,
-
90  detail::tquat<valType> const & next);
-
91 
-
95  template <typename valType>
-
96  detail::tquat<valType> exp(
-
97  detail::tquat<valType> const & q,
-
98  valType const & exponent);
-
99 
-
103  template <typename valType>
-
104  detail::tquat<valType> log(
-
105  detail::tquat<valType> const & q);
-
106 
-
110  template <typename valType>
-
111  detail::tquat<valType> pow(
-
112  detail::tquat<valType> const & x,
-
113  valType const & y);
-
114 
-
118  //template <typename valType>
-
119  //detail::tquat<valType> sqrt(
-
120  // detail::tquat<valType> const & q);
-
121 
-
125  template <typename valType>
-
126  detail::tvec3<valType> rotate(
-
127  detail::tquat<valType> const & q,
-
128  detail::tvec3<valType> const & v);
-
129 
-
133  template <typename valType>
-
134  detail::tvec4<valType> rotate(
-
135  detail::tquat<valType> const & q,
-
136  detail::tvec4<valType> const & v);
-
137 
-
141  template <typename valType>
-
142  valType extractRealComponent(
-
143  detail::tquat<valType> const & q);
-
144 
-
148  template <typename valType>
-
149  detail::tmat3x3<valType> toMat3(
-
150  detail::tquat<valType> const & x){return mat3_cast(x);}
-
151 
-
155  template <typename valType>
-
156  detail::tmat4x4<valType> toMat4(
-
157  detail::tquat<valType> const & x){return mat4_cast(x);}
-
158 
-
162  template <typename valType>
-
163  detail::tquat<valType> toQuat(
-
164  detail::tmat3x3<valType> const & x){return quat_cast(x);}
-
165 
-
169  template <typename valType>
-
170  detail::tquat<valType> toQuat(
-
171  detail::tmat4x4<valType> const & x){return quat_cast(x);}
-
172 
-
176  template <typename T>
-
177  detail::tquat<T> shortMix(
-
178  detail::tquat<T> const & x,
-
179  detail::tquat<T> const & y,
-
180  T const & a);
-
181 
-
185  template <typename T>
-
186  detail::tquat<T> fastMix(
-
187  detail::tquat<T> const & x,
-
188  detail::tquat<T> const & y,
-
189  T const & a);
-
190 
-
192 }//namespace glm
-
193 
-
194 #include "quaternion.inl"
-
195 
-
196 #endif//GLM_GTX_quaternion
-
- - - - + + + + + + +GLM: matrix_major_storage.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
matrix_major_storage.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_matrix_major_storage
+
40 #define GLM_GTX_matrix_major_storage
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  template <typename T, precision P>
+
57  detail::tmat2x2<T, P> rowMajor2(
+
58  detail::tvec2<T, P> const & v1,
+
59  detail::tvec2<T, P> const & v2);
+
60 
+
63  template <typename T, precision P>
+
64  detail::tmat2x2<T, P> rowMajor2(
+
65  detail::tmat2x2<T, P> const & m);
+
66 
+
69  template <typename T, precision P>
+
70  detail::tmat3x3<T, P> rowMajor3(
+
71  detail::tvec3<T, P> const & v1,
+
72  detail::tvec3<T, P> const & v2,
+
73  detail::tvec3<T, P> const & v3);
+
74 
+
77  template <typename T, precision P>
+
78  detail::tmat3x3<T, P> rowMajor3(
+
79  detail::tmat3x3<T, P> const & m);
+
80 
+
83  template <typename T, precision P>
+
84  detail::tmat4x4<T, P> rowMajor4(
+
85  detail::tvec4<T, P> const & v1,
+
86  detail::tvec4<T, P> const & v2,
+
87  detail::tvec4<T, P> const & v3,
+
88  detail::tvec4<T, P> const & v4);
+
89 
+
92  template <typename T, precision P>
+
93  detail::tmat4x4<T, P> rowMajor4(
+
94  detail::tmat4x4<T, P> const & m);
+
95 
+
98  template <typename T, precision P>
+
99  detail::tmat2x2<T, P> colMajor2(
+
100  detail::tvec2<T, P> const & v1,
+
101  detail::tvec2<T, P> const & v2);
+
102 
+
105  template <typename T, precision P>
+
106  detail::tmat2x2<T, P> colMajor2(
+
107  detail::tmat2x2<T, P> const & m);
+
108 
+
111  template <typename T, precision P>
+
112  detail::tmat3x3<T, P> colMajor3(
+
113  detail::tvec3<T, P> const & v1,
+
114  detail::tvec3<T, P> const & v2,
+
115  detail::tvec3<T, P> const & v3);
+
116 
+
119  template <typename T, precision P>
+
120  detail::tmat3x3<T, P> colMajor3(
+
121  detail::tmat3x3<T, P> const & m);
+
122 
+
125  template <typename T, precision P>
+
126  detail::tmat4x4<T, P> colMajor4(
+
127  detail::tvec4<T, P> const & v1,
+
128  detail::tvec4<T, P> const & v2,
+
129  detail::tvec4<T, P> const & v3,
+
130  detail::tvec4<T, P> const & v4);
+
131 
+
134  template <typename T, precision P>
+
135  detail::tmat4x4<T, P> colMajor4(
+
136  detail::tmat4x4<T, P> const & m);
+
137 
+
139 }//namespace glm
+
140 
+
141 #include "matrix_major_storage.inl"
+
142 
+
143 #endif//GLM_GTX_matrix_major_storage
+
detail::tmat4x4< T, P > rowMajor4(detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
Build a row major matrix from row vectors.
+
detail::tmat2x2< T, P > rowMajor2(detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
Build a row major matrix from row vectors.
+
detail::tmat3x3< T, P > rowMajor3(detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
Build a row major matrix from row vectors.
+
detail::tmat2x2< T, P > colMajor2(detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
Build a column major matrix from column vectors.
+
detail::tmat3x3< T, P > colMajor3(detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
Build a column major matrix from column vectors.
+
detail::tmat4x4< T, P > colMajor4(detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
Build a column major matrix from column vectors.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00078.html glm-0.9.5.1/doc/api/a00078.html --- glm-0.9.4.6/doc/api/a00078.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00078.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,98 +1,114 @@ - - - - - -random.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
gtc/random.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec3< T > 
ballRand (T const &Radius)
 
template<typename T >
detail::tvec2< T > circularRand (T const &Radius)
 
template<typename T >
detail::tvec2< T > diskRand (T const &Radius)
 
template<typename genType >
genType gaussRand (genType const &Mean, genType const &Deviation)
 
template<typename genType >
genType linearRand (genType const &Min, genType const &Max)
 
template<typename T >
detail::tvec3< T > sphericalRand (T const &Radius)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_random

-
Date
2011-09-18 / 2011-09-18
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_half_float (dependence)
-
-gtx_random (extended)
- -

Definition in file gtc/random.hpp.

-
- - - - + + + + + + +GLM: matrix_operation.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
matrix_operation.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat2x2< T, P > diagonal2x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat2x3< T, P > diagonal2x3 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat2x4< T, P > diagonal2x4 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x2< T, P > diagonal3x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x3< T, P > diagonal3x3 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x4< T, P > diagonal3x4 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x2< T, P > diagonal4x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x3< T, P > diagonal4x3 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > diagonal4x4 (detail::tvec4< T, P > const &v)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_matrix_operation

+
Date
2009-08-29 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file matrix_operation.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00078_source.html glm-0.9.5.1/doc/api/a00078_source.html --- glm-0.9.4.6/doc/api/a00078_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00078_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,140 +1,126 @@ - - - - - -random.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtc/random.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 #ifndef GLM_GTC_random
-
41 #define GLM_GTC_random GLM_VERSION
-
42 
-
43 // Dependency:
-
44 #include "../glm.hpp"
-
45 #include "../gtc/half_float.hpp"
-
46 
-
47 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
48 # pragma message("GLM: GLM_GTC_random extension included")
-
49 #endif
-
50 
-
51 namespace glm
-
52 {
-
55 
-
62  template <typename genType>
-
63  genType linearRand(
-
64  genType const & Min,
-
65  genType const & Max);
-
66 
-
72  template <typename genType>
-
73  genType gaussRand(
-
74  genType const & Mean,
-
75  genType const & Deviation);
-
76 
-
81  template <typename T>
-
82  detail::tvec2<T> circularRand(
-
83  T const & Radius);
-
84 
-
89  template <typename T>
-
90  detail::tvec3<T> sphericalRand(
-
91  T const & Radius);
-
92 
-
97  template <typename T>
-
98  detail::tvec2<T> diskRand(
-
99  T const & Radius);
-
100 
-
105  template <typename T>
-
106  GLM_FUNC_QUALIFIER detail::tvec3<T> ballRand(
-
107  T const & Radius);
-
108 
-
110 }//namespace glm
-
111 
-
112 #include "random.inl"
-
113 
-
114 #endif//GLM_GTC_random
-
- - - - + + + + + + +GLM: matrix_operation.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
matrix_operation.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_matrix_operation
+
39 #define GLM_GTX_matrix_operation
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_matrix_operation extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename T, precision P>
+
56  detail::tmat2x2<T, P> diagonal2x2(
+
57  detail::tvec2<T, P> const & v);
+
58 
+
61  template <typename T, precision P>
+
62  detail::tmat2x3<T, P> diagonal2x3(
+
63  detail::tvec2<T, P> const & v);
+
64 
+
67  template <typename T, precision P>
+
68  detail::tmat2x4<T, P> diagonal2x4(
+
69  detail::tvec2<T, P> const & v);
+
70 
+
73  template <typename T, precision P>
+
74  detail::tmat3x2<T, P> diagonal3x2(
+
75  detail::tvec2<T, P> const & v);
+
76 
+
79  template <typename T, precision P>
+
80  detail::tmat3x3<T, P> diagonal3x3(
+
81  detail::tvec3<T, P> const & v);
+
82 
+
85  template <typename T, precision P>
+
86  detail::tmat3x4<T, P> diagonal3x4(
+
87  detail::tvec3<T, P> const & v);
+
88 
+
91  template <typename T, precision P>
+
92  detail::tmat4x2<T, P> diagonal4x2(
+
93  detail::tvec2<T, P> const & v);
+
94 
+
97  template <typename T, precision P>
+
98  detail::tmat4x3<T, P> diagonal4x3(
+
99  detail::tvec3<T, P> const & v);
+
100 
+
103  template <typename T, precision P>
+
104  detail::tmat4x4<T, P> diagonal4x4(
+
105  detail::tvec4<T, P> const & v);
+
106 
+
108 }//namespace glm
+
109 
+
110 #include "matrix_operation.inl"
+
111 
+
112 #endif//GLM_GTX_matrix_operation
+
detail::tmat4x3< T, P > diagonal4x3(detail::tvec3< T, P > const &v)
Build a diagonal matrix.
+
detail::tmat2x3< T, P > diagonal2x3(detail::tvec2< T, P > const &v)
Build a diagonal matrix.
+
detail::tmat3x4< T, P > diagonal3x4(detail::tvec3< T, P > const &v)
Build a diagonal matrix.
+
detail::tmat3x2< T, P > diagonal3x2(detail::tvec2< T, P > const &v)
Build a diagonal matrix.
+
detail::tmat4x4< T, P > diagonal4x4(detail::tvec4< T, P > const &v)
Build a diagonal matrix.
+
detail::tmat3x3< T, P > diagonal3x3(detail::tvec3< T, P > const &v)
Build a diagonal matrix.
+
detail::tmat2x4< T, P > diagonal2x4(detail::tvec2< T, P > const &v)
Build a diagonal matrix.
+
detail::tmat4x2< T, P > diagonal4x2(detail::tvec2< T, P > const &v)
Build a diagonal matrix.
+
detail::tmat2x2< T, P > diagonal2x2(detail::tvec2< T, P > const &v)
Build a diagonal matrix.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00079.html glm-0.9.5.1/doc/api/a00079.html --- glm-0.9.4.6/doc/api/a00079.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00079.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,113 @@ + + + + + + +GLM: matrix_query.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
matrix_query.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P, template< typename, precision > class matType>
bool isIdentity (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
bool isOrthogonal (matType< T, P > const &m, T const &epsilon)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_matrix_query

+
Date
2007-03-05 / 2011-08-28
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_vector_query (dependence)
+ +

Definition in file matrix_query.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00079_source.html glm-0.9.5.1/doc/api/a00079_source.html --- glm-0.9.4.6/doc/api/a00079_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00079_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,85 +1,112 @@ - - - - - -random.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtx/random.hpp
-
-
-
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 #if(defined(GLM_MESSAGES))
-
25 # pragma message("GLM: GLM_GTX_random extension is deprecated, include GLM_GTC_random instead")
-
26 #endif
-
27 
-
28 // Promoted:
-
29 #include "../gtc/random.hpp"
-
- - - - + + + + + + +GLM: matrix_query.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
matrix_query.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_matrix_query
+
40 #define GLM_GTX_matrix_query
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 #include "../gtx/vector_query.hpp"
+
45 #include <limits>
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_matrix_query extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template<typename T, precision P>
+
59  bool isNull(detail::tmat2x2<T, P> const & m, T const & epsilon);
+
60 
+
63  template<typename T, precision P>
+
64  bool isNull(detail::tmat3x3<T, P> const & m, T const & epsilon);
+
65 
+
68  template<typename T, precision P>
+
69  bool isNull(detail::tmat4x4<T, P> const & m, T const & epsilon);
+
70 
+
73  template<typename T, precision P, template <typename, precision> class matType>
+
74  bool isIdentity(matType<T, P> const & m, T const & epsilon);
+
75 
+
78  template<typename T, precision P>
+
79  bool isNormalized(detail::tmat2x2<T, P> const & m, T const & epsilon);
+
80 
+
83  template<typename T, precision P>
+
84  bool isNormalized(detail::tmat3x3<T, P> const & m, T const & epsilon);
+
85 
+
88  template<typename T, precision P>
+
89  bool isNormalized(detail::tmat4x4<T, P> const & m, T const & epsilon);
+
90 
+
93  template<typename T, precision P, template <typename, precision> class matType>
+
94  bool isOrthogonal(matType<T, P> const & m, T const & epsilon);
+
95 
+
97 }//namespace glm
+
98 
+
99 #include "matrix_query.inl"
+
100 
+
101 #endif//GLM_GTX_matrix_query
+
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
+
bool isOrthogonal(matType< T, P > const &m, T const &epsilon)
Return whether a matrix is an orthonormalized matrix.
+
bool isNormalized(detail::tmat2x2< T, P > const &m, T const &epsilon)
Return whether a matrix is a normalized matrix.
+
bool isNull(detail::tmat2x2< T, P > const &m, T const &epsilon)
Return whether a matrix a null matrix.
+
bool isIdentity(matType< T, P > const &m, T const &epsilon)
Return whether a matrix is an identity matrix.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00080.html glm-0.9.5.1/doc/api/a00080.html --- glm-0.9.4.6/doc/api/a00080.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00080.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,83 +1,145 @@ - - - - - -raw_data.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
raw_data.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - -

-Typedefs

typedef uint8 byte
 
typedef uint32 dword
 
typedef uint64 qword
 
typedef uint16 word
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_raw_data

-
Date
2008-11-19 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file raw_data.hpp.

-
- - - - + + + + + + +GLM: matrix_transform.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
matrix_transform.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
frustum (T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
infinitePerspective (T fovy, T aspect, T near)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
lookAt (detail::tvec3< T, P > const &eye, detail::tvec3< T, P > const &center, detail::tvec3< T, P > const &up)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
+< T, defaultp > 
ortho (T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
+< T, defaultp > 
ortho (T const &left, T const &right, T const &bottom, T const &top)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
perspective (T const &fovy, T const &aspect, T const &near, T const &far)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
perspectiveFov (T const &fov, T const &width, T const &height, T const &near, T const &far)
 
template<typename T , precision P, typename U >
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
pickMatrix (detail::tvec2< T, P > const &center, detail::tvec2< T, P > const &delta, detail::tvec4< U, P > const &viewport)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > project (detail::tvec3< T, P > const &obj, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
rotate (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
scale (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
translate (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > unProject (detail::tvec3< T, P > const &win, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_matrix_transform

+
Date
2009-04-29 / 2011-05-16
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_transform
+
+GLM_GTX_transform2
+ +

Definition in file matrix_transform.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00080_source.html glm-0.9.5.1/doc/api/a00080_source.html --- glm-0.9.4.6/doc/api/a00080_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00080_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,120 +1,190 @@ - - - - - -raw_data.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
raw_data.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_raw_data
-
39 #define GLM_GTX_raw_data GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 #include "../gtc/type_precision.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTX_raw_data extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  typedef uint8 byte;
-
57 
-
60  typedef uint16 word;
-
61 
-
64  typedef uint32 dword;
-
65 
-
68  typedef uint64 qword;
-
69 
-
71 }// namespace glm
-
72 
-
73 #include "raw_data.inl"
-
74 
-
75 #endif//GLM_GTX_raw_data
-
- - - - + + + + + + +GLM: matrix_transform.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
matrix_transform.hpp
+
+
+Go to the documentation of this file.
1 
+
46 #ifndef GLM_GTC_matrix_transform
+
47 #define GLM_GTC_matrix_transform
+
48 
+
49 // Dependency:
+
50 #include "../mat4x4.hpp"
+
51 #include "../vec2.hpp"
+
52 #include "../vec3.hpp"
+
53 #include "../vec4.hpp"
+
54 
+
55 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
56 # pragma message("GLM: GLM_GTC_matrix_transform extension included")
+
57 #endif
+
58 
+
59 namespace glm
+
60 {
+
63 
+
84  template <typename T, precision P>
+
85  GLM_FUNC_DECL detail::tmat4x4<T, P> translate(
+
86  detail::tmat4x4<T, P> const & m,
+
87  detail::tvec3<T, P> const & v);
+
88 
+
100  template <typename T, precision P>
+
101  GLM_FUNC_DECL detail::tmat4x4<T, P> rotate(
+
102  detail::tmat4x4<T, P> const & m,
+
103  T const & angle,
+
104  detail::tvec3<T, P> const & axis);
+
105 
+
116  template <typename T, precision P>
+
117  GLM_FUNC_DECL detail::tmat4x4<T, P> scale(
+
118  detail::tmat4x4<T, P> const & m,
+
119  detail::tvec3<T, P> const & v);
+
120 
+
132  template <typename T>
+
133  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> ortho(
+
134  T const & left,
+
135  T const & right,
+
136  T const & bottom,
+
137  T const & top,
+
138  T const & zNear,
+
139  T const & zFar);
+
140 
+
150  template <typename T>
+
151  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> ortho(
+
152  T const & left,
+
153  T const & right,
+
154  T const & bottom,
+
155  T const & top);
+
156 
+
167  template <typename T, precision P>
+
168  GLM_FUNC_DECL detail::tmat4x4<T, P> frustum(
+
169  T const & left,
+
170  T const & right,
+
171  T const & bottom,
+
172  T const & top,
+
173  T const & near,
+
174  T const & far);
+
175 
+
184  template <typename T, precision P>
+
185  GLM_FUNC_DECL detail::tmat4x4<T, P> perspective(
+
186  T const & fovy,
+
187  T const & aspect,
+
188  T const & near,
+
189  T const & far);
+
190 
+
200  template <typename T, precision P>
+
201  GLM_FUNC_DECL detail::tmat4x4<T, P> perspectiveFov(
+
202  T const & fov,
+
203  T const & width,
+
204  T const & height,
+
205  T const & near,
+
206  T const & far);
+
207 
+
215  template <typename T, precision P>
+
216  GLM_FUNC_DECL detail::tmat4x4<T, P> infinitePerspective(
+
217  T fovy, T aspect, T near);
+
218 
+
226  template <typename T, precision P>
+
227  GLM_FUNC_DECL detail::tmat4x4<T, P> tweakedInfinitePerspective(
+
228  T fovy, T aspect, T near);
+
229 
+
239  template <typename T, typename U, precision P>
+
240  GLM_FUNC_DECL detail::tvec3<T, P> project(
+
241  detail::tvec3<T, P> const & obj,
+
242  detail::tmat4x4<T, P> const & model,
+
243  detail::tmat4x4<T, P> const & proj,
+
244  detail::tvec4<U, P> const & viewport);
+
245 
+
255  template <typename T, typename U, precision P>
+
256  GLM_FUNC_DECL detail::tvec3<T, P> unProject(
+
257  detail::tvec3<T, P> const & win,
+
258  detail::tmat4x4<T, P> const & model,
+
259  detail::tmat4x4<T, P> const & proj,
+
260  detail::tvec4<U, P> const & viewport);
+
261 
+
270  template <typename T, precision P, typename U>
+
271  GLM_FUNC_DECL detail::tmat4x4<T, P> pickMatrix(
+
272  detail::tvec2<T, P> const & center,
+
273  detail::tvec2<T, P> const & delta,
+
274  detail::tvec4<U, P> const & viewport);
+
275 
+
283  template <typename T, precision P>
+
284  GLM_FUNC_DECL detail::tmat4x4<T, P> lookAt(
+
285  detail::tvec3<T, P> const & eye,
+
286  detail::tvec3<T, P> const & center,
+
287  detail::tvec3<T, P> const & up);
+
288 
+
290 }//namespace glm
+
291 
+
292 #include "matrix_transform.inl"
+
293 
+
294 #endif//GLM_GTC_matrix_transform
+
GLM_FUNC_DECL detail::tmat4x4< T, P > rotate(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
+
vecType proj(vecType const &x, vecType const &Normal)
Projects x on Normal.
+
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > scale(detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > tweakedInfinitePerspective(T fovy, T aspect, T near)
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics har...
+
GLM_FUNC_DECL detail::tmat4x4< T, P > translate(detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
Builds a translation 4 * 4 matrix created from a vector of 3 components.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > perspective(T const &fovy, T const &aspect, T const &near, T const &far)
Creates a matrix for a symetric perspective-view frustum.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > pickMatrix(detail::tvec2< T, P > const &center, detail::tvec2< T, P > const &delta, detail::tvec4< U, P > const &viewport)
Define a picking region.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > infinitePerspective(T fovy, T aspect, T near)
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite.
+
GLM_FUNC_DECL detail::tmat4x4< T, defaultp > ortho(T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
Creates a matrix for an orthographic parallel viewing volume.
+
GLM_FUNC_DECL detail::tvec3< T, P > axis(detail::tquat< T, P > const &x)
Returns the q rotation axis.
+
GLM_FUNC_DECL detail::tvec3< T, P > unProject(detail::tvec3< T, P > const &win, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > perspectiveFov(T const &fov, T const &width, T const &height, T const &near, T const &far)
Builds a perspective projection matrix based on a field of view.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > lookAt(detail::tvec3< T, P > const &eye, detail::tvec3< T, P > const &center, detail::tvec3< T, P > const &up)
Build a look at view matrix.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > frustum(T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)
Creates a frustum matrix.
+
GLM_FUNC_DECL detail::tvec3< T, P > project(detail::tvec3< T, P > const &obj, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00081.html glm-0.9.5.1/doc/api/a00081.html --- glm-0.9.4.6/doc/api/a00081.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00081.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,111 +1,91 @@ - - - - - -reciprocal.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
gtc/reciprocal.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType acot (genType const &x)
 
template<typename genType >
genType acoth (genType const &x)
 
template<typename genType >
genType acsc (genType const &x)
 
template<typename genType >
genType acsch (genType const &x)
 
template<typename genType >
genType asec (genType const &x)
 
template<typename genType >
genType asech (genType const &x)
 
template<typename genType >
genType cot (genType const &angle)
 
template<typename genType >
genType coth (genType const &angle)
 
template<typename genType >
genType csc (genType const &angle)
 
template<typename genType >
genType csch (genType const &angle)
 
template<typename genType >
genType sec (genType const &angle)
 
template<typename genType >
genType sech (genType const &angle)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_reciprocal

-
Date
2008-10-09 / 2012-01-25
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file gtc/reciprocal.hpp.

-
- - - - + + + + + + +GLM: mixed_product.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
mixed_product.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + +

+Functions

+template<typename T , precision P>
mixedProduct (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_mixed_producte

+
Date
2007-04-03 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file mixed_product.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00081_source.html glm-0.9.5.1/doc/api/a00081_source.html --- glm-0.9.4.6/doc/api/a00081_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00081_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,147 +1,88 @@ - - - - - -reciprocal.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtc/reciprocal.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTC_reciprocal
-
39 #define GLM_GTC_reciprocal GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTC_reciprocal extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
57  template <typename genType>
-
58  genType sec(genType const & angle);
-
59 
-
64  template <typename genType>
-
65  genType csc(genType const & angle);
-
66 
-
71  template <typename genType>
-
72  genType cot(genType const & angle);
-
73 
-
77  template <typename genType>
-
78  genType asec(genType const & x);
-
79 
-
83  template <typename genType>
-
84  genType acsc(genType const & x);
-
85 
-
89  template <typename genType>
-
90  genType acot(genType const & x);
-
91 
-
95  template <typename genType>
-
96  genType sech(genType const & angle);
-
97 
-
101  template <typename genType>
-
102  genType csch(genType const & angle);
-
103 
-
107  template <typename genType>
-
108  genType coth(genType const & angle);
-
109 
-
113  template <typename genType>
-
114  genType asech(genType const & x);
-
115 
-
119  template <typename genType>
-
120  genType acsch(genType const & x);
-
121 
-
125  template <typename genType>
-
126  genType acoth(genType const & x);
-
127 
-
129 }//namespace glm
-
130 
-
131 #include "reciprocal.inl"
-
132 
-
133 #endif//GLM_GTC_reciprocal
-
- - - - + + + + + + +GLM: mixed_product.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
mixed_product.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_mixed_product
+
39 #define GLM_GTX_mixed_product
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_mixed_product extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
54  template <typename T, precision P>
+
55  T mixedProduct(
+
56  detail::tvec3<T, P> const & v1,
+
57  detail::tvec3<T, P> const & v2,
+
58  detail::tvec3<T, P> const & v3);
+
59 
+
61 }// namespace glm
+
62 
+
63 #include "mixed_product.inl"
+
64 
+
65 #endif//GLM_GTX_mixed_product
+
T mixedProduct(detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00082.html glm-0.9.5.1/doc/api/a00082.html --- glm-0.9.4.6/doc/api/a00082.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00082.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,95 @@ + + + + + + +GLM: multiple.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
multiple.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + +

+Functions

template<typename genType >
genType higherMultiple (genType const &Source, genType const &Multiple)
 
template<typename genType >
genType lowerMultiple (genType const &Source, genType const &Multiple)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_multiple

+
Date
2009-10-26 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_extented_min_max (dependence)
+ +

Definition in file multiple.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00082_source.html glm-0.9.5.1/doc/api/a00082_source.html --- glm-0.9.4.6/doc/api/a00082_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00082_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,82 +1,93 @@ - - - - - -reciprocal.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtx/reciprocal.hpp
-
-
-
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 #if(defined(GLM_MESSAGES))
-
25 # pragma message("GLM: GLM_GTX_reciprocal extension is deprecated, include GLM_GTC_reciprocal instead")
-
26 #endif
-
- - - - + + + + + + +GLM: multiple.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
multiple.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_multiple
+
40 #define GLM_GTX_multiple
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_multiple extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
61  template <typename genType>
+
62  genType higherMultiple(
+
63  genType const & Source,
+
64  genType const & Multiple);
+
65 
+
73  template <typename genType>
+
74  genType lowerMultiple(
+
75  genType const & Source,
+
76  genType const & Multiple);
+
77 
+
79 }//namespace glm
+
80 
+
81 #include "multiple.inl"
+
82 
+
83 #endif//GLM_GTX_multiple
+
genType lowerMultiple(genType const &Source, genType const &Multiple)
Lower multiple number of Source.
+
genType higherMultiple(genType const &Source, genType const &Multiple)
Higher multiple number of Source.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00083.html glm-0.9.5.1/doc/api/a00083.html --- glm-0.9.4.6/doc/api/a00083.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00083.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,107 +1,96 @@ - - - - - -rotate_vector.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
rotate_vector.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat4x4< T > orientation (detail::tvec3< T > const &Normal, detail::tvec3< T > const &Up)
 
template<typename T >
detail::tvec2< T > rotate (detail::tvec2< T > const &v, T const &angle)
 
template<typename T >
detail::tvec3< T > rotate (detail::tvec3< T > const &v, T const &angle, detail::tvec3< T > const &normal)
 
template<typename T >
detail::tvec4< T > rotate (detail::tvec4< T > const &v, T const &angle, detail::tvec3< T > const &normal)
 
template<typename T >
detail::tvec3< T > rotateX (detail::tvec3< T > const &v, T const &angle)
 
template<typename T >
detail::tvec4< T > rotateX (detail::tvec4< T > const &v, T const &angle)
 
template<typename T >
detail::tvec3< T > rotateY (detail::tvec3< T > const &v, T const &angle)
 
template<typename T >
detail::tvec4< T > rotateY (detail::tvec4< T > const &v, T const &angle)
 
template<typename T >
detail::tvec3< T > rotateZ (detail::tvec3< T > const &v, T const &angle)
 
template<typename T >
detail::tvec4< T > rotateZ (detail::tvec4< T > const &v, T const &angle)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_rotate_vector

-
Date
2006-11-02 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_transform (dependence)
- -

Definition in file rotate_vector.hpp.

-
- - - - + + + + + + +GLM: noise.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
gtc/noise.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + +

+Functions

template<typename T , precision P, template< typename, precision > class vecType>
perlin (vecType< T, P > const &p)
 
template<typename T , precision P, template< typename, precision > class vecType>
perlin (vecType< T, P > const &p, vecType< T, P > const &rep)
 
template<typename T , precision P, template< typename, precision > class vecType>
simplex (vecType< T, P > const &p)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_noise

+
Date
2011-04-21 / 2011-09-27
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file gtc/noise.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00083_source.html glm-0.9.5.1/doc/api/a00083_source.html --- glm-0.9.4.6/doc/api/a00083_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00083_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,165 +1,97 @@ - - - - - -rotate_vector.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
rotate_vector.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_rotate_vector
-
40 #define GLM_GTX_rotate_vector GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/transform.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_rotate_vector extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename T>
-
58  detail::tvec2<T> rotate(
-
59  detail::tvec2<T> const & v,
-
60  T const & angle);
-
61 
-
64  template <typename T>
-
65  detail::tvec3<T> rotate(
-
66  detail::tvec3<T> const & v,
-
67  T const & angle,
-
68  detail::tvec3<T> const & normal);
-
69 
-
72  template <typename T>
-
73  detail::tvec4<T> rotate(
-
74  detail::tvec4<T> const & v,
-
75  T const & angle,
-
76  detail::tvec3<T> const & normal);
-
77 
-
80  template <typename T>
-
81  detail::tvec3<T> rotateX(
-
82  detail::tvec3<T> const & v,
-
83  T const & angle);
-
84 
-
87  template <typename T>
-
88  detail::tvec3<T> rotateY(
-
89  detail::tvec3<T> const & v,
-
90  T const & angle);
-
91 
-
94  template <typename T>
-
95  detail::tvec3<T> rotateZ(
-
96  detail::tvec3<T> const & v,
-
97  T const & angle);
-
98 
-
101  template <typename T>
-
102  detail::tvec4<T> rotateX(
-
103  detail::tvec4<T> const & v,
-
104  T const & angle);
-
105 
-
108  template <typename T>
-
109  detail::tvec4<T> rotateY(
-
110  detail::tvec4<T> const & v,
-
111  T const & angle);
-
112 
-
115  template <typename T>
-
116  detail::tvec4<T> rotateZ(
-
117  detail::tvec4<T> const & v,
-
118  T const & angle);
-
119 
-
122  template <typename T>
-
123  detail::tmat4x4<T> orientation(
-
124  detail::tvec3<T> const & Normal,
-
125  detail::tvec3<T> const & Up);
-
126 
-
128 }//namespace glm
-
129 
-
130 #include "rotate_vector.inl"
-
131 
-
132 #endif//GLM_GTX_rotate_vector
-
- - - - + + + + + + +GLM: noise.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtc/noise.hpp
+
+
+Go to the documentation of this file.
1 
+
41 #ifndef GLM_GTC_noise
+
42 #define GLM_GTC_noise
+
43 
+
44 // Dependencies
+
45 #include "../detail/setup.hpp"
+
46 #include "../detail/precision.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTC_noise extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
59  template <typename T, precision P, template<typename, precision> class vecType>
+
60  T perlin(
+
61  vecType<T, P> const & p);
+
62 
+
65  template <typename T, precision P, template<typename, precision> class vecType>
+
66  T perlin(
+
67  vecType<T, P> const & p,
+
68  vecType<T, P> const & rep);
+
69 
+
72  template <typename T, precision P, template<typename, precision> class vecType>
+
73  T simplex(
+
74  vecType<T, P> const & p);
+
75 
+
77 }//namespace glm
+
78 
+
79 #include "noise.inl"
+
80 
+
81 #endif//GLM_GTC_noise
+
T simplex(vecType< T, P > const &p)
Simplex noise.
+
T perlin(vecType< T, P > const &p)
Classic perlin noise.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00084.html glm-0.9.5.1/doc/api/a00084.html --- glm-0.9.4.6/doc/api/a00084.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00084.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ - - - - - -setup.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
setup.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2006-11-13 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file setup.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00084_source.html glm-0.9.5.1/doc/api/a00084_source.html --- glm-0.9.4.6/doc/api/a00084_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00084_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,740 +1,69 @@ - - - - - -setup.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
setup.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_setup
-
30 #define glm_setup
-
31 
-
33 // Version
-
34 
-
35 #define GLM_VERSION 94
-
36 #define GLM_VERSION_MAJOR 0
-
37 #define GLM_VERSION_MINOR 9
-
38 #define GLM_VERSION_PATCH 4
-
39 #define GLM_VERSION_REVISION 0
-
40 
-
42 // Platform
-
43 
-
44 #define GLM_PLATFORM_UNKNOWN 0x00000000
-
45 #define GLM_PLATFORM_WINDOWS 0x00010000
-
46 #define GLM_PLATFORM_LINUX 0x00020000
-
47 #define GLM_PLATFORM_APPLE 0x00040000
-
48 //#define GLM_PLATFORM_IOS 0x00080000
-
49 #define GLM_PLATFORM_ANDROID 0x00100000
-
50 #define GLM_PLATFORM_CHROME_NACL 0x00200000
-
51 #define GLM_PLATFORM_UNIX 0x00400000
-
52 #define GLM_PLATFORM_QNXNTO 0x00800000
-
53 
-
54 #ifdef GLM_FORCE_PLATFORM_UNKNOWN
-
55 # define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
-
56 #elif defined(__QNXNTO__)
-
57 # define GLM_PLATFORM GLM_PLATFORM_QNXNTO
-
58 #elif defined(__APPLE__)
-
59 # define GLM_PLATFORM GLM_PLATFORM_APPLE
-
60 #elif defined(_WIN32)
-
61 # define GLM_PLATFORM GLM_PLATFORM_WINDOWS
-
62 #elif defined(__native_client__)
-
63 # define GLM_PLATFORM GLM_PLATFORM_CHROME_NACL
-
64 #elif defined(__ANDROID__)
-
65 # define GLM_PLATFORM GLM_PLATFORM_ANDROID
-
66 #elif defined(__linux)
-
67 # define GLM_PLATFORM GLM_PLATFORM_LINUX
-
68 #elif defined(__unix)
-
69 # define GLM_PLATFORM GLM_PLATFORM_UNIX
-
70 #else
-
71 # define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
-
72 #endif//
-
73 
-
74 // Report platform detection
-
75 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_PLATFORM_DISPLAYED))
-
76 # define GLM_MESSAGE_PLATFORM_DISPLAYED
-
77 # if(GLM_PLATFORM & GLM_PLATFORM_WINDOWS)
-
78 # pragma message("GLM: Windows platform detected")
-
79 //# elif(GLM_PLATFORM & GLM_PLATFORM_IOS)
-
80 //# pragma message("GLM: iOS platform detected")
-
81 # elif(GLM_PLATFORM & GLM_PLATFORM_APPLE)
-
82 # pragma message("GLM: Apple platform detected")
-
83 # elif(GLM_PLATFORM & GLM_PLATFORM_LINUX)
-
84 # pragma message("GLM: Linux platform detected")
-
85 # elif(GLM_PLATFORM & GLM_PLATFORM_UNIX)
-
86 # pragma message("GLM: UNIX platform detected")
-
87 # elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
-
88 # pragma message("GLM: Android platform detected")
-
89 # elif(GLM_PLATFORM & GLM_PLATFORM_CHROME_NACL)
-
90 # pragma message("GLM: Chrone Native Client detected")
-
91 # elif(GLM_PLATFORM & GLM_PLATFORM_UNKNOWN)
-
92 # pragma message("GLM: platform unknown")
-
93 # else
-
94 # pragma message("GLM: platform not detected")
-
95 # endif
-
96 #endif//GLM_MESSAGE
-
97 
-
99 // Compiler
-
100 
-
101 // User defines: GLM_FORCE_COMPILER_UNKNOWN
-
102 // TODO ? __llvm__
-
103 
-
104 #define GLM_COMPILER_UNKNOWN 0x00000000
-
105 
-
106 // Visual C++ defines
-
107 #define GLM_COMPILER_VC 0x01000000
-
108 #define GLM_COMPILER_VC2 0x01000010
-
109 #define GLM_COMPILER_VC4 0x01000020
-
110 #define GLM_COMPILER_VC5 0x01000030
-
111 #define GLM_COMPILER_VC6 0x01000040
-
112 #define GLM_COMPILER_VC2002 0x01000050
-
113 #define GLM_COMPILER_VC2003 0x01000060
-
114 #define GLM_COMPILER_VC2005 0x01000070
-
115 #define GLM_COMPILER_VC2008 0x01000080
-
116 #define GLM_COMPILER_VC2010 0x01000090
-
117 #define GLM_COMPILER_VC2012 0x010000A0
-
118 
-
119 // GCC defines
-
120 #define GLM_COMPILER_GCC 0x02000000
-
121 #define GLM_COMPILER_GCC_LLVM 0x02000001
-
122 #define GLM_COMPILER_GCC_CLANG 0x02000002
-
123 #define GLM_COMPILER_GCC30 0x02000010
-
124 #define GLM_COMPILER_GCC31 0x02000020
-
125 #define GLM_COMPILER_GCC32 0x02000030
-
126 #define GLM_COMPILER_GCC33 0x02000040
-
127 #define GLM_COMPILER_GCC34 0x02000050
-
128 #define GLM_COMPILER_GCC35 0x02000060
-
129 #define GLM_COMPILER_GCC40 0x02000070
-
130 #define GLM_COMPILER_GCC41 0x02000080
-
131 #define GLM_COMPILER_GCC42 0x02000090
-
132 #define GLM_COMPILER_GCC43 0x020000A0
-
133 #define GLM_COMPILER_GCC44 0x020000B0
-
134 #define GLM_COMPILER_GCC45 0x020000C0
-
135 #define GLM_COMPILER_GCC46 0x020000D0
-
136 #define GLM_COMPILER_GCC47 0x020000E0
-
137 #define GLM_COMPILER_GCC48 0x020000F0
-
138 #define GLM_COMPILER_GCC49 0x02000100
-
139 #define GLM_COMPILER_GCC50 0x02000200
-
140 
-
141 // G++ command line to display defined
-
142 // echo "" | g++ -E -dM -x c++ - | sort
-
143 
-
144 // Borland C++ defines. How to identify BC?
-
145 #define GLM_COMPILER_BC 0x04000000
-
146 #define GLM_COMPILER_BCB4 0x04000100
-
147 #define GLM_COMPILER_BCB5 0x04000200
-
148 #define GLM_COMPILER_BCB6 0x04000300
-
149 //#define GLM_COMPILER_BCBX 0x04000400 // What's the version value?
-
150 #define GLM_COMPILER_BCB2009 0x04000500
-
151 
-
152 // CodeWarrior
-
153 #define GLM_COMPILER_CODEWARRIOR 0x08000000
-
154 
-
155 // CUDA
-
156 #define GLM_COMPILER_CUDA 0x10000000
-
157 #define GLM_COMPILER_CUDA30 0x10000010
-
158 #define GLM_COMPILER_CUDA31 0x10000020
-
159 #define GLM_COMPILER_CUDA32 0x10000030
-
160 #define GLM_COMPILER_CUDA40 0x10000040
-
161 #define GLM_COMPILER_CUDA41 0x10000050
-
162 #define GLM_COMPILER_CUDA42 0x10000060
-
163 
-
164 // Clang
-
165 #define GLM_COMPILER_CLANG 0x20000000
-
166 #define GLM_COMPILER_CLANG26 0x20000010
-
167 #define GLM_COMPILER_CLANG27 0x20000020
-
168 #define GLM_COMPILER_CLANG28 0x20000030
-
169 #define GLM_COMPILER_CLANG29 0x20000040
-
170 #define GLM_COMPILER_CLANG30 0x20000050
-
171 #define GLM_COMPILER_CLANG31 0x20000060
-
172 #define GLM_COMPILER_CLANG32 0x20000070
-
173 #define GLM_COMPILER_CLANG33 0x20000080
-
174 #define GLM_COMPILER_CLANG40 0x20000090
-
175 #define GLM_COMPILER_CLANG41 0x200000A0
-
176 #define GLM_COMPILER_CLANG42 0x200000B0
-
177 #define GLM_COMPILER_CLANG43 0x200000C0
-
178 
-
179 // LLVM GCC
-
180 #define GLM_COMPILER_LLVM_GCC 0x40000000
-
181 
-
182 // Intel
-
183 #define GLM_COMPILER_INTEL 0x80000000
-
184 #define GLM_COMPILER_INTEL9 0x80000010
-
185 #define GLM_COMPILER_INTEL10_0 0x80000020
-
186 #define GLM_COMPILER_INTEL10_1 0x80000030
-
187 #define GLM_COMPILER_INTEL11_0 0x80000040
-
188 #define GLM_COMPILER_INTEL11_1 0x80000050
-
189 #define GLM_COMPILER_INTEL12_0 0x80000060
-
190 #define GLM_COMPILER_INTEL12_1 0x80000070
-
191 #define GLM_COMPILER_INTEL13_0 0x80000080
-
192 
-
193 // Build model
-
194 #define GLM_MODEL_32 0x00000010
-
195 #define GLM_MODEL_64 0x00000020
-
196 
-
197 // Force generic C++ compiler
-
198 #ifdef GLM_FORCE_COMPILER_UNKNOWN
-
199 # define GLM_COMPILER GLM_COMPILER_UNKNOWN
-
200 
-
201 #elif defined(__INTEL_COMPILER)
-
202 # if __INTEL_COMPILER == 900
-
203 # define GLM_COMPILER GLM_COMPILER_INTEL9
-
204 # elif __INTEL_COMPILER == 1000
-
205 # define GLM_COMPILER GLM_COMPILER_INTEL10_0
-
206 # elif __INTEL_COMPILER == 1010
-
207 # define GLM_COMPILER GLM_COMPILER_INTEL10_1
-
208 # elif __INTEL_COMPILER == 1100
-
209 # define GLM_COMPILER GLM_COMPILER_INTEL11_0
-
210 # elif __INTEL_COMPILER == 1110
-
211 # define GLM_COMPILER GLM_COMPILER_INTEL11_1
-
212 # elif __INTEL_COMPILER == 1200
-
213 # define GLM_COMPILER GLM_COMPILER_INTEL12_0
-
214 # elif __INTEL_COMPILER == 1210
-
215 # define GLM_COMPILER GLM_COMPILER_INTEL12_1
-
216 # elif __INTEL_COMPILER == 1300
-
217 # define GLM_COMPILER GLM_COMPILER_INTEL13_0
-
218 # else
-
219 # define GLM_COMPILER GLM_COMPILER_INTEL
-
220 # endif
-
221 
-
222 // CUDA
-
223 #elif defined(__CUDACC__)
-
224 # define GLM_COMPILER GLM_COMPILER_CUDA
-
225 /*
-
226 # if CUDA_VERSION < 3000
-
227 # error "GLM requires CUDA 3.0 or higher"
-
228 # elif CUDA_VERSION == 3000
-
229 # define GLM_COMPILER GLM_COMPILER_CUDA30
-
230 # elif CUDA_VERSION == 3010
-
231 # define GLM_COMPILER GLM_COMPILER_CUDA31
-
232 # elif CUDA_VERSION == 3020
-
233 # define GLM_COMPILER GLM_COMPILER_CUDA32
-
234 # elif CUDA_VERSION == 4000
-
235 # define GLM_COMPILER GLM_COMPILER_CUDA40
-
236 # elif CUDA_VERSION == 4010
-
237 # define GLM_COMPILER GLM_COMPILER_CUDA41
-
238 # elif CUDA_VERSION == 4020
-
239 # define GLM_COMPILER GLM_COMPILER_CUDA42
-
240 # else
-
241 # define GLM_COMPILER GLM_COMPILER_CUDA
-
242 # endif
-
243 */
-
244 
-
245 // Visual C++
-
246 #elif defined(_MSC_VER)
-
247 # if _MSC_VER == 900
-
248 # define GLM_COMPILER GLM_COMPILER_VC2
-
249 # elif _MSC_VER == 1000
-
250 # define GLM_COMPILER GLM_COMPILER_VC4
-
251 # elif _MSC_VER == 1100
-
252 # define GLM_COMPILER GLM_COMPILER_VC5
-
253 # elif _MSC_VER == 1200
-
254 # define GLM_COMPILER GLM_COMPILER_VC6
-
255 # elif _MSC_VER == 1300
-
256 # define GLM_COMPILER GLM_COMPILER_VC2002
-
257 # elif _MSC_VER == 1310
-
258 # define GLM_COMPILER GLM_COMPILER_VC2003
-
259 # elif _MSC_VER == 1400
-
260 # define GLM_COMPILER GLM_COMPILER_VC2005
-
261 # elif _MSC_VER == 1500
-
262 # define GLM_COMPILER GLM_COMPILER_VC2008
-
263 # elif _MSC_VER == 1600
-
264 # define GLM_COMPILER GLM_COMPILER_VC2010
-
265 # elif _MSC_VER == 1700
-
266 # define GLM_COMPILER GLM_COMPILER_VC2012
-
267 # else//_MSC_VER
-
268 # define GLM_COMPILER GLM_COMPILER_VC
-
269 # endif//_MSC_VER
-
270 
-
271 // Clang
-
272 #elif defined(__clang__)
-
273 # if(__clang_major__ == 2) && (__clang_minor__ == 6)
-
274 # define GLM_COMPILER GLM_COMPILER_CLANG26
-
275 # elif(__clang_major__ == 2) && (__clang_minor__ == 7)
-
276 # define GLM_COMPILER GLM_COMPILER_CLANG27
-
277 # elif(__clang_major__ == 2) && (__clang_minor__ == 8)
-
278 # define GLM_COMPILER GLM_COMPILER_CLANG28
-
279 # elif(__clang_major__ == 2) && (__clang_minor__ == 9)
-
280 # define GLM_COMPILER GLM_COMPILER_CLANG29
-
281 # elif(__clang_major__ == 3) && (__clang_minor__ == 0)
-
282 # define GLM_COMPILER GLM_COMPILER_CLANG30
-
283 # elif(__clang_major__ == 3) && (__clang_minor__ == 1)
-
284 # define GLM_COMPILER GLM_COMPILER_CLANG31
-
285 # elif(__clang_major__ == 3) && (__clang_minor__ == 2)
-
286 # define GLM_COMPILER GLM_COMPILER_CLANG32
-
287 # elif(__clang_major__ == 3) && (__clang_minor__ == 3)
-
288 # define GLM_COMPILER GLM_COMPILER_CLANG33
-
289 # elif(__clang_major__ == 4) && (__clang_minor__ == 0)
-
290 # define GLM_COMPILER GLM_COMPILER_CLANG40
-
291 # elif(__clang_major__ == 4) && (__clang_minor__ == 1)
-
292 # define GLM_COMPILER GLM_COMPILER_CLANG41
-
293 # elif(__clang_major__ == 4) && (__clang_minor__ == 2)
-
294 # define GLM_COMPILER GLM_COMPILER_CLANG42
-
295 # elif(__clang_major__ == 4) && (__clang_minor__ == 3)
-
296 # define GLM_COMPILER GLM_COMPILER_CLANG43
-
297 # else
-
298 # define GLM_COMPILER GLM_COMPILER_CLANG
-
299 # endif
-
300 
-
301 // G++
-
302 #elif(defined(__GNUC__) || defined(__MINGW32__))// || defined(__llvm__) || defined(__clang__)
-
303 # if (__GNUC__ == 3) && (__GNUC_MINOR__ == 2)
-
304 # define GLM_COMPILER GLM_COMPILER_GCC32
-
305 # elif (__GNUC__ == 3) && (__GNUC_MINOR__ == 3)
-
306 # define GLM_COMPILER GLM_COMPILER_GCC33
-
307 # elif (__GNUC__ == 3) && (__GNUC_MINOR__ == 4)
-
308 # define GLM_COMPILER GLM_COMPILER_GCC34
-
309 # elif (__GNUC__ == 3) && (__GNUC_MINOR__ == 5)
-
310 # define GLM_COMPILER GLM_COMPILER_GCC35
-
311 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 0)
-
312 # define GLM_COMPILER (GLM_COMPILER_GCC40)
-
313 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 1)
-
314 # define GLM_COMPILER (GLM_COMPILER_GCC41)
-
315 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 2)
-
316 # define GLM_COMPILER (GLM_COMPILER_GCC42)
-
317 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 3)
-
318 # define GLM_COMPILER (GLM_COMPILER_GCC43)
-
319 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 4)
-
320 # define GLM_COMPILER (GLM_COMPILER_GCC44)
-
321 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 5)
-
322 # define GLM_COMPILER (GLM_COMPILER_GCC45)
-
323 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 6)
-
324 # define GLM_COMPILER (GLM_COMPILER_GCC46)
-
325 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 7)
-
326 # define GLM_COMPILER (GLM_COMPILER_GCC47)
-
327 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
-
328 # define GLM_COMPILER (GLM_COMPILER_GCC48)
-
329 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 9)
-
330 # define GLM_COMPILER (GLM_COMPILER_GCC49)
-
331 # elif (__GNUC__ == 5) && (__GNUC_MINOR__ == 0)
-
332 # define GLM_COMPILER (GLM_COMPILER_GCC50)
-
333 # else
-
334 # define GLM_COMPILER (GLM_COMPILER_GCC)
-
335 # endif
-
336 
-
337 // Borland C++
-
338 #elif defined(_BORLANDC_)
-
339 # if defined(VER125)
-
340 # define GLM_COMPILER GLM_COMPILER_BCB4
-
341 # elif defined(VER130)
-
342 # define GLM_COMPILER GLM_COMPILER_BCB5
-
343 # elif defined(VER140)
-
344 # define GLM_COMPILER GLM_COMPILER_BCB6
-
345 # elif defined(VER200)
-
346 # define GLM_COMPILER GLM_COMPILER_BCB2009
-
347 # else
-
348 # define GLM_COMPILER GLM_COMPILER_BC
-
349 # endif
-
350 
-
351 // Codewarrior
-
352 #elif defined(__MWERKS__)
-
353 # define GLM_COMPILER GLM_COMPILER_CODEWARRIOR
-
354 
-
355 #else
-
356 # define GLM_COMPILER GLM_COMPILER_UNKNOWN
-
357 #endif
-
358 
-
359 #ifndef GLM_COMPILER
-
360 #error "GLM_COMPILER undefined, your compiler may not be supported by GLM. Add #define GLM_COMPILER 0 to ignore this message."
-
361 #endif//GLM_COMPILER
-
362 
-
363 // Report compiler detection
-
364 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPILER_DISPLAYED))
-
365 # define GLM_MESSAGE_COMPILER_DISPLAYED
-
366 # if(GLM_COMPILER & GLM_COMPILER_CUDA)
-
367 # pragma message("GLM: CUDA compiler detected")
-
368 # elif(GLM_COMPILER & GLM_COMPILER_VC)
-
369 # pragma message("GLM: Visual C++ compiler detected")
-
370 # elif(GLM_COMPILER & GLM_COMPILER_CLANG)
-
371 # pragma message("GLM: Clang compiler detected")
-
372 # elif(GLM_COMPILER & GLM_COMPILER_LLVM_GCC)
-
373 # pragma message("GLM: LLVM GCC compiler detected")
-
374 # elif(GLM_COMPILER & GLM_COMPILER_GCC)
-
375 # if(GLM_COMPILER == GLM_COMPILER_GCC_LLVM)
-
376 # pragma message("GLM: LLVM GCC compiler detected")
-
377 # elif(GLM_COMPILER == GLM_COMPILER_GCC_CLANG)
-
378 # pragma message("GLM: CLANG compiler detected")
-
379 # else
-
380 # pragma message("GLM: GCC compiler detected")
-
381 # endif
-
382 # elif(GLM_COMPILER & GLM_COMPILER_BC)
-
383 # pragma message("GLM: Borland compiler detected but not supported")
-
384 # elif(GLM_COMPILER & GLM_COMPILER_CODEWARRIOR)
-
385 # pragma message("GLM: Codewarrior compiler detected but not supported")
-
386 # else
-
387 # pragma message("GLM: Compiler not detected")
-
388 # endif
-
389 #endif//GLM_MESSAGE
-
390 
-
392 // Build model //
-
393 
-
394 #if(defined(__arch64__) || defined(__LP64__) || defined(_M_X64) || defined(__ppc64__) || defined(__x86_64__))
-
395 # define GLM_MODEL GLM_MODEL_64
-
396 #elif(defined(__i386__) || defined(__ppc__))
-
397 # define GLM_MODEL GLM_MODEL_32
-
398 #else
-
399 # define GLM_MODEL GLM_MODEL_32
-
400 #endif//
-
401 
-
402 #if(!defined(GLM_MODEL) && GLM_COMPILER != 0)
-
403 # error "GLM_MODEL undefined, your compiler may not be supported by GLM. Add #define GLM_MODEL 0 to ignore this message."
-
404 #endif//GLM_MODEL
-
405 
-
406 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_MODEL_DISPLAYED))
-
407 # define GLM_MESSAGE_MODEL_DISPLAYED
-
408 # if(GLM_MODEL == GLM_MODEL_64)
-
409 # pragma message("GLM: 64 bits model")
-
410 # elif(GLM_MODEL == GLM_MODEL_32)
-
411 # pragma message("GLM: 32 bits model")
-
412 # endif//GLM_MODEL
-
413 #endif//GLM_MESSAGE
-
414 
-
416 // C++ Version //
-
417 
-
418 // User defines: GLM_FORCE_CXX98
-
419 
-
420 #define GLM_LANG_CXX (0 << 0)
-
421 #define GLM_LANG_CXX98 ((1 << 1) | GLM_LANG_CXX)
-
422 #define GLM_LANG_CXX03 ((1 << 2) | GLM_LANG_CXX98)
-
423 #define GLM_LANG_CXX0X ((1 << 3) | GLM_LANG_CXX03)
-
424 #define GLM_LANG_CXX11 ((1 << 4) | GLM_LANG_CXX0X)
-
425 #define GLM_LANG_CXXMS (1 << 5)
-
426 #define GLM_LANG_CXXGNU (1 << 6)
-
427 
-
428 #if(defined(GLM_FORCE_CXX11))
-
429 # define GLM_LANG GLM_LANG_CXX11
-
430 #elif(defined(GLM_FORCE_CXX03))
-
431 # define GLM_LANG GLM_LANG_CXX03
-
432 #elif(defined(GLM_FORCE_CXX98))
-
433 # define GLM_LANG GLM_LANG_CXX98
-
434 #else
-
435 // -std=c++0x or -std=gnu++0x
-
436 # if(((GLM_COMPILER & GLM_COMPILER_GCC) == GLM_COMPILER_GCC) && defined(__GXX_EXPERIMENTAL_CXX0X__))
-
437 # define GLM_LANG GLM_LANG_CXX0X
-
438 # elif(((GLM_COMPILER & GLM_COMPILER_VC) == GLM_COMPILER_VC) && defined(_MSC_EXTENSIONS))
-
439 # define GLM_LANG GLM_LANG_CXXMS
-
440 # elif(((GLM_COMPILER & GLM_COMPILER_VC) == GLM_COMPILER_VC) && !defined(_MSC_EXTENSIONS))
-
441 # if(GLM_COMPILER >= GLM_COMPILER_VC2010)
-
442 # define GLM_LANG GLM_LANG_CXX0X
-
443 # else
-
444 # define GLM_LANG GLM_LANG_CXX98
-
445 # endif//(GLM_COMPILER == GLM_COMPILER_VC2010)
-
446 # elif((GLM_COMPILER & GLM_COMPILER_GCC) == GLM_COMPILER_GCC) //&& defined(__STRICT_ANSI__))
-
447 # define GLM_LANG GLM_LANG_CXX98
-
448 # elif((GLM_COMPILER & GLM_COMPILER_CLANG) == GLM_COMPILER_CLANG)
-
449 # define GLM_LANG GLM_LANG_CXX98
-
450 # else
-
451 # define GLM_LANG GLM_LANG_CXX
-
452 # endif
-
453 #endif
-
454 
-
455 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_LANG_DISPLAYED))
-
456 # define GLM_MESSAGE_LANG_DISPLAYED
-
457 # if(GLM_LANG == GLM_LANG_CXX98)
-
458 # pragma message("GLM: C++98")
-
459 # elif(GLM_LANG == GLM_LANG_CXX03)
-
460 # pragma message("GLM: C++03")
-
461 # elif(GLM_LANG == GLM_LANG_CXX0X)
-
462 # pragma message("GLM: C++0x")
-
463 # elif(GLM_LANG == GLM_LANG_CXX11)
-
464 # pragma message("GLM: C++11")
-
465 # elif(GLM_LANG == GLM_LANG_CXXGNU)
-
466 # pragma message("GLM: C++ with GNU language extensions")
-
467 # elif(GLM_LANG == GLM_LANG_CXXMS)
-
468 # pragma message("GLM: C++ with VC language extensions")
-
469 # else
-
470 # pragma message("GLM: C++ language undetected")
-
471 # endif//GLM_MODEL
-
472 #endif//GLM_MESSAGE
-
473 
-
475 // Platform
-
476 
-
477 // User defines: GLM_FORCE_PURE GLM_FORCE_SSE2 GLM_FORCE_AVX
-
478 
-
479 #define GLM_ARCH_PURE 0x0000
-
480 #define GLM_ARCH_SSE2 0x0001
-
481 #define GLM_ARCH_SSE3 0x0002// | GLM_ARCH_SSE2
-
482 #define GLM_ARCH_SSE4 0x0004// | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
-
483 #define GLM_ARCH_AVX 0x0008// | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
-
484 #define GLM_ARCH_AVX2 0x0010// | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
-
485 
-
486 #if(defined(GLM_FORCE_PURE))
-
487 # define GLM_ARCH GLM_ARCH_PURE
-
488 #elif(defined(GLM_FORCE_AVX2))
-
489 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
490 #elif(defined(GLM_FORCE_AVX))
-
491 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
492 #elif(defined(GLM_FORCE_SSE4))
-
493 # define GLM_ARCH (GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
494 #elif(defined(GLM_FORCE_SSE3))
-
495 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
496 #elif(defined(GLM_FORCE_SSE2))
-
497 # define GLM_ARCH (GLM_ARCH_SSE2)
-
498 #elif((GLM_COMPILER & GLM_COMPILER_VC) && (defined(_M_IX86) || defined(_M_X64)))
-
499 # if(defined(_M_CEE_PURE))
-
500 # define GLM_ARCH GLM_ARCH_PURE
-
501 /* TODO: Explore auto detection of instruction set support
-
502 # elif(defined(_M_IX86_FP))
-
503 # if(_M_IX86_FP >= 3)
-
504 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
505 # elif(_M_IX86_FP >= 2)
-
506 # define GLM_ARCH (GLM_ARCH_SSE2)
-
507 # else
-
508 # define GLM_ARCH GLM_ARCH_PURE
-
509 # endif
-
510 */
-
511 # elif(GLM_COMPILER >= GLM_COMPILER_VC2012)
-
512 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
513 # elif(GLM_COMPILER >= GLM_COMPILER_VC2010)
-
514 # if(_MSC_FULL_VER >= 160031118) //160031118: VC2010 SP1 beta full version
-
515 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)//GLM_ARCH_AVX (Require SP1)
-
516 # else
-
517 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
518 # endif
-
519 # elif(GLM_COMPILER >= GLM_COMPILER_VC2008)
-
520 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
-
521 # elif(GLM_COMPILER >= GLM_COMPILER_VC2005)
-
522 # define GLM_ARCH GLM_ARCH_SSE2
-
523 # else
-
524 # define GLM_ARCH GLM_ARCH_PURE
-
525 # endif
-
526 #elif((GLM_PLATFORM & GLM_PLATFORM_APPLE) && (GLM_COMPILER & GLM_COMPILER_GCC))
-
527 # define GLM_ARCH GLM_ARCH_PURE
-
528 #elif(((GLM_COMPILER & GLM_COMPILER_GCC) && (defined(__i386__) || defined(__x86_64__))) || (GLM_COMPILER & GLM_COMPILER_LLVM_GCC))
-
529 # define GLM_ARCH (GLM_ARCH_PURE \
-
530 | (defined(__AVX2__) ? GLM_ARCH_AVX2 : 0) \
-
531 | (defined(__AVX__) ? GLM_ARCH_AVX : 0) \
-
532 | (defined(__SSE4__) ? GLM_ARCH_SSE4 : 0) \
-
533 | (defined(__SSE3__) ? GLM_ARCH_SSE3 : 0) \
-
534 | (defined(__SSE2__) ? GLM_ARCH_SSE2 : 0))
-
535 #else
-
536 # define GLM_ARCH GLM_ARCH_PURE
-
537 #endif
-
538 
-
539 // With MinGW-W64, including intrinsic headers before intrin.h will produce some errors. The problem is
-
540 // that windows.h (and maybe other headers) will silently include intrin.h, which of course causes problems.
-
541 // To fix, we just explicitly include intrin.h here.
-
542 #if defined(__MINGW32__) && (GLM_ARCH != GLM_ARCH_PURE)
-
543 # include <intrin.h>
-
544 #endif
-
545 
-
546 //#if(GLM_ARCH != GLM_ARCH_PURE)
-
547 #if(GLM_ARCH & GLM_ARCH_AVX2)
-
548 # include <immintrin.h>
-
549 #endif//GLM_ARCH
-
550 #if(GLM_ARCH & GLM_ARCH_AVX)
-
551 # include <immintrin.h>
-
552 #endif//GLM_ARCH
-
553 #if(GLM_ARCH & GLM_ARCH_SSE4)
-
554 # include <smmintrin.h>
-
555 #endif//GLM_ARCH
-
556 #if(GLM_ARCH & GLM_ARCH_SSE3)
-
557 # include <pmmintrin.h>
-
558 #endif//GLM_ARCH
-
559 #if(GLM_ARCH & GLM_ARCH_SSE2)
-
560 # include <emmintrin.h>
-
561 #endif//GLM_ARCH
-
562 //#endif//(GLM_ARCH != GLM_ARCH_PURE)
-
563 
-
564 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED))
-
565 # define GLM_MESSAGE_ARCH_DISPLAYED
-
566 # if(GLM_ARCH == GLM_ARCH_PURE)
-
567 # pragma message("GLM: Platform independent")
-
568 # elif(GLM_ARCH & GLM_ARCH_SSE2)
-
569 # pragma message("GLM: SSE2 instruction set")
-
570 # elif(GLM_ARCH & GLM_ARCH_SSE3)
-
571 # pragma message("GLM: SSE3 instruction set")
-
572 # elif(GLM_ARCH & GLM_ARCH_SSE4)
-
573 # pragma message("GLM: SSE4 instruction set")
-
574 # elif(GLM_ARCH & GLM_ARCH_AVX)
-
575 # pragma message("GLM: AVX instruction set")
-
576 # elif(GLM_ARCH & GLM_ARCH_AVX2)
-
577 # pragma message("GLM: AVX2 instruction set")
-
578 # endif//GLM_ARCH
-
579 #endif//GLM_MESSAGE
-
580 
-
582 // Support check macros
-
583 
-
584 #define GLM_SUPPORT_ANONYMOUS_UNION() \
-
585  ((GLM_LANG & GLM_LANG_CXX98) == GLM_LANG_CXX98)
-
586 
-
587 //#define GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE() <backslash>
-
588 // (((GLM_LANG & GLM_LANG_CXX11) == GLM_LANG_CXX11) || ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_LANG & GLM_LANG_CXXMS) == GLM_LANG_CXXMS) || ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_LANG == GLM_LANG_CXX0X)))
-
589 
-
590 #define GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE() \
-
591  (((GLM_LANG & GLM_LANG_CXX11) == GLM_LANG_CXX11) || ((GLM_COMPILER & GLM_COMPILER_VC) && ((GLM_LANG & GLM_LANG_CXXMS) == GLM_LANG_CXXMS)) || ((GLM_LANG == GLM_LANG_CXX0X) == GLM_LANG_CXX0X))
-
592 
-
593 #define GLM_SUPPORT_SWIZZLE_OPERATOR() \
-
594  (/*defined(GLM_SWIZZLE) && */GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE())
-
595 
-
596 #define GLM_SUPPORT_SWIZZLE_FUNCTION() defined(GLM_SWIZZLE)
-
597 
-
599 // Components
-
600 
-
601 //#define GLM_FORCE_ONLY_XYZW
-
602 #define GLM_COMPONENT_ONLY_XYZW 0 // To disable multiple vector component names access.
-
603 #define GLM_COMPONENT_CXX98 1 //
-
604 #define GLM_COMPONENT_CXX11 2 // To use anonymous union to provide multiple component names access for class valType. Visual C++ only.
-
605 
-
606 #if(GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE() && !defined(GLM_FORCE_ONLY_XYZW))
-
607 # define GLM_COMPONENT GLM_COMPONENT_CXX11
-
608 #elif(GLM_SUPPORT_ANONYMOUS_UNION() && !defined(GLM_FORCE_ONLY_XYZW))
-
609 # define GLM_COMPONENT GLM_COMPONENT_CXX98
-
610 #else
-
611 # define GLM_COMPONENT GLM_COMPONENT_ONLY_XYZW
-
612 #endif
-
613 
-
614 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPONENT_DISPLAYED))
-
615 # define GLM_MESSAGE_COMPONENT_DISPLAYED
-
616 # if(GLM_COMPONENT == GLM_COMPONENT_CXX98)
-
617 # pragma message("GLM: x,y,z,w; r,g,b,a; s,t,p,q component names except of half based vector types")
-
618 # elif(GLM_COMPONENT == GLM_COMPONENT_ONLY_XYZW)
-
619 # pragma message("GLM: x,y,z,w component names for all vector types")
-
620 # elif(GLM_COMPONENT == GLM_COMPONENT_CXX11)
-
621 # pragma message("GLM: x,y,z,w; r,g,b,a; s,t,p,q component names for all vector types")
-
622 # else
-
623 # error "GLM: GLM_COMPONENT value unknown"
-
624 # endif//GLM_MESSAGE_COMPONENT_DISPLAYED
-
625 #endif//GLM_MESSAGE
-
626 
-
628 // Radians
-
629 
-
630 //#define GLM_FORCE_RADIANS
-
631 
-
633 // Static assert
-
634 
-
635 #if(GLM_LANG == GLM_LANG_CXX0X)
-
636 # define GLM_STATIC_ASSERT(x, message) static_assert(x, message)
-
637 #elif(defined(BOOST_STATIC_ASSERT))
-
638 # define GLM_STATIC_ASSERT(x, message) BOOST_STATIC_ASSERT(x)
-
639 #elif(GLM_COMPILER & GLM_COMPILER_VC)
-
640 # define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]
-
641 #else
-
642 # define GLM_STATIC_ASSERT(x, message)
-
643 # define GLM_STATIC_ASSERT_NULL
-
644 #endif//GLM_LANG
-
645 
-
647 // Qualifiers
-
648 
-
649 // User defines: GLM_FORCE_INLINE GLM_FORCE_CUDA
-
650 
-
651 #if(defined(GLM_FORCE_CUDA) || (GLM_COMPILER & GLM_COMPILER_CUDA))
-
652 # define GLM_CUDA_FUNC_DEF __device__ __host__
-
653 # define GLM_CUDA_FUNC_DECL __device__ __host__
-
654 #else
-
655 # define GLM_CUDA_FUNC_DEF
-
656 # define GLM_CUDA_FUNC_DECL
-
657 #endif
-
658 
-
659 #if GLM_COMPILER & GLM_COMPILER_GCC
-
660 #define GLM_VAR_USED __attribute__ ((unused))
-
661 #else
-
662 #define GLM_VAR_USED
-
663 #endif
-
664 
-
665 #if(defined(GLM_FORCE_INLINE))
-
666 # if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2005))
-
667 # define GLM_INLINE __forceinline
-
668 # elif((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC34))
-
669 # define GLM_INLINE __attribute__((always_inline))
-
670 # else
-
671 # define GLM_INLINE inline
-
672 # endif//GLM_COMPILER
-
673 #else
-
674 # define GLM_INLINE inline
-
675 #endif//defined(GLM_FORCE_INLINE)
-
676 
-
677 #define GLM_FUNC_DECL GLM_CUDA_FUNC_DECL
-
678 #define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE
-
679 
-
681 // Swizzle operators
-
682 
-
683 // User defines: GLM_SWIZZLE
-
684 
-
685 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_SWIZZLE_DISPLAYED))
-
686 # define GLM_MESSAGE_SWIZZLE_DISPLAYED
-
687 # if(GLM_SUPPORT_SWIZZLE_OPERATOR())
-
688 # pragma message("GLM: Swizzling operators enabled")
-
689 # elif(GLM_SUPPORT_SWIZZLE_FUNCTION())
-
690 # pragma message("GLM: Swizzling operators supported through swizzling functions")
-
691 # else
-
692 # pragma message("GLM: Swizzling operators disabled")
-
693 # endif
-
694 #endif//GLM_MESSAGE
-
695 
-
696 #endif//glm_setup
-
- - - - + + + + + + +GLM: noise.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtx/noise.hpp
+
+
+
1 
+
24 #if(defined(GLM_MESSAGES))
+
25 # pragma message("GLM: GLM_GTX_random extension is deprecated, include GLM_GTC_random (glm/gtc/noise.hpp) instead")
+
26 #endif
+
27 
+
28 // Promoted:
+
29 #include "../gtc/noise.hpp"
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00085.html glm-0.9.5.1/doc/api/a00085.html --- glm-0.9.4.6/doc/api/a00085.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00085.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,119 @@ + + + + + + +GLM: norm.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
norm.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
distance2 (T const &p0, T const &p1)
 
template<typename genType >
genType::value_type distance2 (genType const &p0, genType const &p1)
 
template<typename T , precision P>
l1Norm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename T , precision P>
l1Norm (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
l2Norm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename T , precision P>
l2Norm (detail::tvec3< T, P > const &x)
 
template<typename T >
length2 (T const &x)
 
template<typename genType >
genType::value_type length2 (genType const &x)
 
template<typename T , precision P>
lxNorm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, unsigned int Depth)
 
template<typename T , precision P>
lxNorm (detail::tvec3< T, P > const &x, unsigned int Depth)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_norm

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_quaternion (dependence)
+ +

Definition in file norm.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00085_source.html glm-0.9.5.1/doc/api/a00085_source.html --- glm-0.9.4.6/doc/api/a00085_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00085_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,241 +1,134 @@ - - - - - -simd_mat4.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
simd_mat4.hpp
-
-
-
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_simd_mat4
-
39 #define GLM_GTX_simd_mat4 GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(GLM_ARCH != GLM_ARCH_PURE)
-
45 
-
46 #if(GLM_ARCH & GLM_ARCH_SSE2)
-
47 # include "../core/intrinsic_matrix.hpp"
-
48 # include "../gtx/simd_vec4.hpp"
-
49 #else
-
50 # error "GLM: GLM_GTX_simd_mat4 requires compiler support of SSE2 through intrinsics"
-
51 #endif
-
52 
-
53 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
54 # pragma message("GLM: GLM_GTX_simd_mat4 extension included")
-
55 #endif
-
56 
-
57 namespace glm{
-
58 namespace detail
-
59 {
-
62  GLM_ALIGNED_STRUCT(16) fmat4x4SIMD
-
63  {
-
64  enum ctor{null};
-
65 
-
66  typedef float value_type;
-
67  typedef fvec4SIMD col_type;
-
68  typedef fvec4SIMD row_type;
-
69  typedef std::size_t size_type;
-
70  static size_type value_size();
-
71  static size_type col_size();
-
72  static size_type row_size();
-
73  static bool is_matrix();
-
74 
-
75  fvec4SIMD Data[4];
-
76 
-
78  // Constructors
-
79 
-
80  fmat4x4SIMD();
-
81  explicit fmat4x4SIMD(float const & s);
-
82  explicit fmat4x4SIMD(
-
83  float const & x0, float const & y0, float const & z0, float const & w0,
-
84  float const & x1, float const & y1, float const & z1, float const & w1,
-
85  float const & x2, float const & y2, float const & z2, float const & w2,
-
86  float const & x3, float const & y3, float const & z3, float const & w3);
-
87  explicit fmat4x4SIMD(
-
88  fvec4SIMD const & v0,
-
89  fvec4SIMD const & v1,
-
90  fvec4SIMD const & v2,
-
91  fvec4SIMD const & v3);
-
92  explicit fmat4x4SIMD(
-
93  tmat4x4<float> const & m);
-
94  explicit fmat4x4SIMD(
-
95  __m128 const in[4]);
-
96 
-
97  // Conversions
-
98  //template <typename U>
-
99  //explicit tmat4x4(tmat4x4<U> const & m);
-
100 
-
101  //explicit tmat4x4(tmat2x2<T> const & x);
-
102  //explicit tmat4x4(tmat3x3<T> const & x);
-
103  //explicit tmat4x4(tmat2x3<T> const & x);
-
104  //explicit tmat4x4(tmat3x2<T> const & x);
-
105  //explicit tmat4x4(tmat2x4<T> const & x);
-
106  //explicit tmat4x4(tmat4x2<T> const & x);
-
107  //explicit tmat4x4(tmat3x4<T> const & x);
-
108  //explicit tmat4x4(tmat4x3<T> const & x);
-
109 
-
110  // Accesses
-
111  fvec4SIMD & operator[](size_type i);
-
112  fvec4SIMD const & operator[](size_type i) const;
-
113 
-
114  // Unary updatable operators
-
115  fmat4x4SIMD & operator= (fmat4x4SIMD const & m);
-
116  fmat4x4SIMD & operator+= (float const & s);
-
117  fmat4x4SIMD & operator+= (fmat4x4SIMD const & m);
-
118  fmat4x4SIMD & operator-= (float const & s);
-
119  fmat4x4SIMD & operator-= (fmat4x4SIMD const & m);
-
120  fmat4x4SIMD & operator*= (float const & s);
-
121  fmat4x4SIMD & operator*= (fmat4x4SIMD const & m);
-
122  fmat4x4SIMD & operator/= (float const & s);
-
123  fmat4x4SIMD & operator/= (fmat4x4SIMD const & m);
-
124  fmat4x4SIMD & operator++ ();
-
125  fmat4x4SIMD & operator-- ();
-
126  };
-
127 
-
128  // Binary operators
-
129  fmat4x4SIMD operator+ (fmat4x4SIMD const & m, float const & s);
-
130  fmat4x4SIMD operator+ (float const & s, fmat4x4SIMD const & m);
-
131  fmat4x4SIMD operator+ (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
-
132 
-
133  fmat4x4SIMD operator- (fmat4x4SIMD const & m, float const & s);
-
134  fmat4x4SIMD operator- (float const & s, fmat4x4SIMD const & m);
-
135  fmat4x4SIMD operator- (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
-
136 
-
137  fmat4x4SIMD operator* (fmat4x4SIMD const & m, float const & s);
-
138  fmat4x4SIMD operator* (float const & s, fmat4x4SIMD const & m);
-
139 
-
140  fvec4SIMD operator* (fmat4x4SIMD const & m, fvec4SIMD const & v);
-
141  fvec4SIMD operator* (fvec4SIMD const & v, fmat4x4SIMD const & m);
-
142 
-
143  fmat4x4SIMD operator* (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
-
144 
-
145  fmat4x4SIMD operator/ (fmat4x4SIMD const & m, float const & s);
-
146  fmat4x4SIMD operator/ (float const & s, fmat4x4SIMD const & m);
-
147 
-
148  fvec4SIMD operator/ (fmat4x4SIMD const & m, fvec4SIMD const & v);
-
149  fvec4SIMD operator/ (fvec4SIMD const & v, fmat4x4SIMD const & m);
-
150 
-
151  fmat4x4SIMD operator/ (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
-
152 
-
153  // Unary constant operators
-
154  fmat4x4SIMD const operator- (fmat4x4SIMD const & m);
-
155  fmat4x4SIMD const operator-- (fmat4x4SIMD const & m, int);
-
156  fmat4x4SIMD const operator++ (fmat4x4SIMD const & m, int);
-
157 }//namespace detail
-
158 
-
159  typedef detail::fmat4x4SIMD simdMat4;
-
160 
-
163 
-
166  detail::tmat4x4<float> mat4_cast(
-
167  detail::fmat4x4SIMD const & x);
-
168 
-
172  detail::fmat4x4SIMD matrixCompMult(
-
173  detail::fmat4x4SIMD const & x,
-
174  detail::fmat4x4SIMD const & y);
-
175 
-
180  detail::fmat4x4SIMD outerProduct(
-
181  detail::fvec4SIMD const & c,
-
182  detail::fvec4SIMD const & r);
-
183 
-
186  detail::fmat4x4SIMD transpose(
-
187  detail::fmat4x4SIMD const & x);
-
188 
-
191  float determinant(
-
192  detail::fmat4x4SIMD const & m);
-
193 
-
196  detail::fmat4x4SIMD inverse(
-
197  detail::fmat4x4SIMD const & m);
-
198 
-
200 }// namespace glm
-
201 
-
202 #include "simd_mat4.inl"
-
203 
-
204 #endif//(GLM_ARCH != GLM_ARCH_PURE)
-
205 
-
206 #endif//GLM_GTX_simd_mat4
-
- - - - + + + + + + +GLM: norm.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
norm.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_norm
+
40 #define GLM_GTX_norm
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 #include "../gtx/quaternion.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_norm extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
+
54 
+
57  template <typename T>
+
58  T length2(
+
59  T const & x);
+
60 
+
63  template <typename genType>
+
64  typename genType::value_type length2(
+
65  genType const & x);
+
66 
+
69  template <typename T>
+
70  T distance2(
+
71  T const & p0,
+
72  T const & p1);
+
73 
+
76  template <typename genType>
+
77  typename genType::value_type distance2(
+
78  genType const & p0,
+
79  genType const & p1);
+
80 
+
83  template <typename T, precision P>
+
84  T l1Norm(
+
85  detail::tvec3<T, P> const & x,
+
86  detail::tvec3<T, P> const & y);
+
87 
+
90  template <typename T, precision P>
+
91  T l1Norm(
+
92  detail::tvec3<T, P> const & v);
+
93 
+
96  template <typename T, precision P>
+
97  T l2Norm(
+
98  detail::tvec3<T, P> const & x,
+
99  detail::tvec3<T, P> const & y);
+
100 
+
103  template <typename T, precision P>
+
104  T l2Norm(
+
105  detail::tvec3<T, P> const & x);
+
106 
+
109  template <typename T, precision P>
+
110  T lxNorm(
+
111  detail::tvec3<T, P> const & x,
+
112  detail::tvec3<T, P> const & y,
+
113  unsigned int Depth);
+
114 
+
117  template <typename T, precision P>
+
118  T lxNorm(
+
119  detail::tvec3<T, P> const & x,
+
120  unsigned int Depth);
+
121 
+
123 }//namespace glm
+
124 
+
125 #include "norm.inl"
+
126 
+
127 #endif//GLM_GTX_norm
+
T distance2(T const &p0, T const &p1)
Returns the squared distance between p0 and p1, i.e., length(p0 - p1).
+
T l1Norm(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
Returns the L1 norm between x and y.
+
T l2Norm(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
Returns the L2 norm between x and y.
+
T length2(T const &x)
Returns the squared length of x.
+
T lxNorm(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, unsigned int Depth)
Returns the L norm between x and y.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00086.html glm-0.9.5.1/doc/api/a00086.html --- glm-0.9.4.6/doc/api/a00086.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00086.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,69 +1,92 @@ - - - - - -simd_vec4.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
simd_vec4.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_simd_vec4

-
Date
2009-05-07 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file simd_vec4.hpp.

-
- - - - + + + + + + +GLM: normal.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
normal.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + +

+Functions

template<typename T , precision P>
detail::tvec3< T, P > triangleNormal (detail::tvec3< T, P > const &p1, detail::tvec3< T, P > const &p2, detail::tvec3< T, P > const &p3)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_normal

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_extented_min_max (dependence)
+ +

Definition in file normal.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00086_source.html glm-0.9.5.1/doc/api/a00086_source.html --- glm-0.9.4.6/doc/api/a00086_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00086_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,390 +1,88 @@ - - - - - -simd_vec4.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
simd_vec4.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_simd_vec4
-
39 #define GLM_GTX_simd_vec4 GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(GLM_ARCH != GLM_ARCH_PURE)
-
45 
-
46 #if(GLM_ARCH & GLM_ARCH_SSE2)
-
47 # include "../core/intrinsic_common.hpp"
-
48 # include "../core/intrinsic_geometric.hpp"
-
49 #else
-
50 # error "GLM: GLM_GTX_simd_vec4 requires compiler support of SSE2 through intrinsics"
-
51 #endif
-
52 
-
53 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
54 # pragma message("GLM: GLM_GTX_simd_vec4 extension included")
-
55 #endif
-
56 
-
57 
-
58 // Warning silencer for nameless struct/union.
-
59 #if (GLM_COMPILER & GLM_COMPILER_VC)
-
60 # pragma warning(push)
-
61 # pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
-
62 #endif
-
63 
-
64 
-
65 namespace glm{
-
66 namespace detail
-
67 {
-
70  GLM_ALIGNED_STRUCT(16) fvec4SIMD
-
71  {
-
72  enum ctor{null};
-
73  typedef __m128 value_type;
-
74  typedef std::size_t size_type;
-
75  static size_type value_size();
-
76 
-
77  typedef fvec4SIMD type;
-
78  typedef tvec4<bool> bool_type;
-
79 
-
80 #ifdef GLM_SIMD_ENABLE_XYZW_UNION
-
81  union
-
82  {
-
83  __m128 Data;
-
84  struct {float x, y, z, w;};
-
85  };
-
86 #else
-
87  __m128 Data;
-
88 #endif
-
89 
-
91  // Implicit basic constructors
-
92 
-
93  fvec4SIMD();
-
94  fvec4SIMD(__m128 const & Data);
-
95  fvec4SIMD(fvec4SIMD const & v);
-
96 
-
98  // Explicit basic constructors
-
99 
-
100  explicit fvec4SIMD(
-
101  ctor);
-
102  explicit fvec4SIMD(
-
103  float const & s);
-
104  explicit fvec4SIMD(
-
105  float const & x,
-
106  float const & y,
-
107  float const & z,
-
108  float const & w);
-
109  explicit fvec4SIMD(
-
110  tvec4<float> const & v);
-
111 
-
114 
-
115  fvec4SIMD(vec2 const & v, float const & s1, float const & s2);
-
116  fvec4SIMD(float const & s1, vec2 const & v, float const & s2);
-
117  fvec4SIMD(float const & s1, float const & s2, vec2 const & v);
-
118  fvec4SIMD(vec3 const & v, float const & s);
-
119  fvec4SIMD(float const & s, vec3 const & v);
-
120  fvec4SIMD(vec2 const & v1, vec2 const & v2);
-
121  //fvec4SIMD(ivec4SIMD const & v);
-
122 
-
124  // Unary arithmetic operators
-
125 
-
126  fvec4SIMD& operator= (fvec4SIMD const & v);
-
127  fvec4SIMD& operator+=(fvec4SIMD const & v);
-
128  fvec4SIMD& operator-=(fvec4SIMD const & v);
-
129  fvec4SIMD& operator*=(fvec4SIMD const & v);
-
130  fvec4SIMD& operator/=(fvec4SIMD const & v);
-
131 
-
132  fvec4SIMD& operator+=(float const & s);
-
133  fvec4SIMD& operator-=(float const & s);
-
134  fvec4SIMD& operator*=(float const & s);
-
135  fvec4SIMD& operator/=(float const & s);
-
136 
-
137  fvec4SIMD& operator++();
-
138  fvec4SIMD& operator--();
-
139 
-
141  // Swizzle operators
-
142 
-
143  template <comp X, comp Y, comp Z, comp W>
-
144  fvec4SIMD& swizzle();
-
145  template <comp X, comp Y, comp Z, comp W>
-
146  fvec4SIMD swizzle() const;
-
147  template <comp X, comp Y, comp Z>
-
148  fvec4SIMD swizzle() const;
-
149  template <comp X, comp Y>
-
150  fvec4SIMD swizzle() const;
-
151  template <comp X>
-
152  fvec4SIMD swizzle() const;
-
153  };
-
154 }//namespace detail
-
155 
-
156  typedef glm::detail::fvec4SIMD simdVec4;
-
157 
-
160 
-
163  detail::tvec4<float> vec4_cast(
-
164  detail::fvec4SIMD const & x);
-
165 
-
168  detail::fvec4SIMD abs(detail::fvec4SIMD const & x);
-
169 
-
172  detail::fvec4SIMD sign(detail::fvec4SIMD const & x);
-
173 
-
176  detail::fvec4SIMD floor(detail::fvec4SIMD const & x);
-
177 
-
181  detail::fvec4SIMD trunc(detail::fvec4SIMD const & x);
-
182 
-
189  detail::fvec4SIMD round(detail::fvec4SIMD const & x);
-
190 
-
195  //detail::fvec4SIMD roundEven(detail::fvec4SIMD const & x);
-
196 
-
200  detail::fvec4SIMD ceil(detail::fvec4SIMD const & x);
-
201 
-
204  detail::fvec4SIMD fract(detail::fvec4SIMD const & x);
-
205 
-
209  detail::fvec4SIMD mod(
-
210  detail::fvec4SIMD const & x,
-
211  detail::fvec4SIMD const & y);
-
212 
-
216  detail::fvec4SIMD mod(
-
217  detail::fvec4SIMD const & x,
-
218  float const & y);
-
219 
-
225  //detail::fvec4SIMD modf(
-
226  // detail::fvec4SIMD const & x,
-
227  // detail::fvec4SIMD & i);
-
228 
-
231  detail::fvec4SIMD min(
-
232  detail::fvec4SIMD const & x,
-
233  detail::fvec4SIMD const & y);
-
234 
-
235  detail::fvec4SIMD min(
-
236  detail::fvec4SIMD const & x,
-
237  float const & y);
-
238 
-
241  detail::fvec4SIMD max(
-
242  detail::fvec4SIMD const & x,
-
243  detail::fvec4SIMD const & y);
-
244 
-
245  detail::fvec4SIMD max(
-
246  detail::fvec4SIMD const & x,
-
247  float const & y);
-
248 
-
252  detail::fvec4SIMD clamp(
-
253  detail::fvec4SIMD const & x,
-
254  detail::fvec4SIMD const & minVal,
-
255  detail::fvec4SIMD const & maxVal);
-
256 
-
257  detail::fvec4SIMD clamp(
-
258  detail::fvec4SIMD const & x,
-
259  float const & minVal,
-
260  float const & maxVal);
-
261 
-
285  // \todo Test when 'a' is a boolean.
-
287  detail::fvec4SIMD mix(
-
288  detail::fvec4SIMD const & x,
-
289  detail::fvec4SIMD const & y,
-
290  detail::fvec4SIMD const & a);
-
291 
-
294  detail::fvec4SIMD step(
-
295  detail::fvec4SIMD const & edge,
-
296  detail::fvec4SIMD const & x);
-
297 
-
298  detail::fvec4SIMD step(
-
299  float const & edge,
-
300  detail::fvec4SIMD const & x);
-
301 
-
312  detail::fvec4SIMD smoothstep(
-
313  detail::fvec4SIMD const & edge0,
-
314  detail::fvec4SIMD const & edge1,
-
315  detail::fvec4SIMD const & x);
-
316 
-
317  detail::fvec4SIMD smoothstep(
-
318  float const & edge0,
-
319  float const & edge1,
-
320  detail::fvec4SIMD const & x);
-
321 
-
328  //bvec4 isnan(detail::fvec4SIMD const & x);
-
329 
-
336  //bvec4 isinf(detail::fvec4SIMD const & x);
-
337 
-
342  //detail::ivec4SIMD floatBitsToInt(detail::fvec4SIMD const & value);
-
343 
-
350  //detail::fvec4SIMD intBitsToFloat(detail::ivec4SIMD const & value);
-
351 
-
354  detail::fvec4SIMD fma(
-
355  detail::fvec4SIMD const & a,
-
356  detail::fvec4SIMD const & b,
-
357  detail::fvec4SIMD const & c);
-
358 
-
368  //detail::fvec4SIMD frexp(detail::fvec4SIMD const & x, detail::ivec4SIMD & exp);
-
369 
-
376  //detail::fvec4SIMD ldexp(detail::fvec4SIMD const & x, detail::ivec4SIMD const & exp);
-
377 
-
380  float length(
-
381  detail::fvec4SIMD const & x);
-
382 
-
386  float fastLength(
-
387  detail::fvec4SIMD const & x);
-
388 
-
392  float niceLength(
-
393  detail::fvec4SIMD const & x);
-
394 
-
397  detail::fvec4SIMD length4(
-
398  detail::fvec4SIMD const & x);
-
399 
-
403  detail::fvec4SIMD fastLength4(
-
404  detail::fvec4SIMD const & x);
-
405 
-
409  detail::fvec4SIMD niceLength4(
-
410  detail::fvec4SIMD const & x);
-
411 
-
414  float distance(
-
415  detail::fvec4SIMD const & p0,
-
416  detail::fvec4SIMD const & p1);
-
417 
-
420  detail::fvec4SIMD distance4(
-
421  detail::fvec4SIMD const & p0,
-
422  detail::fvec4SIMD const & p1);
-
423 
-
426  float simdDot(
-
427  detail::fvec4SIMD const & x,
-
428  detail::fvec4SIMD const & y);
-
429 
-
432  detail::fvec4SIMD dot4(
-
433  detail::fvec4SIMD const & x,
-
434  detail::fvec4SIMD const & y);
-
435 
-
438  detail::fvec4SIMD cross(
-
439  detail::fvec4SIMD const & x,
-
440  detail::fvec4SIMD const & y);
-
441 
-
444  detail::fvec4SIMD normalize(
-
445  detail::fvec4SIMD const & x);
-
446 
-
450  detail::fvec4SIMD fastNormalize(
-
451  detail::fvec4SIMD const & x);
-
452 
-
455  detail::fvec4SIMD simdFaceforward(
-
456  detail::fvec4SIMD const & N,
-
457  detail::fvec4SIMD const & I,
-
458  detail::fvec4SIMD const & Nref);
-
459 
-
463  detail::fvec4SIMD reflect(
-
464  detail::fvec4SIMD const & I,
-
465  detail::fvec4SIMD const & N);
-
466 
-
471  detail::fvec4SIMD refract(
-
472  detail::fvec4SIMD const & I,
-
473  detail::fvec4SIMD const & N,
-
474  float const & eta);
-
475 
-
478  detail::fvec4SIMD sqrt(
-
479  detail::fvec4SIMD const & x);
-
480 
-
484  detail::fvec4SIMD niceSqrt(
-
485  detail::fvec4SIMD const & x);
-
486 
-
490  detail::fvec4SIMD fastSqrt(
-
491  detail::fvec4SIMD const & x);
-
492 
-
495  detail::fvec4SIMD inversesqrt(
-
496  detail::fvec4SIMD const & x);
-
497 
-
501  detail::fvec4SIMD fastInversesqrt(
-
502  detail::fvec4SIMD const & x);
-
503 
-
505 }//namespace glm
-
506 
-
507 #include "simd_vec4.inl"
-
508 
-
509 
-
510 #if (GLM_COMPILER & GLM_COMPILER_VC)
-
511 # pragma warning(pop)
-
512 #endif
-
513 
-
514 
-
515 #endif//(GLM_ARCH != GLM_ARCH_PURE)
-
516 
-
517 #endif//GLM_GTX_simd_vec4
-
- - - - + + + + + + +GLM: normal.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
normal.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_normal
+
40 #define GLM_GTX_normal
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_normal extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  template <typename T, precision P>
+
57  detail::tvec3<T, P> triangleNormal(
+
58  detail::tvec3<T, P> const & p1,
+
59  detail::tvec3<T, P> const & p2,
+
60  detail::tvec3<T, P> const & p3);
+
61 
+
63 }//namespace glm
+
64 
+
65 #include "normal.inl"
+
66 
+
67 #endif//GLM_GTX_normal
+
detail::tvec3< T, P > triangleNormal(detail::tvec3< T, P > const &p1, detail::tvec3< T, P > const &p2, detail::tvec3< T, P > const &p3)
Computes triangle normal from triangle points.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00087.html glm-0.9.5.1/doc/api/a00087.html --- glm-0.9.4.6/doc/api/a00087.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00087.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,84 +1,95 @@ - - - - - -spline.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
spline.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - -

-Functions

template<typename genType >
genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_spline

-
Date
2007-01-25 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file spline.hpp.

-
- - - - + + + + + + +GLM: normalize_dot.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
normalize_dot.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + +

+Functions

template<typename genType >
genType::value_type fastNormalizeDot (genType const &x, genType const &y)
 
template<typename genType >
genType::value_type normalizeDot (genType const &x, genType const &y)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_normalize_dot

+
Date
2007-09-28 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_fast_square_root (dependence)
+ +

Definition in file normalize_dot.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00087_source.html glm-0.9.5.1/doc/api/a00087_source.html --- glm-0.9.4.6/doc/api/a00087_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00087_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,137 +1,94 @@ - - - - - -spline.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
spline.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_spline
-
39 #define GLM_GTX_spline GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 #include "../gtx/optimum_pow.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTX_spline extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename genType>
-
57  genType catmullRom(
-
58  genType const & v1,
-
59  genType const & v2,
-
60  genType const & v3,
-
61  genType const & v4,
-
62  typename genType::value_type const & s);
-
63 
-
66  template <typename genType>
-
67  genType hermite(
-
68  genType const & v1,
-
69  genType const & t1,
-
70  genType const & v2,
-
71  genType const & t2,
-
72  typename genType::value_type const & s);
-
73 
-
76  template <typename genType>
-
77  genType cubic(
-
78  genType const & v1,
-
79  genType const & v2,
-
80  genType const & v3,
-
81  genType const & v4,
-
82  typename genType::value_type const & s);
-
83 
-
85 }//namespace glm
-
86 
-
87 #include "spline.inl"
-
88 
-
89 #endif//GLM_GTX_spline
-
90 
-
- - - - + + + + + + +GLM: normalize_dot.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
normalize_dot.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_normalize_dot
+
40 #define GLM_GTX_normalize_dot
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 #include "../gtx/fast_square_root.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_normalize_dot extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
+
54 
+
58  template <typename genType>
+
59  typename genType::value_type normalizeDot(
+
60  genType const & x,
+
61  genType const & y);
+
62 
+
66  template <typename genType>
+
67  typename genType::value_type fastNormalizeDot(
+
68  genType const & x,
+
69  genType const & y);
+
70 
+
72 }//namespace glm
+
73 
+
74 #include "normalize_dot.inl"
+
75 
+
76 #endif//GLM_GTX_normalize_dot
+
genType::value_type fastNormalizeDot(genType const &x, genType const &y)
Normalize parameters and returns the dot product of x and y.
+
genType::value_type normalizeDot(genType const &x, genType const &y)
Normalize parameters and returns the dot product of x and y.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00088.html glm-0.9.5.1/doc/api/a00088.html --- glm-0.9.4.6/doc/api/a00088.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00088.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,95 +1,121 @@ - - - - - -std_based_type.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
std_based_type.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Typedefs

typedef detail::tvec2
-< std::size_t > 
size2
 
typedef detail::tvec2
-< std::size_t > 
size2_t
 
typedef detail::tvec3
-< std::size_t > 
size3
 
typedef detail::tvec3
-< std::size_t > 
size3_t
 
typedef detail::tvec4
-< std::size_t > 
size4
 
typedef detail::tvec4
-< std::size_t > 
size4_t
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_std_based_type

-
Date
2008-06-08 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_extented_min_max (dependence)
- -

Definition in file std_based_type.hpp.

-
- - - - + + + + + + +GLM: number_precision.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
number_precision.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + +

+Typedefs

+typedef f32 f32mat1
 
+typedef f32 f32mat1x1
 
+typedef f32 f32vec1
 
+typedef f64 f64mat1
 
+typedef f64 f64mat1x1
 
+typedef f64 f64vec1
 
+typedef u16 u16vec1
 
+typedef u32 u32vec1
 
+typedef u64 u64vec1
 
+typedef u8 u8vec1
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_number_precision

+
Date
2007-05-10 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTC_type_precision (dependence)
+
+GLM_GTC_quaternion (dependence)
+ +

Definition in file number_precision.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00088_source.html glm-0.9.5.1/doc/api/a00088_source.html --- glm-0.9.4.6/doc/api/a00088_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00088_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,124 +1,119 @@ - - - - - -std_based_type.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
std_based_type.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_std_based_type
-
39 #define GLM_GTX_std_based_type GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 #include <cstdlib>
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTX_std_based_type extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  typedef detail::tvec2<std::size_t> size2;
-
57 
-
60  typedef detail::tvec3<std::size_t> size3;
-
61 
-
64  typedef detail::tvec4<std::size_t> size4;
-
65 
-
68  typedef detail::tvec2<std::size_t> size2_t;
-
69 
-
72  typedef detail::tvec3<std::size_t> size3_t;
-
73 
-
76  typedef detail::tvec4<std::size_t> size4_t;
-
77 
-
79 }//namespace glm
-
80 
-
81 #include "std_based_type.inl"
-
82 
-
83 #endif//GLM_GTX_std_based_type
-
- - - - + + + + + + +GLM: number_precision.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
number_precision.hpp
+
+
+Go to the documentation of this file.
1 
+
40 #ifndef GLM_GTX_number_precision
+
41 #define GLM_GTX_number_precision
+
42 
+
43 // Dependency:
+
44 #include "../glm.hpp"
+
45 #include "../gtc/type_precision.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTX_number_precision extension included")
+
49 #endif
+
50 
+
51 namespace glm{
+
52 namespace gtx
+
53 {
+
55  // Unsigned int vector types
+
56 
+
59 
+
60  typedef u8 u8vec1;
+
61  typedef u16 u16vec1;
+
62  typedef u32 u32vec1;
+
63  typedef u64 u64vec1;
+
64 
+
66  // Float vector types
+
67 
+
68  typedef f32 f32vec1;
+
69  typedef f64 f64vec1;
+
70 
+
72  // Float matrix types
+
73 
+
74  typedef f32 f32mat1;
+
75  typedef f32 f32mat1x1;
+
76  typedef f64 f64mat1;
+
77  typedef f64 f64mat1x1;
+
78 
+
80 }//namespace gtx
+
81 }//namespace glm
+
82 
+
83 #include "number_precision.inl"
+
84 
+
85 #endif//GLM_GTX_number_precision
+
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1071
+
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1309
+
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1523
+
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:911
+
f32 f32mat1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
+
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2530
+
f64 f64mat1x1
Double-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
+
f64 f64mat1
Double-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
+
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:923
+
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:919
+
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2423
+
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:991
+
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1527
+
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1150
+
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:915
+
f32 f32mat1x1
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension) ...
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00089.html glm-0.9.5.1/doc/api/a00089.html --- glm-0.9.4.6/doc/api/a00089.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00089.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,84 +1,107 @@ - - - - - -string_cast.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
string_cast.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - -

-Functions

template<typename genType >
std::string to_string (genType const &x)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_string_cast

-
Date
2008-04-26 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_half_float (dependence)
-
-GLM_GTX_integer (dependence)
-
-GLM_GTX_quaternion (dependence)
- -

Definition in file string_cast.hpp.

-
- - - - + + + + + + +GLM: optimum_pow.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
optimum_pow.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
genType pow2 (const genType &x)
 
template<typename genType >
genType pow3 (const genType &x)
 
template<typename genType >
genType pow4 (const genType &x)
 
bool powOfTwo (int num)
 
template<precision P>
detail::tvec2< bool, P > powOfTwo (detail::tvec2< int, P > const &x)
 
template<precision P>
detail::tvec3< bool, P > powOfTwo (detail::tvec3< int, P > const &x)
 
template<precision P>
detail::tvec4< bool, P > powOfTwo (detail::tvec4< int, P > const &x)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_optimum_pow

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file optimum_pow.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00089_source.html glm-0.9.5.1/doc/api/a00089_source.html --- glm-0.9.4.6/doc/api/a00089_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00089_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,121 +1,107 @@ - - - - - -string_cast.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
string_cast.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 
-
41 #ifndef GLM_GTX_string_cast
-
42 #define GLM_GTX_string_cast GLM_VERSION
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 #include "../gtc/half_float.hpp"
-
47 #include "../gtx/integer.hpp"
-
48 #include "../gtx/quaternion.hpp"
-
49 #include <string>
-
50 
-
51 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
52 # pragma message("GLM: GLM_GTX_string_cast extension included")
-
53 #endif
-
54 
-
55 namespace glm
-
56 {
-
59 
-
62  template <typename genType>
-
63  std::string to_string(genType const & x);
-
64 
-
66 }//namespace glm
-
67 
-
68 #include "string_cast.inl"
-
69 
-
70 #endif//GLM_GTX_string_cast
-
- - - - + + + + + + +GLM: optimum_pow.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
optimum_pow.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_optimum_pow
+
39 #define GLM_GTX_optimum_pow
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_optimum_pow extension included")
+
46 #endif
+
47 
+
48 namespace glm{
+
49 namespace gtx
+
50 {
+
53 
+
56  template <typename genType>
+
57  genType pow2(const genType& x);
+
58 
+
61  template <typename genType>
+
62  genType pow3(const genType& x);
+
63 
+
66  template <typename genType>
+
67  genType pow4(const genType& x);
+
68 
+
71  bool powOfTwo(int num);
+
72 
+
75  template <precision P>
+
76  detail::tvec2<bool, P> powOfTwo(detail::tvec2<int, P> const & x);
+
77 
+
80  template <precision P>
+
81  detail::tvec3<bool, P> powOfTwo(detail::tvec3<int, P> const & x);
+
82 
+
85  template <precision P>
+
86  detail::tvec4<bool, P> powOfTwo(detail::tvec4<int, P> const & x);
+
87 
+
89 }//namespace gtx
+
90 }//namespace glm
+
91 
+
92 #include "optimum_pow.inl"
+
93 
+
94 #endif//GLM_GTX_optimum_pow
+
genType pow3(const genType &x)
Returns x raised to the power of 3.
+
genType pow4(const genType &x)
Returns x raised to the power of 4.
+
genType pow2(const genType &x)
Returns x raised to the power of 2.
+
bool powOfTwo(int num)
Checks if the parameter is a power of 2 number.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00090.html glm-0.9.5.1/doc/api/a00090.html --- glm-0.9.4.6/doc/api/a00090.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00090.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,69 +1,95 @@ - - - - - -swizzle.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
swizzle.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_swizzle

-
Date
2010-02-20 / 2011-06-05
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file swizzle.hpp.

-
- - - - + + + + + + +GLM: orthonormalize.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
orthonormalize.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat3x3< T, P > orthonormalize (const detail::tmat3x3< T, P > &m)
 
template<typename T , precision P>
detail::tvec3< T, P > orthonormalize (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_orthonormalize

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_extented_min_max (dependence)
+ +

Definition in file orthonormalize.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00090_source.html glm-0.9.5.1/doc/api/a00090_source.html --- glm-0.9.4.6/doc/api/a00090_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00090_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,428 +1,91 @@ - - - - - -swizzle.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
swizzle.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTC_swizzle
-
39 #define GLM_GTC_swizzle GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 #include "../gtc/type_precision.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTC_swizzle extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
54  template <typename T, template <typename> class vecType>
-
55  T const & swizzle(
-
56  vecType<T> const & v,
-
57  comp x);
-
58 
-
59  template <typename T, template <typename> class vecType>
-
60  detail::tvec2<T> const & swizzle(
-
61  vecType<T> const & v,
-
62  comp x, comp y);
-
63 
-
64  template <typename T, template <typename> class vecType>
-
65  detail::tvec3<T> const & swizzle(
-
66  vecType<T> const & v,
-
67  comp x, comp y, comp z);
-
68 
-
69  template <typename T, template <typename> class vecType>
-
70  detail::tvec4<T> const & swizzle(
-
71  vecType<T> const & v,
-
72  comp x, comp y, comp z, comp w);
-
73 
-
74  template <typename T, template <typename> class vecType>
-
75  T & swizzle(
-
76  vecType<T> & v,
-
77  comp x);
-
78 
-
79  template <typename T, template <typename> class vecType>
-
80  detail::tref2<T> swizzle(
-
81  vecType<T> & v,
-
82  comp x, comp y);
-
83 
-
84  template <typename T, template <typename> class vecType>
-
85  detail::tref3<T> swizzle(
-
86  vecType<T> & v,
-
87  comp x, comp y, comp z);
-
88 
-
89  template <typename T, template <typename> class vecType>
-
90  detail::tref4<T> swizzle(
-
91  vecType<T> & v,
-
92  comp x, comp y, comp z, comp w);
-
93 
-
94 # define static_swizzle1_const(TYPE, SIZE) \
-
95  template <comp x> \
-
96  GLM_FUNC_QUALIFIER TYPE swizzle(detail::tvec##SIZE<TYPE> const & v) \
-
97  {return v[x];}
-
98 
-
99 # define static_swizzle1_ref(TYPE, SIZE) \
-
100  template <comp x> \
-
101  GLM_FUNC_QUALIFIER TYPE& swizzle(detail::tvec##SIZE<TYPE> & v) \
-
102  {return v[x];}
-
103 
-
104  static_swizzle1_ref(detail::float16, 2)
-
105  static_swizzle1_ref(detail::float16, 3)
-
106  static_swizzle1_ref(detail::float16, 4)
-
107  static_swizzle1_ref(detail::float32, 2)
-
108  static_swizzle1_ref(detail::float32, 3)
-
109  static_swizzle1_ref(detail::float32, 4)
-
110  static_swizzle1_ref(detail::float64, 2)
-
111  static_swizzle1_ref(detail::float64, 3)
-
112  static_swizzle1_ref(detail::float64, 4)
-
113 
-
114  static_swizzle1_ref(detail::int8, 2)
-
115  static_swizzle1_ref(detail::int8, 3)
-
116  static_swizzle1_ref(detail::int8, 4)
-
117  static_swizzle1_ref(detail::int16, 2)
-
118  static_swizzle1_ref(detail::int16, 3)
-
119  static_swizzle1_ref(detail::int16, 4)
-
120  static_swizzle1_ref(detail::int32, 2)
-
121  static_swizzle1_ref(detail::int32, 3)
-
122  static_swizzle1_ref(detail::int32, 4)
-
123  static_swizzle1_ref(detail::int64, 2)
-
124  static_swizzle1_ref(detail::int64, 3)
-
125  static_swizzle1_ref(detail::int64, 4)
-
126 
-
127  static_swizzle1_ref(detail::uint8, 2)
-
128  static_swizzle1_ref(detail::uint8, 3)
-
129  static_swizzle1_ref(detail::uint8, 4)
-
130  static_swizzle1_ref(detail::uint16, 2)
-
131  static_swizzle1_ref(detail::uint16, 3)
-
132  static_swizzle1_ref(detail::uint16, 4)
-
133  static_swizzle1_ref(detail::uint32, 2)
-
134  static_swizzle1_ref(detail::uint32, 3)
-
135  static_swizzle1_ref(detail::uint32, 4)
-
136  static_swizzle1_ref(detail::uint64, 2)
-
137  static_swizzle1_ref(detail::uint64, 3)
-
138  static_swizzle1_ref(detail::uint64, 4)
-
139 /*
-
140 # define static_swizzle2_const(TYPE) \
-
141  template <comp x, comp y> \
-
142  GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
-
143  {return TYPE(v[x], v[y]);}
-
144 
-
145 # define static_swizzle3_const(TYPE) \
-
146  template <comp x, comp y, comp z> \
-
147  GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
-
148  {return TYPE(v[x], v[y], v[z]);}
-
149 
-
150 # define static_swizzle4_const(TYPE) \
-
151  template <comp x, comp y, comp z, comp w> \
-
152  GLM_FUNC_QUALIFIER TYPE swizzle(TYPE const & v) \
-
153  {return TYPE(v[x], v[y], v[z], v[w]);}
-
154 */
-
155 
-
156 # define static_swizzle2_const(TYPE, SIZE) \
-
157  template <comp x, comp y> \
-
158  GLM_FUNC_QUALIFIER detail::tvec2<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
-
159  {return detail::tvec2<TYPE>(v[x], v[y]);}
-
160 
-
161 # define static_swizzle3_const(TYPE, SIZE) \
-
162  template <comp x, comp y, comp z> \
-
163  GLM_FUNC_QUALIFIER detail::tvec3<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
-
164  {return detail::tvec3<TYPE>(v[x], v[y], v[z]);}
-
165 
-
166 # define static_swizzle4_const(TYPE, SIZE) \
-
167  template <comp x, comp y, comp z, comp w> \
-
168  GLM_FUNC_QUALIFIER detail::tvec4<TYPE> swizzle(detail::tvec##SIZE<TYPE> const & v) \
-
169  {return detail::tvec4<TYPE>(v[x], v[y], v[z], v[w]);}
-
170 
-
171 
-
172  static_swizzle2_const(glm::f16, 2)
-
173  static_swizzle2_const(glm::f16, 3)
-
174  static_swizzle2_const(glm::f16, 4)
-
175  static_swizzle2_const(glm::f32, 2)
-
176  static_swizzle2_const(glm::f32, 3)
-
177  static_swizzle2_const(glm::f32, 4)
-
178  static_swizzle2_const(glm::f64, 2)
-
179  static_swizzle2_const(glm::f64, 3)
-
180  static_swizzle2_const(glm::f64, 4)
-
181 
-
182  static_swizzle2_const(glm::i8, 2)
-
183  static_swizzle2_const(glm::i8, 3)
-
184  static_swizzle2_const(glm::i8, 4)
-
185  static_swizzle2_const(glm::i16, 2)
-
186  static_swizzle2_const(glm::i16, 3)
-
187  static_swizzle2_const(glm::i16, 4)
-
188  static_swizzle2_const(glm::i32, 2)
-
189  static_swizzle2_const(glm::i32, 3)
-
190  static_swizzle2_const(glm::i32, 4)
-
191  static_swizzle2_const(glm::i64, 2)
-
192  static_swizzle2_const(glm::i64, 3)
-
193  static_swizzle2_const(glm::i64, 4)
-
194 
-
195  static_swizzle2_const(glm::u8, 2)
-
196  static_swizzle2_const(glm::u8, 3)
-
197  static_swizzle2_const(glm::u8, 4)
-
198  static_swizzle2_const(glm::u16, 2)
-
199  static_swizzle2_const(glm::u16, 3)
-
200  static_swizzle2_const(glm::u16, 4)
-
201  static_swizzle2_const(glm::u32, 2)
-
202  static_swizzle2_const(glm::u32, 3)
-
203  static_swizzle2_const(glm::u32, 4)
-
204  static_swizzle2_const(glm::u64, 2)
-
205  static_swizzle2_const(glm::u64, 3)
-
206  static_swizzle2_const(glm::u64, 4)
-
207 
-
208  static_swizzle3_const(glm::f16, 2)
-
209  static_swizzle3_const(glm::f16, 3)
-
210  static_swizzle3_const(glm::f16, 4)
-
211  static_swizzle3_const(glm::f32, 2)
-
212  static_swizzle3_const(glm::f32, 3)
-
213  static_swizzle3_const(glm::f32, 4)
-
214  static_swizzle3_const(glm::f64, 2)
-
215  static_swizzle3_const(glm::f64, 3)
-
216  static_swizzle3_const(glm::f64, 4)
-
217 
-
218  static_swizzle3_const(glm::i8, 2)
-
219  static_swizzle3_const(glm::i8, 3)
-
220  static_swizzle3_const(glm::i8, 4)
-
221  static_swizzle3_const(glm::i16, 2)
-
222  static_swizzle3_const(glm::i16, 3)
-
223  static_swizzle3_const(glm::i16, 4)
-
224  static_swizzle3_const(glm::i32, 2)
-
225  static_swizzle3_const(glm::i32, 3)
-
226  static_swizzle3_const(glm::i32, 4)
-
227  static_swizzle3_const(glm::i64, 2)
-
228  static_swizzle3_const(glm::i64, 3)
-
229  static_swizzle3_const(glm::i64, 4)
-
230 
-
231  static_swizzle3_const(glm::u8, 2)
-
232  static_swizzle3_const(glm::u8, 3)
-
233  static_swizzle3_const(glm::u8, 4)
-
234  static_swizzle3_const(glm::u16, 2)
-
235  static_swizzle3_const(glm::u16, 3)
-
236  static_swizzle3_const(glm::u16, 4)
-
237  static_swizzle3_const(glm::u32, 2)
-
238  static_swizzle3_const(glm::u32, 3)
-
239  static_swizzle3_const(glm::u32, 4)
-
240  static_swizzle3_const(glm::u64, 2)
-
241  static_swizzle3_const(glm::u64, 3)
-
242  static_swizzle3_const(glm::u64, 4)
-
243 
-
244  static_swizzle4_const(glm::f16, 2)
-
245  static_swizzle4_const(glm::f16, 3)
-
246  static_swizzle4_const(glm::f16, 4)
-
247  static_swizzle4_const(glm::f32, 2)
-
248  static_swizzle4_const(glm::f32, 3)
-
249  static_swizzle4_const(glm::f32, 4)
-
250  static_swizzle4_const(glm::f64, 2)
-
251  static_swizzle4_const(glm::f64, 3)
-
252  static_swizzle4_const(glm::f64, 4)
-
253 
-
254  static_swizzle4_const(glm::i8, 2)
-
255  static_swizzle4_const(glm::i8, 3)
-
256  static_swizzle4_const(glm::i8, 4)
-
257  static_swizzle4_const(glm::i16, 2)
-
258  static_swizzle4_const(glm::i16, 3)
-
259  static_swizzle4_const(glm::i16, 4)
-
260  static_swizzle4_const(glm::i32, 2)
-
261  static_swizzle4_const(glm::i32, 3)
-
262  static_swizzle4_const(glm::i32, 4)
-
263  static_swizzle4_const(glm::i64, 2)
-
264  static_swizzle4_const(glm::i64, 3)
-
265  static_swizzle4_const(glm::i64, 4)
-
266 
-
267  static_swizzle4_const(glm::u8, 2)
-
268  static_swizzle4_const(glm::u8, 3)
-
269  static_swizzle4_const(glm::u8, 4)
-
270  static_swizzle4_const(glm::u16, 2)
-
271  static_swizzle4_const(glm::u16, 3)
-
272  static_swizzle4_const(glm::u16, 4)
-
273  static_swizzle4_const(glm::u32, 2)
-
274  static_swizzle4_const(glm::u32, 3)
-
275  static_swizzle4_const(glm::u32, 4)
-
276  static_swizzle4_const(glm::u64, 2)
-
277  static_swizzle4_const(glm::u64, 3)
-
278  static_swizzle4_const(glm::u64, 4)
-
279 
-
280 # define static_swizzle2_ref(TYPE, SIZE) \
-
281  template <glm::comp x, glm::comp y> \
-
282  GLM_FUNC_QUALIFIER glm::detail::tref2<TYPE> swizzle(detail::tvec##SIZE<TYPE> & v) \
-
283  {return glm::detail::tref2<TYPE>(v[x], v[y]);}
-
284 
-
285 # define static_swizzle3_ref(TYPE, SIZE) \
-
286  template <glm::comp x, glm::comp y, glm::comp z> \
-
287  GLM_FUNC_QUALIFIER glm::detail::tref3<TYPE> swizzle(detail::tvec##SIZE<TYPE> & v) \
-
288  {return glm::detail::tref3<TYPE>(v[x], v[y], v[z]);}
-
289 
-
290 # define static_swizzle4_ref(TYPE, SIZE) \
-
291  template <glm::comp x, glm::comp y, glm::comp z, glm::comp w> \
-
292  GLM_FUNC_QUALIFIER glm::detail::tref4<TYPE> swizzle(detail::tvec##SIZE<TYPE> & v) \
-
293  {return glm::detail::tref4<TYPE>(v[x], v[y], v[z], v[w]);}
-
294 
-
295  static_swizzle2_ref(glm::f16, 2)
-
296  static_swizzle2_ref(glm::f16, 3)
-
297  static_swizzle2_ref(glm::f16, 4)
-
298  static_swizzle2_ref(glm::f32, 2)
-
299  static_swizzle2_ref(glm::f32, 3)
-
300  static_swizzle2_ref(glm::f32, 4)
-
301  static_swizzle2_ref(glm::f64, 2)
-
302  static_swizzle2_ref(glm::f64, 3)
-
303  static_swizzle2_ref(glm::f64, 4)
-
304 
-
305  static_swizzle2_ref(glm::i8, 2)
-
306  static_swizzle2_ref(glm::i8, 3)
-
307  static_swizzle2_ref(glm::i8, 4)
-
308  static_swizzle2_ref(glm::i16, 2)
-
309  static_swizzle2_ref(glm::i16, 3)
-
310  static_swizzle2_ref(glm::i16, 4)
-
311  static_swizzle2_ref(glm::i32, 2)
-
312  static_swizzle2_ref(glm::i32, 3)
-
313  static_swizzle2_ref(glm::i32, 4)
-
314  static_swizzle2_ref(glm::i64, 2)
-
315  static_swizzle2_ref(glm::i64, 3)
-
316  static_swizzle2_ref(glm::i64, 4)
-
317 
-
318  static_swizzle2_ref(glm::u8, 2)
-
319  static_swizzle2_ref(glm::u8, 3)
-
320  static_swizzle2_ref(glm::u8, 4)
-
321  static_swizzle2_ref(glm::u16, 2)
-
322  static_swizzle2_ref(glm::u16, 3)
-
323  static_swizzle2_ref(glm::u16, 4)
-
324  static_swizzle2_ref(glm::u32, 2)
-
325  static_swizzle2_ref(glm::u32, 3)
-
326  static_swizzle2_ref(glm::u32, 4)
-
327  static_swizzle2_ref(glm::u64, 2)
-
328  static_swizzle2_ref(glm::u64, 3)
-
329  static_swizzle2_ref(glm::u64, 4)
-
330 
-
331  static_swizzle3_ref(glm::f16, 3)
-
332  static_swizzle3_ref(glm::f16, 4)
-
333  static_swizzle3_ref(glm::f32, 3)
-
334  static_swizzle3_ref(glm::f32, 4)
-
335  static_swizzle3_ref(glm::f64, 3)
-
336  static_swizzle3_ref(glm::f64, 4)
-
337 
-
338  static_swizzle3_ref(glm::i8, 3)
-
339  static_swizzle3_ref(glm::i8, 4)
-
340  static_swizzle3_ref(glm::i16, 3)
-
341  static_swizzle3_ref(glm::i16, 4)
-
342  static_swizzle3_ref(glm::i32, 3)
-
343  static_swizzle3_ref(glm::i32, 4)
-
344  static_swizzle3_ref(glm::i64, 3)
-
345  static_swizzle3_ref(glm::i64, 4)
-
346 
-
347  static_swizzle3_ref(glm::u8, 3)
-
348  static_swizzle3_ref(glm::u8, 4)
-
349  static_swizzle3_ref(glm::u16, 3)
-
350  static_swizzle3_ref(glm::u16, 4)
-
351  static_swizzle3_ref(glm::u32, 3)
-
352  static_swizzle3_ref(glm::u32, 4)
-
353  static_swizzle3_ref(glm::u64, 3)
-
354  static_swizzle3_ref(glm::u64, 4)
-
355 
-
356  static_swizzle4_ref(glm::f16, 4)
-
357  static_swizzle4_ref(glm::f32, 4)
-
358  static_swizzle4_ref(glm::f64, 4)
-
359 
-
360  static_swizzle4_ref(glm::i8, 4)
-
361  static_swizzle4_ref(glm::i16, 4)
-
362  static_swizzle4_ref(glm::i32, 4)
-
363  static_swizzle4_ref(glm::i64, 4)
-
364 
-
365  static_swizzle4_ref(glm::u8, 4)
-
366  static_swizzle4_ref(glm::u16, 4)
-
367  static_swizzle4_ref(glm::u32, 4)
-
368  static_swizzle4_ref(glm::u64, 4)
-
369 
-
371 }//namespace glm
-
372 
-
373 #include "swizzle.inl"
-
374 
-
375 #endif//GLM_GTC_swizzle
-
- - - - + + + + + + +GLM: orthonormalize.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
orthonormalize.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_orthonormalize
+
40 #define GLM_GTX_orthonormalize
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_orthonormalize extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  template <typename T, precision P>
+
57  detail::tmat3x3<T, P> orthonormalize(
+
58  const detail::tmat3x3<T, P>& m);
+
59 
+
62  template <typename T, precision P>
+
63  detail::tvec3<T, P> orthonormalize(
+
64  const detail::tvec3<T, P>& x,
+
65  const detail::tvec3<T, P>& y);
+
66 
+
68 }//namespace glm
+
69 
+
70 #include "orthonormalize.inl"
+
71 
+
72 #endif//GLM_GTX_orthonormalize
+
detail::tmat3x3< T, P > orthonormalize(const detail::tmat3x3< T, P > &m)
Returns the orthonormalized matrix of m.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00091.html glm-0.9.5.1/doc/api/a00091.html --- glm-0.9.4.6/doc/api/a00091.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00091.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,108 +1,147 @@ - - - - - -transform.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
transform.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat4x4< T > rotate (T angle, T x, T y, T z)
 
template<typename T >
detail::tmat4x4< T > rotate (T angle, detail::tvec3< T > const &v)
 
template<typename T >
detail::tmat4x4< T > rotate (detail::tmat4x4< T > const &m, T angle, T x, T y, T z)
 
template<typename T >
detail::tmat4x4< T > scale (T x, T y, T z)
 
template<typename T >
detail::tmat4x4< T > scale (detail::tmat4x4< T > const &m, T x, T y, T z)
 
template<typename T >
detail::tmat4x4< T > scale (detail::tvec3< T > const &v)
 
template<typename T >
detail::tmat4x4< T > translate (T x, T y, T z)
 
template<typename T >
detail::tmat4x4< T > translate (detail::tmat4x4< T > const &m, T x, T y, T z)
 
template<typename T >
detail::tmat4x4< T > translate (detail::tvec3< T > const &v)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_transform

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_matrix_transform (dependence)
-
-GLM_GTX_transform
-
-GLM_GTX_transform2
- -

Definition in file transform.hpp.

-
- - - - + + + + + + +GLM: packing.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
gtc/packing.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 
GLM_FUNC_DECL uint16 packHalf1x16 (float const &v)
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float const &v)
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float const &s)
 
GLM_FUNC_DECL uint16 packSnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packSnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packSnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packU3x10_1x2 (uvec4 const &v)
 
GLM_FUNC_DECL uint16 packUnorm1x16 (float const &v)
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float const &v)
 
GLM_FUNC_DECL uint16 packUnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packUnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packUnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL vec3 unpackF2x11_1x10 (uint32 const &p)
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 const &v)
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 const &p)
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 const &p)
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 const &p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 const &p)
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 const &p)
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 const &p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 const &p)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_packing

+
Date
2013-08-08 / 2013-08-08
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file gtc/packing.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00091_source.html glm-0.9.5.1/doc/api/a00091_source.html --- glm-0.9.4.6/doc/api/a00091_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00091_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,166 +1,182 @@ - - - - - -transform.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
transform.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 
-
41 #ifndef GLM_GTX_transform
-
42 #define GLM_GTX_transform GLM_VERSION
-
43 
-
44 // Dependency:
-
45 #include "../glm.hpp"
-
46 #include "../gtc/matrix_transform.hpp"
-
47 
-
48 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
49 # pragma message("GLM: GLM_GTX_transform extension included")
-
50 #endif
-
51 
-
52 namespace glm
-
53 {
-
56 
-
59  // - See also: \link glm::translate GLM_GTC_matrix_transform \endlink
-
60  template <typename T>
-
61  detail::tmat4x4<T> translate(
-
62  T x, T y, T z);
-
63 
-
66  // - See also: \link glm::translate GLM_GTC_matrix_transform \endlink
-
67  template <typename T>
-
68  detail::tmat4x4<T> translate(
-
69  detail::tmat4x4<T> const & m,
-
70  T x, T y, T z);
-
71 
-
74  // - See also: \link glm::translate GLM_GTC_matrix_transform \endlink
-
75  template <typename T>
-
76  detail::tmat4x4<T> translate(
-
77  detail::tvec3<T> const & v);
-
78 
-
81  // - See also: \link glm::rotate GLM_GTC_matrix_transform \endlink
-
82  template <typename T>
-
83  detail::tmat4x4<T> rotate(
-
84  T angle,
-
85  T x, T y, T z);
-
86 
-
89  // - See also: \link glm::rotate GLM_GTC_matrix_transform \endlink
-
90  template <typename T>
-
91  detail::tmat4x4<T> rotate(
-
92  T angle,
-
93  detail::tvec3<T> const & v);
-
94 
-
97  // - See also: \link glm::rotate GLM_GTC_matrix_transform \endlink
-
98  template <typename T>
-
99  detail::tmat4x4<T> rotate(
-
100  detail::tmat4x4<T> const & m,
-
101  T angle,
-
102  T x, T y, T z);
-
103 
-
106  // - See also: \link glm::scale GLM_GTC_matrix_transform \endlink
-
107  template <typename T>
-
108  detail::tmat4x4<T> scale(
-
109  T x, T y, T z);
-
110 
-
113  // - See also: \link glm::scale GLM_GTC_matrix_transform \endlink
-
114  template <typename T>
-
115  detail::tmat4x4<T> scale(
-
116  detail::tmat4x4<T> const & m,
-
117  T x, T y, T z);
-
118 
-
121  // - See also: \link glm::scale GLM_GTC_matrix_transform \endlink
-
122  template <typename T>
-
123  detail::tmat4x4<T> scale(
-
124  detail::tvec3<T> const & v);
-
125 
-
127 }// namespace glm
-
128 
-
129 #include "transform.inl"
-
130 
-
131 #endif//GLM_GTX_transform
-
- - - - + + + + + + +GLM: packing.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtc/packing.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTC_packing
+
40 #define GLM_GTC_packing
+
41 
+
42 // Dependency:
+
43 #include "type_precision.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTC_packing extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
65  GLM_FUNC_DECL uint8 packUnorm1x8(float const & v);
+
66 
+
77  GLM_FUNC_DECL float unpackUnorm1x8(uint8 const & p);
+
78 
+
93  GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const & v);
+
94 
+
109  GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 const & p);
+
110 
+
122  GLM_FUNC_DECL uint8 packSnorm1x8(float const & s);
+
123 
+
135  GLM_FUNC_DECL float unpackSnorm1x8(uint8 const & p);
+
136 
+
151  GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const & v);
+
152 
+
167  GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 const & p);
+
168 
+
180  GLM_FUNC_DECL uint16 packUnorm1x16(float const & v);
+
181 
+
193  GLM_FUNC_DECL float unpackUnorm1x16(uint16 const & p);
+
194 
+
209  GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const & v);
+
210 
+
225  GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 const & p);
+
226 
+
238  GLM_FUNC_DECL uint16 packSnorm1x16(float const & v);
+
239 
+
251  GLM_FUNC_DECL float unpackSnorm1x16(uint16 const & p);
+
252 
+
267  GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const & v);
+
268 
+
283  GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 const & p);
+
284 
+
294  GLM_FUNC_DECL uint16 packHalf1x16(float const & v);
+
295 
+
305  GLM_FUNC_DECL float unpackHalf1x16(uint16 const & v);
+
306 
+
318  GLM_FUNC_DECL uint64 packHalf4x16(vec4 const & v);
+
319 
+
331  GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 const & p);
+
332 
+
344  GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const & v);
+
345 
+
355  GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 const & p);
+
356 
+
368  GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const & v);
+
369 
+
379  GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 const & p);
+
380 
+
397  GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const & v);
+
398 
+
414  GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 const & p);
+
415 
+
432  GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const & v);
+
433 
+
449  GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 const & p);
+
450 
+
460  GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const & v);
+
461 
+
470  GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 const & p);
+
471 
+
473 }// namespace glm
+
474 
+
475 #include "packing.inl"
+
476 
+
477 #endif//GLM_GTC_packing
+
478 
+
highp_ivec4 ivec4
4 components vector of signed integer numbers.
Definition: type_vec.hpp:454
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
+
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:96
+
GLM_FUNC_DECL float unpackUnorm1x16(uint16 const &p)
First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers.
+
GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8-bit integer values...
+
GLM_FUNC_DECL uint16 packSnorm1x16(float const &v)
First, converts the normalized floating-point value v into 16-bit integer value.
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
+
GLM_FUNC_DECL uint8 packSnorm1x8(float const &s)
First, converts the normalized floating-point value v into 8-bit integer value.
+
GLM_FUNC_DECL float unpackUnorm1x8(uint8 const &p)
Convert a single 8-bit integer to a normalized floating-point value.
+
GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const &v)
First, converts the first three components of the normalized floating-point value v into 10-bit unsig...
+
GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const &v)
First, converts each component of the normalized floating-point value v into 16-bit integer values...
+
GLM_FUNC_DECL float unpackSnorm1x16(uint16 const &p)
First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers.
+
GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component signed integer ...
+
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:97
+
GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 const &p)
First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers.
+
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 const &p)
First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.
+
GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const &v)
First, converts the first three components of the normalized floating-point value v into 10-bit signe...
+
GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 const &p)
First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and ...
+
GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component unsigned intege...
+
OpenGL Mathematics (glm.g-truc.net)
+
GLM_FUNC_DECL float unpackSnorm1x8(uint8 const &p)
First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers.
+
GLM_FUNC_DECL uint16 packHalf1x16(float const &v)
Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 1...
+
GLM_FUNC_DECL uint16 packUnorm1x16(float const &v)
First, converts the normalized floating-point value v into a 16-bit integer value.
+
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:94
+
GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8-bit integer values...
+
GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 const &p)
Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers...
+
GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 const &p)
First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers.
+
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 const &p)
First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.
+
GLM_FUNC_DECL uint64 packHalf4x16(vec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component floating-point ...
+
GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 const &p)
Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers...
+
GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 const &p)
First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers.
+
highp_uvec4 uvec4
4 components vector of unsigned integer numbers.
Definition: type_vec.hpp:482
+
GLM_FUNC_DECL float unpackHalf1x16(uint16 const &v)
Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into ...
+
GLM_FUNC_DECL uint8 packUnorm1x8(float const &v)
First, converts the normalized floating-point value v into a 8-bit integer value. ...
+
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:95
+
GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 const &p)
First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers.
+
GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const &v)
First, converts each component of the normalized floating-point value v into 16-bit integer values...
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
+
GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 const &p)
Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigne...
+
GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const &v)
First, converts the first two components of the normalized floating-point value v into 11-bit signles...
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00092.html glm-0.9.5.1/doc/api/a00092.html --- glm-0.9.4.6/doc/api/a00092.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00092.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,104 +1,74 @@ - - - - - -transform2.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
transform2.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat3x3< T > proj2D (const detail::tmat3x3< T > &m, const detail::tvec3< T > &normal)
 
template<typename T >
detail::tmat4x4< T > proj3D (const detail::tmat4x4< T > &m, const detail::tvec3< T > &normal)
 
template<typename valType >
detail::tmat4x4< valType > scaleBias (valType scale, valType bias)
 
template<typename valType >
detail::tmat4x4< valType > scaleBias (detail::tmat4x4< valType > const &m, valType scale, valType bias)
 
template<typename T >
detail::tmat3x3< T > shearX2D (detail::tmat3x3< T > const &m, T y)
 
template<typename T >
detail::tmat4x4< T > shearX3D (const detail::tmat4x4< T > &m, T y, T z)
 
template<typename T >
detail::tmat3x3< T > shearY2D (detail::tmat3x3< T > const &m, T x)
 
template<typename T >
detail::tmat4x4< T > shearY3D (const detail::tmat4x4< T > &m, T x, T z)
 
template<typename T >
detail::tmat4x4< T > shearZ3D (const detail::tmat4x4< T > &m, T x, T y)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_transform2

-
Date
2005-12-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_transform (dependence)
- -

Definition in file transform2.hpp.

-
- - - - + + + + + + +GLM: packing.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
packing.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file packing.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00092_source.html glm-0.9.5.1/doc/api/a00092_source.html --- glm-0.9.4.6/doc/api/a00092_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00092_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,170 +1,69 @@ - - - - - -transform2.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
transform2.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTX_transform2
-
40 #define GLM_GTX_transform2 GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 #include "../gtx/transform.hpp"
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_transform2 extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename T>
-
58  detail::tmat3x3<T> shearX2D(
-
59  detail::tmat3x3<T> const & m,
-
60  T y);
-
61 
-
64  template <typename T>
-
65  detail::tmat3x3<T> shearY2D(
-
66  detail::tmat3x3<T> const & m,
-
67  T x);
-
68 
-
71  template <typename T>
-
72  detail::tmat4x4<T> shearX3D(
-
73  const detail::tmat4x4<T> & m,
-
74  T y,
-
75  T z);
-
76 
-
79  template <typename T>
-
80  detail::tmat4x4<T> shearY3D(
-
81  const detail::tmat4x4<T> & m,
-
82  T x,
-
83  T z);
-
84 
-
87  template <typename T>
-
88  detail::tmat4x4<T> shearZ3D(
-
89  const detail::tmat4x4<T> & m,
-
90  T x,
-
91  T y);
-
92 
-
93  //template <typename T> GLM_FUNC_QUALIFIER detail::tmat4x4<T> shear(const detail::tmat4x4<T> & m, shearPlane, planePoint, angle)
-
94  // Identity + tan(angle) * cross(Normal, OnPlaneVector) 0
-
95  // - dot(PointOnPlane, normal) * OnPlaneVector 1
-
96 
-
97  // Reflect functions seem to don't work
-
98  //template <typename T> detail::tmat3x3<T> reflect2D(const detail::tmat3x3<T> & m, const detail::tvec3<T>& normal){return reflect2DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
-
99  //template <typename T> detail::tmat4x4<T> reflect3D(const detail::tmat4x4<T> & m, const detail::tvec3<T>& normal){return reflect3DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
-
100 
-
103  template <typename T>
-
104  detail::tmat3x3<T> proj2D(
-
105  const detail::tmat3x3<T> & m,
-
106  const detail::tvec3<T>& normal);
-
107 
-
110  template <typename T>
-
111  detail::tmat4x4<T> proj3D(
-
112  const detail::tmat4x4<T> & m,
-
113  const detail::tvec3<T>& normal);
-
114 
-
117  template <typename valType>
-
118  detail::tmat4x4<valType> scaleBias(
-
119  valType scale,
-
120  valType bias);
-
121 
-
124  template <typename valType>
-
125  detail::tmat4x4<valType> scaleBias(
-
126  detail::tmat4x4<valType> const & m,
-
127  valType scale,
-
128  valType bias);
-
129 
-
131 }// namespace glm
-
132 
-
133 #include "transform2.inl"
-
134 
-
135 #endif//GLM_GTX_transform2
-
- - - - + + + + + + +GLM: packing.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
packing.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_PACKING_INCLUDED
+
30 #define GLM_PACKING_INCLUDED
+
31 
+
32 #include "detail/func_packing.hpp"
+
33 
+
34 #endif//GLM_PACKING_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00093.html glm-0.9.5.1/doc/api/a00093.html --- glm-0.9.4.6/doc/api/a00093.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00093.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,152 +0,0 @@ - - - - - -type.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::tvec2< bool > bvec2
 
typedef detail::tvec3< bool > bvec3
 
typedef detail::tvec4< bool > bvec4
 
typedef detail::tmat2x2< double > dmat2
 
typedef detail::tmat2x2< double > dmat2x2
 
typedef detail::tmat2x3< double > dmat2x3
 
typedef detail::tmat2x4< double > dmat2x4
 
typedef detail::tmat3x3< double > dmat3
 
typedef detail::tmat3x2< double > dmat3x2
 
typedef detail::tmat3x3< double > dmat3x3
 
typedef detail::tmat3x4< double > dmat3x4
 
typedef detail::tmat4x4< double > dmat4
 
typedef detail::tmat4x2< double > dmat4x2
 
typedef detail::tmat4x3< double > dmat4x3
 
typedef detail::tmat4x4< double > dmat4x4
 
typedef detail::tvec2< double > dvec2
 
typedef detail::tvec3< double > dvec3
 
typedef detail::tvec4< double > dvec4
 
typedef mediump_ivec2 ivec2
 
typedef mediump_ivec3 ivec3
 
typedef mediump_ivec4 ivec4
 
typedef mat2x2 mat2
 
typedef mediump_mat2x2 mat2x2
 
typedef mediump_mat2x3 mat2x3
 
typedef mediump_mat2x4 mat2x4
 
typedef mat3x3 mat3
 
typedef mediump_mat3x2 mat3x2
 
typedef mediump_mat3x3 mat3x3
 
typedef mediump_mat3x4 mat3x4
 
typedef mat4x4 mat4
 
typedef mediump_mat4x2 mat4x2
 
typedef mediump_mat4x3 mat4x3
 
typedef mediump_mat4x4 mat4x4
 
typedef mediump_uvec2 uvec2
 
typedef mediump_uvec3 uvec3
 
typedef mediump_uvec4 uvec4
 
typedef mediump_vec2 vec2
 
typedef mediump_vec3 vec3
 
typedef mediump_vec4 vec4
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-01-08 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00093_source.html glm-0.9.5.1/doc/api/a00093_source.html --- glm-0.9.4.6/doc/api/a00093_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00093_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,281 +1,63 @@ - - - - - -type.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type
-
30 #define glm_core_type
-
31 
-
32 #include "type_half.hpp"
-
33 #include "type_float.hpp"
-
34 #include "type_int.hpp"
-
35 
-
36 #include "type_gentype.hpp"
-
37 
-
38 #include "type_vec1.hpp"
-
39 #include "type_vec2.hpp"
-
40 #include "type_vec3.hpp"
-
41 #include "type_vec4.hpp"
-
42 
-
43 #include "type_mat2x2.hpp"
-
44 #include "type_mat2x3.hpp"
-
45 #include "type_mat2x4.hpp"
-
46 #include "type_mat3x2.hpp"
-
47 #include "type_mat3x3.hpp"
-
48 #include "type_mat3x4.hpp"
-
49 #include "type_mat4x2.hpp"
-
50 #include "type_mat4x3.hpp"
-
51 #include "type_mat4x4.hpp"
-
52 
-
53 namespace glm
-
54 {
-
57 
-
59  // Float definition
-
60 
-
61 #if(defined(GLM_PRECISION_HIGHP_FLOAT))
-
62  typedef highp_vec2 vec2;
-
63  typedef highp_vec3 vec3;
-
64  typedef highp_vec4 vec4;
-
65  typedef highp_mat2x2 mat2x2;
-
66  typedef highp_mat2x3 mat2x3;
-
67  typedef highp_mat2x4 mat2x4;
-
68  typedef highp_mat3x2 mat3x2;
-
69  typedef highp_mat3x3 mat3x3;
-
70  typedef highp_mat3x4 mat3x4;
-
71  typedef highp_mat4x2 mat4x2;
-
72  typedef highp_mat4x3 mat4x3;
-
73  typedef highp_mat4x4 mat4x4;
-
74 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
-
75  typedef mediump_vec2 vec2;
-
76  typedef mediump_vec3 vec3;
-
77  typedef mediump_vec4 vec4;
-
78  typedef mediump_mat2x2 mat2x2;
-
79  typedef mediump_mat2x3 mat2x3;
-
80  typedef mediump_mat2x4 mat2x4;
-
81  typedef mediump_mat3x2 mat3x2;
-
82  typedef mediump_mat3x3 mat3x3;
-
83  typedef mediump_mat3x4 mat3x4;
-
84  typedef mediump_mat4x2 mat4x2;
-
85  typedef mediump_mat4x3 mat4x3;
-
86  typedef mediump_mat4x4 mat4x4;
-
87 #elif(defined(GLM_PRECISION_LOWP_FLOAT))
-
88  typedef lowp_vec2 vec2;
-
89  typedef lowp_vec3 vec3;
-
90  typedef lowp_vec4 vec4;
-
91  typedef lowp_mat2x2 mat2x2;
-
92  typedef lowp_mat2x3 mat2x3;
-
93  typedef lowp_mat2x4 mat2x4;
-
94  typedef lowp_mat3x2 mat3x2;
-
95  typedef lowp_mat3x3 mat3x3;
-
96  typedef lowp_mat3x4 mat3x4;
-
97  typedef lowp_mat4x2 mat4x2;
-
98  typedef lowp_mat4x3 mat4x3;
-
99  typedef lowp_mat4x4 mat4x4;
-
100 #else
-
101 
-
102 
-
103 
- -
105 
- -
110 
- -
115 
- -
120 
- -
125 
- -
130 
- -
135 
-
139  typedef mediump_mat3x3 mat3x3;
-
140 
- -
145 
- -
150 
- -
155 
-
159  typedef mediump_mat4x4 mat4x4;
-
160 
-
161 #endif//GLM_PRECISION
-
162 
-
166  typedef mat2x2 mat2;
-
167 
-
171  typedef mat3x3 mat3;
-
172 
-
176  typedef mat4x4 mat4;
-
177 
-
179  // Signed integer definition
-
180 
-
181 #if(defined(GLM_PRECISION_HIGHP_INT))
-
182  typedef highp_ivec2 ivec2;
-
183  typedef highp_ivec3 ivec3;
-
184  typedef highp_ivec4 ivec4;
-
185 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
186  typedef mediump_ivec2 ivec2;
-
187  typedef mediump_ivec3 ivec3;
-
188  typedef mediump_ivec4 ivec4;
-
189 #elif(defined(GLM_PRECISION_LOWP_INT))
-
190  typedef lowp_ivec2 ivec2;
-
191  typedef lowp_ivec3 ivec3;
-
192  typedef lowp_ivec4 ivec4;
-
193 #else
-
194 
-
195 
-
196 
- -
198 
- -
203 
- -
208 #endif//GLM_PRECISION
-
209 
-
211  // Unsigned integer definition
-
212 
-
213 #if(defined(GLM_PRECISION_HIGHP_UINT))
-
214  typedef highp_uvec2 uvec2;
-
215  typedef highp_uvec3 uvec3;
-
216  typedef highp_uvec4 uvec4;
-
217 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
-
218  typedef mediump_uvec2 uvec2;
-
219  typedef mediump_uvec3 uvec3;
-
220  typedef mediump_uvec4 uvec4;
-
221 #elif(defined(GLM_PRECISION_LOWP_UINT))
-
222  typedef lowp_uvec2 uvec2;
-
223  typedef lowp_uvec3 uvec3;
-
224  typedef lowp_uvec4 uvec4;
-
225 #else
-
226 
-
227 
-
228 
- -
230 
- -
235 
- -
240 #endif//GLM_PRECISION
-
241 
-
243  // Boolean definition
-
244 
-
248  typedef detail::tvec2<bool> bvec2;
-
249 
-
253  typedef detail::tvec3<bool> bvec3;
-
254 
-
258  typedef detail::tvec4<bool> bvec4;
-
259 
-
261  // Double definition
-
262 
-
266  typedef detail::tvec2<double> dvec2;
-
267 
-
271  typedef detail::tvec3<double> dvec3;
-
272 
-
276  typedef detail::tvec4<double> dvec4;
-
277 
-
281  typedef detail::tmat2x2<double> dmat2;
-
282 
-
286  typedef detail::tmat3x3<double> dmat3;
-
287 
-
291  typedef detail::tmat4x4<double> dmat4;
-
292 
-
296  typedef detail::tmat2x2<double> dmat2x2;
-
297 
-
301  typedef detail::tmat2x3<double> dmat2x3;
-
302 
-
306  typedef detail::tmat2x4<double> dmat2x4;
-
307 
-
311  typedef detail::tmat3x2<double> dmat3x2;
-
312 
-
316  typedef detail::tmat3x3<double> dmat3x3;
-
317 
-
321  typedef detail::tmat3x4<double> dmat3x4;
-
322 
-
326  typedef detail::tmat4x2<double> dmat4x2;
-
327 
-
331  typedef detail::tmat4x3<double> dmat4x3;
-
332 
-
336  typedef detail::tmat4x4<double> dmat4x4;
-
337 
-
339 }//namespace glm
-
340 
-
341 #endif//glm_core_type
-
- - - - + + + + + + +GLM: pages.doxy Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
pages.doxy
+
+
+
1 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00094.html glm-0.9.5.1/doc/api/a00094.html --- glm-0.9.4.6/doc/api/a00094.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00094.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,80 +1,92 @@ - - - - - -type_float.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_float.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Typedefs

typedef highp_float_t highp_float
 
typedef lowp_float_t lowp_float
 
typedef mediump_float_t mediump_float
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-22 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_float.hpp.

-
- - - - + + + + + + +GLM: perpendicular.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
perpendicular.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + +

+Functions

template<typename vecType >
vecType perp (vecType const &x, vecType const &Normal)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_perpendicular

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_projection (dependence)
+ +

Definition in file perpendicular.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00094_source.html glm-0.9.5.1/doc/api/a00094_source.html --- glm-0.9.4.6/doc/api/a00094_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00094_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,122 +1,88 @@ - - - - - -type_float.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_float.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_float
-
30 #define glm_core_type_float
-
31 
-
32 #include "type_half.hpp"
-
33 #include "setup.hpp"
-
34 
-
35 namespace glm
-
36 {
-
37 #ifdef GLM_USE_HALF_SCALAR
-
38  typedef detail::half lowp_float_t;
-
39 #else//GLM_USE_HALF_SCALAR
-
40  typedef float lowp_float_t;
-
41 #endif//GLM_USE_HALF_SCALAR
-
42  typedef float mediump_float_t;
-
43  typedef double highp_float_t;
-
44 
-
47 
-
53  typedef lowp_float_t lowp_float;
-
54 
-
60  typedef mediump_float_t mediump_float;
-
61 
-
67  typedef highp_float_t highp_float;
-
68 
-
69 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
70  typedef mediump_float float_t;
-
71 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
72  typedef highp_float float_t;
-
73 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
-
74  typedef mediump_float float_t;
-
75 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
-
76  typedef lowp_float float_t;
-
77 #else
-
78 # error "GLM error: multiple default precision requested for floating-point types"
-
79 #endif
-
80 
-
82 }//namespace glm
-
83 
-
84 #endif//glm_core_type_float
-
- - - - + + + + + + +GLM: perpendicular.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
perpendicular.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_perpendicular
+
40 #define GLM_GTX_perpendicular
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 #include "../gtx/projection.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_perpendicular extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
+
54 
+
57  template <typename vecType>
+
58  vecType perp(
+
59  vecType const & x,
+
60  vecType const & Normal);
+
61 
+
63 }//namespace glm
+
64 
+
65 #include "perpendicular.inl"
+
66 
+
67 #endif//GLM_GTX_perpendicular
+
vecType perp(vecType const &x, vecType const &Normal)
Projects x a perpendicular axis of Normal.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00095.html glm-0.9.5.1/doc/api/a00095.html --- glm-0.9.4.6/doc/api/a00095.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00095.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,68 +1,93 @@ - - - - - -type_gentype.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_gentype.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-10-05 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_gentype.hpp.

-
- - - - + + + + + + +GLM: polar_coordinates.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
polar_coordinates.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + +

+Functions

template<typename T , precision P>
detail::tvec3< T, P > euclidean (detail::tvec2< T, P > const &polar)
 
template<typename T , precision P>
detail::tvec3< T, P > polar (detail::tvec3< T, P > const &euclidean)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_polar_coordinates

+
Date
2007-03-06 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file polar_coordinates.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00095_source.html glm-0.9.5.1/doc/api/a00095_source.html --- glm-0.9.4.6/doc/api/a00095_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00095_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,219 +1,91 @@ - - - - - -type_gentype.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_gentype.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_gentype
-
30 #define glm_core_type_gentype
-
31 
-
32 #include "type_size.hpp"
-
33 
-
34 namespace glm
-
35 {
-
36  enum profile
-
37  {
-
38  nice,
-
39  fast,
-
40  simd
-
41  };
-
42 
-
43 namespace detail
-
44 {
-
45  template
-
46  <
-
47  typename VALTYPE,
-
48  template <typename> class TYPE
-
49  >
-
50  struct genType
-
51  {
-
52  public:
-
53  enum ctor{null};
-
54 
-
55  typedef VALTYPE value_type;
-
56  typedef VALTYPE & value_reference;
-
57  typedef VALTYPE * value_pointer;
-
58  typedef VALTYPE const * value_const_pointer;
-
59  typedef TYPE<bool> bool_type;
-
60 
-
61  typedef sizeType size_type;
-
62  static bool is_vector();
-
63  static bool is_matrix();
-
64 
-
65  typedef TYPE<VALTYPE> type;
-
66  typedef TYPE<VALTYPE> * pointer;
-
67  typedef TYPE<VALTYPE> const * const_pointer;
-
68  typedef TYPE<VALTYPE> const * const const_pointer_const;
-
69  typedef TYPE<VALTYPE> * const pointer_const;
-
70  typedef TYPE<VALTYPE> & reference;
-
71  typedef TYPE<VALTYPE> const & const_reference;
-
72  typedef TYPE<VALTYPE> const & param_type;
-
73 
-
75  // Address (Implementation details)
-
76 
-
77  value_const_pointer value_address() const{return value_pointer(this);}
-
78  value_pointer value_address(){return value_pointer(this);}
-
79 
-
80  //protected:
-
81  // enum kind
-
82  // {
-
83  // GEN_TYPE,
-
84  // VEC_TYPE,
-
85  // MAT_TYPE
-
86  // };
-
87 
-
88  // typedef typename TYPE::kind kind;
-
89  };
-
90 
-
91  template
-
92  <
-
93  typename VALTYPE,
-
94  template <typename> class TYPE
-
95  >
-
96  bool genType<VALTYPE, TYPE>::is_vector()
-
97  {
-
98  return true;
-
99  }
-
100 /*
-
101  template <typename valTypeT, unsigned int colT, unsigned int rowT, profile proT = nice>
-
102  class base
-
103  {
-
104  public:
-
106  // Traits
-
107 
-
108  typedef sizeType size_type;
-
109  typedef valTypeT value_type;
-
110 
-
111  typedef base<value_type, colT, rowT> class_type;
-
112 
-
113  typedef base<bool, colT, rowT> bool_type;
-
114  typedef base<value_type, rowT, 1> col_type;
-
115  typedef base<value_type, colT, 1> row_type;
-
116  typedef base<value_type, rowT, colT> transpose_type;
-
117 
-
118  static size_type col_size();
-
119  static size_type row_size();
-
120  static size_type value_size();
-
121  static bool is_scalar();
-
122  static bool is_vector();
-
123  static bool is_matrix();
-
124 
-
125  private:
-
126  // Data
-
127  col_type value[colT];
-
128 
-
129  public:
-
131  // Constructors
-
132  base();
-
133  base(class_type const & m);
-
134 
-
135  explicit base(value_type const & x);
-
136  explicit base(value_type const * const x);
-
137  explicit base(col_type const * const x);
-
138 
-
140  // Conversions
-
141  template <typename vU, uint cU, uint rU, profile pU>
-
142  explicit base(base<vU, cU, rU, pU> const & m);
-
143 
-
145  // Accesses
-
146  col_type& operator[](size_type i);
-
147  col_type const & operator[](size_type i) const;
-
148 
-
150  // Unary updatable operators
-
151  class_type& operator= (class_type const & x);
-
152  class_type& operator+= (value_type const & x);
-
153  class_type& operator+= (class_type const & x);
-
154  class_type& operator-= (value_type const & x);
-
155  class_type& operator-= (class_type const & x);
-
156  class_type& operator*= (value_type const & x);
-
157  class_type& operator*= (class_type const & x);
-
158  class_type& operator/= (value_type const & x);
-
159  class_type& operator/= (class_type const & x);
-
160  class_type& operator++ ();
-
161  class_type& operator-- ();
-
162  };
-
163 */
-
164  }//namespace detail
-
165 }//namespace glm
-
166 
-
167 //#include "type_gentype.inl"
-
168 
-
169 #endif//glm_core_type_gentype
-
- - - - + + + + + + +GLM: polar_coordinates.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
polar_coordinates.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_polar_coordinates
+
39 #define GLM_GTX_polar_coordinates
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_polar_coordinates extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
56  template <typename T, precision P>
+
57  detail::tvec3<T, P> polar(
+
58  detail::tvec3<T, P> const & euclidean);
+
59 
+
63  template <typename T, precision P>
+
64  detail::tvec3<T, P> euclidean(
+
65  detail::tvec2<T, P> const & polar);
+
66 
+
68 }//namespace glm
+
69 
+
70 #include "polar_coordinates.inl"
+
71 
+
72 #endif//GLM_GTX_polar_coordinates
+
detail::tvec3< T, P > euclidean(detail::tvec2< T, P > const &polar)
Convert Polar to Euclidean coordinates.
+
detail::tvec3< T, P > polar(detail::tvec3< T, P > const &euclidean)
Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude...
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00096.html glm-0.9.5.1/doc/api/a00096.html --- glm-0.9.4.6/doc/api/a00096.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00096.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ - - - - - -type_half.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_half.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-17 / 2011-09-20
-
Author
Christophe Riccio
- -

Definition in file type_half.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00096_source.html glm-0.9.5.1/doc/api/a00096_source.html --- glm-0.9.4.6/doc/api/a00096_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00096_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,174 +1,78 @@ - - - - - -type_half.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_half.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_half
-
30 #define glm_core_type_half
-
31 
-
32 #include <cstdlib>
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  typedef short hdata;
-
38 
-
39  float toFloat32(hdata value);
-
40  hdata toFloat16(float const & value);
-
41 
-
42  class half
-
43  {
-
44  public:
-
45  // Constructors
-
46  GLM_FUNC_DECL half();
-
47  GLM_FUNC_DECL half(half const & s);
-
48 
-
49  template <typename U>
-
50  GLM_FUNC_DECL explicit half(U const & s);
-
51 
-
52  // Cast
-
53  //template <typename U>
-
54  //GLM_FUNC_DECL operator U() const;
-
55  GLM_FUNC_DECL operator float() const;
-
56 
-
57  // Unary updatable operators
-
58  GLM_FUNC_DECL half& operator= (half const & s);
-
59  GLM_FUNC_DECL half& operator+=(half const & s);
-
60  GLM_FUNC_DECL half& operator-=(half const & s);
-
61  GLM_FUNC_DECL half& operator*=(half const & s);
-
62  GLM_FUNC_DECL half& operator/=(half const & s);
-
63  GLM_FUNC_DECL half& operator++();
-
64  GLM_FUNC_DECL half& operator--();
-
65 
-
66  GLM_FUNC_DECL float toFloat() const{return toFloat32(data);}
-
67 
-
68  GLM_FUNC_DECL hdata _data() const{return data;}
-
69 
-
70  private:
-
71  hdata data;
-
72  };
-
73 
-
74  half operator+ (half const & s1, half const & s2);
-
75 
-
76  half operator- (half const & s1, half const & s2);
-
77 
-
78  half operator* (half const & s1, half const & s2);
-
79 
-
80  half operator/ (half const & s1, half const & s2);
-
81 
-
82  // Unary constant operators
-
83  half operator- (half const & s);
-
84 
-
85  half operator-- (half const & s, int);
-
86 
-
87  half operator++ (half const & s, int);
-
88 
-
89  bool operator==(
-
90  detail::half const & x,
-
91  detail::half const & y);
-
92 
-
93  bool operator!=(
-
94  detail::half const & x,
-
95  detail::half const & y);
-
96 
-
97  bool operator<(
-
98  detail::half const & x,
-
99  detail::half const & y);
-
100 
-
101  bool operator<=(
-
102  detail::half const & x,
-
103  detail::half const & y);
-
104 
-
105  bool operator>(
-
106  detail::half const & x,
-
107  detail::half const & y);
-
108 
-
109  bool operator>=(
-
110  detail::half const & x,
-
111  detail::half const & y);
-
112 
-
113 }//namespace detail
-
114 }//namespace glm
-
115 
-
116 #include "type_half.inl"
-
117 
-
118 #endif//glm_core_type_half
-
- - - - + + + + + + +GLM: precision.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
precision.hpp
+
+
+
1 
+
29 #ifndef GLM_CORE_PRECISION_INCLUDED
+
30 #define GLM_CORE_PRECISION_INCLUDED
+
31 
+
32 namespace glm
+
33 {
+
34  enum precision
+
35  {
+
36  highp,
+
37  mediump,
+
38  lowp,
+
39  defaultp = highp
+
40  };
+
41 }//namespace glm
+
42 
+
43 #endif//GLM_CORE_PRECISION_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00097.html glm-0.9.5.1/doc/api/a00097.html --- glm-0.9.4.6/doc/api/a00097.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00097.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,88 +1,90 @@ - - - - - -type_int.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_int.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::highp_int_t highp_int
 
typedef detail::highp_uint_t highp_uint
 
typedef detail::lowp_int_t lowp_int
 
typedef detail::lowp_uint_t lowp_uint
 
typedef detail::mediump_int_t mediump_int
 
typedef detail::mediump_uint_t mediump_uint
 
typedef uint_t uint
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-22 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_int.hpp.

-
- - - - + + + + + + +GLM: projection.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
projection.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + +

+Functions

template<typename vecType >
vecType proj (vecType const &x, vecType const &Normal)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_projection

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file projection.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00097_source.html glm-0.9.5.1/doc/api/a00097_source.html --- glm-0.9.4.6/doc/api/a00097_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00097_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,156 +1,87 @@ - - - - - -type_int.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_int.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_int
-
30 #define glm_core_type_int
-
31 
-
32 #include "setup.hpp"
-
33 #include "_detail.hpp"
-
34 
-
35 namespace glm{
-
36 namespace detail
-
37 {
-
38  typedef signed short lowp_int_t;
-
39  typedef signed int mediump_int_t;
-
40  typedef sint64 highp_int_t;
-
41 
-
42  typedef unsigned short lowp_uint_t;
-
43  typedef unsigned int mediump_uint_t;
-
44  typedef uint64 highp_uint_t;
-
45 
-
46  GLM_DETAIL_IS_INT(signed char);
-
47  GLM_DETAIL_IS_INT(signed short);
-
48  GLM_DETAIL_IS_INT(signed int);
-
49  GLM_DETAIL_IS_INT(signed long);
-
50  GLM_DETAIL_IS_INT(highp_int_t);
-
51 
-
52  GLM_DETAIL_IS_UINT(unsigned char);
-
53  GLM_DETAIL_IS_UINT(unsigned short);
-
54  GLM_DETAIL_IS_UINT(unsigned int);
-
55  GLM_DETAIL_IS_UINT(unsigned long);
-
56  GLM_DETAIL_IS_UINT(highp_uint_t);
-
57 }//namespace detail
-
58 
-
61 
-
67  typedef detail::lowp_int_t lowp_int;
-
68 
-
74  typedef detail::mediump_int_t mediump_int;
-
75 
-
81  typedef detail::highp_int_t highp_int;
-
82 
-
88  typedef detail::lowp_uint_t lowp_uint;
-
89 
-
95  typedef detail::mediump_uint_t mediump_uint;
-
96 
-
102  typedef detail::highp_uint_t highp_uint;
-
103 
-
104 #if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
-
105  typedef mediump_int int_t;
-
106 #elif(defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
-
107  typedef highp_int int_t;
-
108 #elif(!defined(GLM_PRECISION_HIGHP_INT) && defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
-
109  typedef mediump_int int_t;
-
110 #elif(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && defined(GLM_PRECISION_LOWP_INT))
-
111  typedef lowp_int int_t;
-
112 #else
-
113 # error "GLM error: multiple default precision requested for signed interger types"
-
114 #endif
-
115 
-
116 #if(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
-
117  typedef mediump_uint uint_t;
-
118 #elif(defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
-
119  typedef highp_uint uint_t;
-
120 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
-
121  typedef mediump_uint uint_t;
-
122 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && defined(GLM_PRECISION_LOWP_UINT))
-
123  typedef lowp_uint uint_t;
-
124 #else
-
125 # error "GLM error: multiple default precision requested for unsigned interger types"
-
126 #endif
-
127 
-
131  typedef uint_t uint;
-
132 
-
134 }//namespace glm
-
135 
-
136 #endif//glm_core_type_int
-
- - - - + + + + + + +GLM: projection.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
projection.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_projection
+
39 #define GLM_GTX_projection
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_projection extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename vecType>
+
56  vecType proj(
+
57  vecType const & x,
+
58  vecType const & Normal);
+
59 
+
61 }//namespace glm
+
62 
+
63 #include "projection.inl"
+
64 
+
65 #endif//GLM_GTX_projection
+
vecType proj(vecType const &x, vecType const &Normal)
Projects x on Normal.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00098.html glm-0.9.5.1/doc/api/a00098.html --- glm-0.9.4.6/doc/api/a00098.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00098.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,68 +1,177 @@ - - - - - -type_mat.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2010-01-26 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_mat.hpp.

-
- - - - + + + + + + +GLM: quaternion.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
gtc/quaternion.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
GLM_FUNC_DECL T angle (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > angleAxis (T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > axis (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > conjugate (detail::tquat< T, P > const &q)
 
template<typename T , precision P, template< typename, precision > class quatType>
GLM_FUNC_DECL T dot (quatType< T, P > const &x, quatType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
equal (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > eulerAngles (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
greaterThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
greaterThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > inverse (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T length (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > lerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
lessThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
lessThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat3x3
+< T, P > 
mat3_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
mat4_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > mix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > normalize (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
notEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T pitch (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > quat_cast (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > quat_cast (detail::tmat4x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T roll (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > rotate (detail::tquat< T, P > const &q, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL T yaw (detail::tquat< T, P > const &x)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_quaternion

+
Date
2009-05-21 / 2012-12-20
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+
+GLM_GTC_constants (dependence)
+ +

Definition in file gtc/quaternion.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00098_source.html glm-0.9.5.1/doc/api/a00098_source.html --- glm-0.9.4.6/doc/api/a00098_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00098_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,131 +1,332 @@ - - - - - -type_mat.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_mat
-
30 #define glm_core_type_mat
-
31 
-
32 #include "type_gentype.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  //template
-
38  //<
-
39  // typename T,
-
40  // template <typename> class C,
-
41  // template <typename> class R
-
42  //>
-
43  //struct matType
-
44  //{
-
45  // enum ctor{null};
-
46  // typedef T value_type;
-
47  // typedef std::size_t size_type;
-
48  // typedef C<T> col_type;
-
49  // typedef R<T> row_type;
-
50  // static size_type const col_size;
-
51  // static size_type const row_size;
-
52  //};
-
53 
-
54  //template
-
55  //<
-
56  // typename T,
-
57  // template <typename> class C,
-
58  // template <typename> class R
-
59  //>
-
60  //typename matType<T, C, R>::size_type const
-
61  //matType<T, C, R>::col_size = matType<T, C, R>::col_type::value_size;
-
62 
-
63  //template
-
64  //<
-
65  // typename T,
-
66  // template <typename> class C,
-
67  // template <typename> class R
-
68  //>
-
69  //typename matType<T, C, R>::size_type const
-
70  //matType<T, C, R>::row_size = matType<T, C, R>::row_type::value_size;
-
71 
-
72 }//namespace detail
-
73 }//namespace glm
-
74 
-
75 #endif//glm_core_type_mat
-
- - - - + + + + + + +GLM: quaternion.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtc/quaternion.hpp
+
+
+Go to the documentation of this file.
1 
+
40 #ifndef GLM_GTC_quaternion
+
41 #define GLM_GTC_quaternion
+
42 
+
43 // Dependency:
+
44 #include "../mat3x3.hpp"
+
45 #include "../mat4x4.hpp"
+
46 #include "../vec3.hpp"
+
47 #include "../vec4.hpp"
+
48 #include "../gtc/constants.hpp"
+
49 
+
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
51 # pragma message("GLM: GLM_GTC_quaternion extension included")
+
52 #endif
+
53 
+
54 namespace glm{
+
55 namespace detail
+
56 {
+
57  template <typename T, precision P>
+
58  struct tquat
+
59  {
+
60  enum ctor{null};
+
61 
+
62  typedef tvec4<bool, P> bool_type;
+
63 
+
64  public:
+
65  T x, y, z, w;
+
66 
+
67  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
68 
+
69  // Constructors
+
70  GLM_FUNC_DECL tquat();
+
71  template <typename U, precision Q>
+
72  GLM_FUNC_DECL explicit tquat(
+
73  tquat<U, Q> const & q);
+
74  GLM_FUNC_DECL explicit tquat(
+
75  T const & s,
+
76  tvec3<T, P> const & v);
+
77  GLM_FUNC_DECL explicit tquat(
+
78  T const & w,
+
79  T const & x,
+
80  T const & y,
+
81  T const & z);
+
82 
+
83 #if(GLM_HAS_INITIALIZER_LISTS)
+
84  template <typename U>
+
85  GLM_FUNC_DECL tquat(std::initializer_list<U> l);
+
86 #endif//GLM_HAS_INITIALIZER_LISTS
+
87 
+
88  // Convertions
+
89 
+
96  GLM_FUNC_DECL explicit tquat(
+
97  detail::tvec3<T, P> const & u,
+
98  detail::tvec3<T, P> const & v);
+
100  GLM_FUNC_DECL explicit tquat(
+
101  tvec3<T, P> const & eulerAngles);
+
102  GLM_FUNC_DECL explicit tquat(
+
103  tmat3x3<T, P> const & m);
+
104  GLM_FUNC_DECL explicit tquat(
+
105  tmat4x4<T, P> const & m);
+
106 
+
107  // Accesses
+
108  GLM_FUNC_DECL T & operator[](length_t i);
+
109  GLM_FUNC_DECL T const & operator[](length_t i) const;
+
110 
+
111  // Operators
+
112  GLM_FUNC_DECL tquat<T, P> & operator+=(tquat<T, P> const & q);
+
113  GLM_FUNC_DECL tquat<T, P> & operator*=(tquat<T, P> const & q);
+
114  GLM_FUNC_DECL tquat<T, P> & operator*=(T const & s);
+
115  GLM_FUNC_DECL tquat<T, P> & operator/=(T const & s);
+
116  };
+
117 
+
118  template <typename T, precision P>
+
119  GLM_FUNC_DECL detail::tquat<T, P> operator- (
+
120  detail::tquat<T, P> const & q);
+
121 
+
122  template <typename T, precision P>
+
123  GLM_FUNC_DECL detail::tquat<T, P> operator+ (
+
124  detail::tquat<T, P> const & q,
+
125  detail::tquat<T, P> const & p);
+
126 
+
127  template <typename T, precision P>
+
128  GLM_FUNC_DECL detail::tquat<T, P> operator* (
+
129  detail::tquat<T, P> const & q,
+
130  detail::tquat<T, P> const & p);
+
131 
+
132  template <typename T, precision P>
+
133  GLM_FUNC_DECL detail::tvec3<T, P> operator* (
+
134  detail::tquat<T, P> const & q,
+
135  detail::tvec3<T, P> const & v);
+
136 
+
137  template <typename T, precision P>
+
138  GLM_FUNC_DECL detail::tvec3<T, P> operator* (
+
139  detail::tvec3<T, P> const & v,
+
140  detail::tquat<T, P> const & q);
+
141 
+
142  template <typename T, precision P>
+
143  GLM_FUNC_DECL detail::tvec4<T, P> operator* (
+
144  detail::tquat<T, P> const & q,
+
145  detail::tvec4<T, P> const & v);
+
146 
+
147  template <typename T, precision P>
+
148  GLM_FUNC_DECL detail::tvec4<T, P> operator* (
+
149  detail::tvec4<T, P> const & v,
+
150  detail::tquat<T, P> const & q);
+
151 
+
152  template <typename T, precision P>
+
153  GLM_FUNC_DECL detail::tquat<T, P> operator* (
+
154  detail::tquat<T, P> const & q,
+
155  T const & s);
+
156 
+
157  template <typename T, precision P>
+
158  GLM_FUNC_DECL detail::tquat<T, P> operator* (
+
159  T const & s,
+
160  detail::tquat<T, P> const & q);
+
161 
+
162  template <typename T, precision P>
+
163  GLM_FUNC_DECL detail::tquat<T, P> operator/ (
+
164  detail::tquat<T, P> const & q,
+
165  T const & s);
+
166 
+
167 } //namespace detail
+
168 
+
171 
+
175  template <typename T, precision P>
+
176  GLM_FUNC_DECL T length(
+
177  detail::tquat<T, P> const & q);
+
178 
+
182  template <typename T, precision P>
+
183  GLM_FUNC_DECL detail::tquat<T, P> normalize(
+
184  detail::tquat<T, P> const & q);
+
185 
+
189  template <typename T, precision P, template <typename, precision> class quatType>
+
190  GLM_FUNC_DECL T dot(
+
191  quatType<T, P> const & x,
+
192  quatType<T, P> const & y);
+
193 
+
204  template <typename T, precision P>
+
205  GLM_FUNC_DECL detail::tquat<T, P> mix(
+
206  detail::tquat<T, P> const & x,
+
207  detail::tquat<T, P> const & y,
+
208  T const & a);
+
209 
+
218  template <typename T, precision P>
+
219  GLM_FUNC_DECL detail::tquat<T, P> lerp(
+
220  detail::tquat<T, P> const & x,
+
221  detail::tquat<T, P> const & y,
+
222  T const & a);
+
223 
+
232  template <typename T, precision P>
+
233  GLM_FUNC_DECL detail::tquat<T, P> slerp(
+
234  detail::tquat<T, P> const & x,
+
235  detail::tquat<T, P> const & y,
+
236  T const & a);
+
237 
+
241  template <typename T, precision P>
+
242  GLM_FUNC_DECL detail::tquat<T, P> conjugate(
+
243  detail::tquat<T, P> const & q);
+
244 
+
248  template <typename T, precision P>
+
249  GLM_FUNC_DECL detail::tquat<T, P> inverse(
+
250  detail::tquat<T, P> const & q);
+
251 
+
259  template <typename T, precision P>
+
260  GLM_FUNC_DECL detail::tquat<T, P> rotate(
+
261  detail::tquat<T, P> const & q,
+
262  T const & angle,
+
263  detail::tvec3<T, P> const & axis);
+
264 
+
269  template <typename T, precision P>
+
270  GLM_FUNC_DECL detail::tvec3<T, P> eulerAngles(
+
271  detail::tquat<T, P> const & x);
+
272 
+
276  template <typename T, precision P>
+
277  GLM_FUNC_DECL T roll(detail::tquat<T, P> const & x);
+
278 
+
282  template <typename T, precision P>
+
283  GLM_FUNC_DECL T pitch(detail::tquat<T, P> const & x);
+
284 
+
288  template <typename T, precision P>
+
289  GLM_FUNC_DECL T yaw(detail::tquat<T, P> const & x);
+
290 
+
294  template <typename T, precision P>
+
295  GLM_FUNC_DECL detail::tmat3x3<T, P> mat3_cast(
+
296  detail::tquat<T, P> const & x);
+
297 
+
301  template <typename T, precision P>
+
302  GLM_FUNC_DECL detail::tmat4x4<T, P> mat4_cast(
+
303  detail::tquat<T, P> const & x);
+
304 
+
308  template <typename T, precision P>
+
309  GLM_FUNC_DECL detail::tquat<T, P> quat_cast(
+
310  detail::tmat3x3<T, P> const & x);
+
311 
+
315  template <typename T, precision P>
+
316  GLM_FUNC_DECL detail::tquat<T, P> quat_cast(
+
317  detail::tmat4x4<T, P> const & x);
+
318 
+
322  template <typename T, precision P>
+
323  GLM_FUNC_DECL T angle(detail::tquat<T, P> const & x);
+
324 
+
328  template <typename T, precision P>
+
329  GLM_FUNC_DECL detail::tvec3<T, P> axis(
+
330  detail::tquat<T, P> const & x);
+
331 
+
338  template <typename T, precision P>
+
339  GLM_FUNC_DECL detail::tquat<T, P> angleAxis(
+
340  T const & angle,
+
341  detail::tvec3<T, P> const & axis);
+
342 
+
348  template <typename T, precision P>
+
349  GLM_FUNC_DECL detail::tvec4<bool, P> lessThan(
+
350  detail::tquat<T, P> const & x,
+
351  detail::tquat<T, P> const & y);
+
352 
+
358  template <typename T, precision P>
+
359  GLM_FUNC_DECL detail::tvec4<bool, P> lessThanEqual(
+
360  detail::tquat<T, P> const & x,
+
361  detail::tquat<T, P> const & y);
+
362 
+
368  template <typename T, precision P>
+
369  GLM_FUNC_DECL detail::tvec4<bool, P> greaterThan(
+
370  detail::tquat<T, P> const & x,
+
371  detail::tquat<T, P> const & y);
+
372 
+
378  template <typename T, precision P>
+
379  GLM_FUNC_DECL detail::tvec4<bool, P> greaterThanEqual(
+
380  detail::tquat<T, P> const & x,
+
381  detail::tquat<T, P> const & y);
+
382 
+
388  template <typename T, precision P>
+
389  GLM_FUNC_DECL detail::tvec4<bool, P> equal(
+
390  detail::tquat<T, P> const & x,
+
391  detail::tquat<T, P> const & y);
+
392 
+
398  template <typename T, precision P>
+
399  GLM_FUNC_DECL detail::tvec4<bool, P> notEqual(
+
400  detail::tquat<T, P> const & x,
+
401  detail::tquat<T, P> const & y);
+
402 
+
404 } //namespace glm
+
405 
+
406 #include "quaternion.inl"
+
407 
+
408 #endif//GLM_GTC_quaternion
+
GLM_FUNC_DECL T dot(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the dot product of x and y, i.e., result = x * y.
+
GLM_FUNC_DECL vecType< T, P >::bool_type notEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x == y.
+
GLM_FUNC_DECL detail::tquat< T, P > lerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Linear interpolation of two quaternions.
+
GLM_FUNC_DECL detail::tquat< T, P > angleAxis(T const &angle, detail::tvec3< T, P > const &axis)
Build a quaternion from an angle and a normalized axis.
+
GLM_FUNC_DECL detail::tquat< T, P > quat_cast(detail::tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > rotate(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
+
GLM_FUNC_DECL genTypeT mix(genTypeT const &x, genTypeT const &y, genTypeU const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
+
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL detail::tvec3< T, P > eulerAngles(detail::tquat< T, P > const &x)
Returns euler angles, yitch as x, yaw as y, roll as z.
+
GLM_FUNC_DECL vecType< T, P >::bool_type greaterThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x &gt;= y.
+
GLM_FUNC_DECL genType normalize(genType const &x)
Returns a vector in the same direction as x but with length of 1.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > mat4_cast(detail::tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
GLM_FUNC_DECL T roll(detail::tquat< T, P > const &x)
Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees ot...
+
GLM_FUNC_DECL detail::tvec4< bool, P > lessThan(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
Returns the component-wise comparison result of x &lt; y.
+
GLM_FUNC_DECL detail::tmat3x3< T, P > mat3_cast(detail::tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
+
GLM_FUNC_DECL detail::tvec3< T, P > axis(detail::tquat< T, P > const &x)
Returns the q rotation axis.
+
GLM_FUNC_DECL detail::tvec4< bool, P > equal(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
Returns the component-wise comparison of result x == y.
+
GLM_FUNC_DECL detail::tquat< T, P > slerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Spherical linear interpolation of two quaternions.
+
GLM_FUNC_DECL T pitch(detail::tquat< T, P > const &x)
Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees o...
+
GLM_FUNC_DECL detail::tquat< T, P > conjugate(detail::tquat< T, P > const &q)
Returns the q conjugate.
+
GLM_FUNC_DECL vecType< T, P >::bool_type greaterThan(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison of result x &gt; y.
+
GLM_FUNC_DECL T yaw(detail::tquat< T, P > const &x)
Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees oth...
+
GLM_FUNC_DECL detail::tquat< T, P > inverse(detail::tquat< T, P > const &q)
Returns the q inverse.
+
GLM_FUNC_DECL vecType< T, P >::bool_type lessThanEqual(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the component-wise comparison result of x &lt; y.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00099.html glm-0.9.5.1/doc/api/a00099.html --- glm-0.9.4.6/doc/api/a00099.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00099.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,92 +1,143 @@ - - - - - -type_mat2x2.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_mat2x2.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Typedefs

typedef detail::tmat2x2
-< highp_float > 
highp_mat2
 
typedef detail::tmat2x2
-< highp_float > 
highp_mat2x2
 
typedef detail::tmat2x2
-< lowp_float > 
lowp_mat2
 
typedef detail::tmat2x2
-< lowp_float > 
lowp_mat2x2
 
typedef detail::tmat2x2
-< mediump_float > 
mediump_mat2
 
typedef detail::tmat2x2
-< mediump_float > 
mediump_mat2x2
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2005-01-27 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_mat2x2.hpp.

-
- - - - + + + + + + +GLM: quaternion.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
gtx/quaternion.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tvec3< T, P > cross (detail::tquat< T, P > const &q, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec3< T, P > cross (detail::tvec3< T, P > const &v, detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > exp (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
extractRealComponent (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > fastMix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
detail::tquat< T, P > intermediate (detail::tquat< T, P > const &prev, detail::tquat< T, P > const &curr, detail::tquat< T, P > const &next)
 
template<typename T , precision P>
length2 (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > log (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > pow (detail::tquat< T, P > const &x, T const &y)
 
template<typename T , precision P>
detail::tvec3< T, P > rotate (detail::tquat< T, P > const &q, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec4< T, P > rotate (detail::tquat< T, P > const &q, detail::tvec4< T, P > const &v)
 
template<typename T , precision P>
detail::tquat< T, P > rotation (detail::tvec3< T, P > const &orig, detail::tvec3< T, P > const &dest)
 
template<typename T , precision P>
detail::tquat< T, P > shortMix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
detail::tquat< T, P > squad (detail::tquat< T, P > const &q1, detail::tquat< T, P > const &q2, detail::tquat< T, P > const &s1, detail::tquat< T, P > const &s2, T const &h)
 
template<typename T , precision P>
detail::tmat3x3< T, P > toMat3 (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > toMat4 (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tquat< T, P > toQuat (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
detail::tquat< T, P > toQuat (detail::tmat4x4< T, P > const &x)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_quaternion

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_extented_min_max (dependence)
+ +

Definition in file gtx/quaternion.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00099_source.html glm-0.9.5.1/doc/api/a00099_source.html --- glm-0.9.4.6/doc/api/a00099_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00099_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,332 +1,193 @@ - - - - - -type_mat2x2.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat2x2.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_mat2x2
-
30 #define glm_core_type_mat2x2
-
31 
-
32 #include "type_mat.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  template <typename T> struct tvec1;
-
38  template <typename T> struct tvec2;
-
39  template <typename T> struct tvec3;
-
40  template <typename T> struct tvec4;
-
41  template <typename T> struct tmat2x2;
-
42  template <typename T> struct tmat2x3;
-
43  template <typename T> struct tmat2x4;
-
44  template <typename T> struct tmat3x2;
-
45  template <typename T> struct tmat3x3;
-
46  template <typename T> struct tmat3x4;
-
47  template <typename T> struct tmat4x2;
-
48  template <typename T> struct tmat4x3;
-
49  template <typename T> struct tmat4x4;
-
50 
-
51  template <typename T>
-
52  struct tmat2x2
-
53  {
-
54  // Implementation detail
-
55  enum ctor{null};
-
56  typedef T value_type;
-
57  typedef std::size_t size_type;
-
58  typedef tvec2<T> col_type;
-
59  typedef tvec2<T> row_type;
-
60  typedef tmat2x2<T> type;
-
61  typedef tmat2x2<T> transpose_type;
-
62 
-
63  static GLM_FUNC_DECL size_type col_size();
-
64  static GLM_FUNC_DECL size_type row_size();
-
65 
-
66  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
67 
-
68  public:
-
69  // Implementation detail
-
70  GLM_FUNC_DECL tmat2x2<T> _inverse() const;
-
71 
-
72  private:
-
74  // Implementation detail
-
75  col_type value[2];
-
76 
-
77  public:
-
79  // Constructors
-
80  GLM_FUNC_DECL tmat2x2();
-
81  GLM_FUNC_DECL tmat2x2(
-
82  tmat2x2 const & m);
-
83 
-
84  GLM_FUNC_DECL explicit tmat2x2(
-
85  ctor Null);
-
86  GLM_FUNC_DECL explicit tmat2x2(
-
87  value_type const & x);
-
88  GLM_FUNC_DECL explicit tmat2x2(
-
89  value_type const & x1, value_type const & y1,
-
90  value_type const & x2, value_type const & y2);
-
91  GLM_FUNC_DECL explicit tmat2x2(
-
92  col_type const & v1,
-
93  col_type const & v2);
-
94 
-
96  // Conversions
-
97  template <typename U>
-
98  GLM_FUNC_DECL explicit tmat2x2(
-
99  U const & x);
-
100 
-
101  template <typename U, typename V, typename M, typename N>
-
102  GLM_FUNC_DECL explicit tmat2x2(
-
103  U const & x1, V const & y1,
-
104  M const & x2, N const & y2);
-
105 
-
106  template <typename U, typename V>
-
107  GLM_FUNC_DECL explicit tmat2x2(
-
108  tvec2<U> const & v1,
-
109  tvec2<V> const & v2);
-
110 
-
112  // Matrix conversions
-
113  template <typename U>
-
114  GLM_FUNC_DECL explicit tmat2x2(tmat2x2<U> const & m);
-
115 
-
116  GLM_FUNC_DECL explicit tmat2x2(tmat3x3<T> const & x);
-
117  GLM_FUNC_DECL explicit tmat2x2(tmat4x4<T> const & x);
-
118  GLM_FUNC_DECL explicit tmat2x2(tmat2x3<T> const & x);
-
119  GLM_FUNC_DECL explicit tmat2x2(tmat3x2<T> const & x);
-
120  GLM_FUNC_DECL explicit tmat2x2(tmat2x4<T> const & x);
-
121  GLM_FUNC_DECL explicit tmat2x2(tmat4x2<T> const & x);
-
122  GLM_FUNC_DECL explicit tmat2x2(tmat3x4<T> const & x);
-
123  GLM_FUNC_DECL explicit tmat2x2(tmat4x3<T> const & x);
-
124 
-
126  // Accesses
-
127 
-
128  GLM_FUNC_DECL col_type & operator[](size_type i);
-
129  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
130 
-
131  // Unary updatable operators
-
132  GLM_FUNC_DECL tmat2x2<T> & operator=(tmat2x2<T> const & m);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tmat2x2<T> & operator=(tmat2x2<U> const & m);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tmat2x2<T> & operator+=(U const & s);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat2x2<T> & operator+=(tmat2x2<U> const & m);
-
139  template <typename U>
-
140  GLM_FUNC_DECL tmat2x2<T> & operator-=(U const & s);
-
141  template <typename U>
-
142  GLM_FUNC_DECL tmat2x2<T> & operator-=(tmat2x2<U> const & m);
-
143  template <typename U>
-
144  GLM_FUNC_DECL tmat2x2<T> & operator*=(U const & s);
-
145  template <typename U>
-
146  GLM_FUNC_DECL tmat2x2<T> & operator*=(tmat2x2<U> const & m);
-
147  template <typename U>
-
148  GLM_FUNC_DECL tmat2x2<T> & operator/=(U const & s);
-
149  template <typename U>
-
150  GLM_FUNC_DECL tmat2x2<T> & operator/=(tmat2x2<U> const & m);
-
151  GLM_FUNC_DECL tmat2x2<T> & operator++();
-
152  GLM_FUNC_DECL tmat2x2<T> & operator--();
-
153  };
-
154 
-
155  // Binary operators
-
156  template <typename T>
-
157  tmat2x2<T> operator+ (
-
158  tmat2x2<T> const & m,
-
159  typename tmat2x2<T>::value_type const & s);
-
160 
-
161  template <typename T>
-
162  tmat2x2<T> operator+ (
-
163  typename tmat2x2<T>::value_type const & s,
-
164  tmat2x2<T> const & m);
-
165 
-
166  template <typename T>
-
167  tmat2x2<T> operator+ (
-
168  tmat2x2<T> const & m1,
-
169  tmat2x2<T> const & m2);
-
170 
-
171  template <typename T>
-
172  tmat2x2<T> operator- (
-
173  tmat2x2<T> const & m,
-
174  typename tmat2x2<T>::value_type const & s);
-
175 
-
176  template <typename T>
-
177  tmat2x2<T> operator- (
-
178  typename tmat2x2<T>::value_type const & s,
-
179  tmat2x2<T> const & m);
-
180 
-
181  template <typename T>
-
182  tmat2x2<T> operator- (
-
183  tmat2x2<T> const & m1,
-
184  tmat2x2<T> const & m2);
-
185 
-
186  template <typename T>
-
187  tmat2x2<T> operator* (
-
188  tmat2x2<T> const & m,
-
189  typename tmat2x2<T>::value_type const & s);
-
190 
-
191  template <typename T>
-
192  tmat2x2<T> operator* (
-
193  typename tmat2x2<T>::value_type const & s,
-
194  tmat2x2<T> const & m);
-
195 
-
196  template <typename T>
-
197  typename tmat2x2<T>::col_type operator* (
-
198  tmat2x2<T> const & m,
-
199  typename tmat2x2<T>::row_type const & v);
-
200 
-
201  template <typename T>
-
202  typename tmat2x2<T>::row_type operator* (
-
203  typename tmat2x2<T>::col_type const & v,
-
204  tmat2x2<T> const & m);
-
205 
-
206  template <typename T>
-
207  tmat2x2<T> operator* (
-
208  tmat2x2<T> const & m1,
-
209  tmat2x2<T> const & m2);
-
210 
-
211  template <typename T>
-
212  tmat3x2<T> operator* (
-
213  tmat2x2<T> const & m1,
-
214  tmat3x2<T> const & m2);
-
215 
-
216  template <typename T>
-
217  tmat4x2<T> operator* (
-
218  tmat2x2<T> const & m1,
-
219  tmat4x2<T> const & m2);
-
220 
-
221  template <typename T>
-
222  tmat2x2<T> operator/ (
-
223  tmat2x2<T> const & m,
-
224  typename tmat2x2<T>::value_type const & s);
-
225 
-
226  template <typename T>
-
227  tmat2x2<T> operator/ (
-
228  typename tmat2x2<T>::value_type const & s,
-
229  tmat2x2<T> const & m);
-
230 
-
231  template <typename T>
-
232  typename tmat2x2<T>::col_type operator/ (
-
233  tmat2x2<T> const & m,
-
234  typename tmat2x2<T>::row_type const & v);
-
235 
-
236  template <typename T>
-
237  typename tmat2x2<T>::row_type operator/ (
-
238  typename tmat2x2<T>::col_type const & v,
-
239  tmat2x2<T> const & m);
-
240 
-
241  template <typename T>
-
242  tmat2x2<T> operator/ (
-
243  tmat2x2<T> const & m1,
-
244  tmat2x2<T> const & m2);
-
245 
-
246  // Unary constant operators
-
247  template <typename T>
-
248  tmat2x2<T> const operator- (
-
249  tmat2x2<T> const & m);
-
250 
-
251  template <typename T>
-
252  tmat2x2<T> const operator-- (
-
253  tmat2x2<T> const & m,
-
254  int);
-
255 
-
256  template <typename T>
-
257  tmat2x2<T> const operator++ (
-
258  tmat2x2<T> const & m,
-
259  int);
-
260 } //namespace detail
-
261 
-
264 
-
270  typedef detail::tmat2x2<lowp_float> lowp_mat2;
-
271 
-
277  typedef detail::tmat2x2<mediump_float> mediump_mat2;
-
278 
-
284  typedef detail::tmat2x2<highp_float> highp_mat2;
-
285 
-
291  typedef detail::tmat2x2<lowp_float> lowp_mat2x2;
-
292 
-
298  typedef detail::tmat2x2<mediump_float> mediump_mat2x2;
-
299 
-
305  typedef detail::tmat2x2<highp_float> highp_mat2x2;
-
306 
-
308 }//namespace glm
-
309 
-
310 #ifndef GLM_EXTERNAL_TEMPLATE
-
311 #include "type_mat2x2.inl"
-
312 #endif
-
313 
-
314 #endif //glm_core_type_mat2x2
-
- - - - + + + + + + +GLM: quaternion.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtx/quaternion.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_quaternion
+
40 #define GLM_GTX_quaternion
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 #include "../gtc/constants.hpp"
+
45 #include "../gtc/quaternion.hpp"
+
46 #include "../gtx/norm.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_quaternion extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
60  template<typename T, precision P>
+
61  detail::tvec3<T, P> cross(
+
62  detail::tquat<T, P> const & q,
+
63  detail::tvec3<T, P> const & v);
+
64 
+
68  template<typename T, precision P>
+
69  detail::tvec3<T, P> cross(
+
70  detail::tvec3<T, P> const & v,
+
71  detail::tquat<T, P> const & q);
+
72 
+
77  template<typename T, precision P>
+
78  detail::tquat<T, P> squad(
+
79  detail::tquat<T, P> const & q1,
+
80  detail::tquat<T, P> const & q2,
+
81  detail::tquat<T, P> const & s1,
+
82  detail::tquat<T, P> const & s2,
+
83  T const & h);
+
84 
+
88  template<typename T, precision P>
+
89  detail::tquat<T, P> intermediate(
+
90  detail::tquat<T, P> const & prev,
+
91  detail::tquat<T, P> const & curr,
+
92  detail::tquat<T, P> const & next);
+
93 
+
97  template<typename T, precision P>
+
98  detail::tquat<T, P> exp(
+
99  detail::tquat<T, P> const & q);
+
100 
+
104  template<typename T, precision P>
+
105  detail::tquat<T, P> log(
+
106  detail::tquat<T, P> const & q);
+
107 
+
111  template<typename T, precision P>
+
112  detail::tquat<T, P> pow(
+
113  detail::tquat<T, P> const & x,
+
114  T const & y);
+
115 
+
119  //template<typename T, precision P>
+
120  //detail::tquat<T, P> sqrt(
+
121  // detail::tquat<T, P> const & q);
+
122 
+
126  template<typename T, precision P>
+
127  detail::tvec3<T, P> rotate(
+
128  detail::tquat<T, P> const & q,
+
129  detail::tvec3<T, P> const & v);
+
130 
+
134  template<typename T, precision P>
+
135  detail::tvec4<T, P> rotate(
+
136  detail::tquat<T, P> const & q,
+
137  detail::tvec4<T, P> const & v);
+
138 
+
142  template<typename T, precision P>
+ +
144  detail::tquat<T, P> const & q);
+
145 
+
149  template<typename T, precision P>
+
150  detail::tmat3x3<T, P> toMat3(
+
151  detail::tquat<T, P> const & x){return mat3_cast(x);}
+
152 
+
156  template<typename T, precision P>
+
157  detail::tmat4x4<T, P> toMat4(
+
158  detail::tquat<T, P> const & x){return mat4_cast(x);}
+
159 
+
163  template<typename T, precision P>
+
164  detail::tquat<T, P> toQuat(
+
165  detail::tmat3x3<T, P> const & x){return quat_cast(x);}
+
166 
+
170  template<typename T, precision P>
+
171  detail::tquat<T, P> toQuat(
+
172  detail::tmat4x4<T, P> const & x){return quat_cast(x);}
+
173 
+
177  template<typename T, precision P>
+
178  detail::tquat<T, P> shortMix(
+
179  detail::tquat<T, P> const & x,
+
180  detail::tquat<T, P> const & y,
+
181  T const & a);
+
182 
+
186  template<typename T, precision P>
+
187  detail::tquat<T, P> fastMix(
+
188  detail::tquat<T, P> const & x,
+
189  detail::tquat<T, P> const & y,
+
190  T const & a);
+
191 
+
197  template<typename T, precision P>
+
198  detail::tquat<T, P> rotation(
+
199  detail::tvec3<T, P> const & orig,
+
200  detail::tvec3<T, P> const & dest);
+
201 
+
205  template<typename T, precision P>
+
206  T length2(detail::tquat<T, P> const & q);
+
207 
+
209 }//namespace glm
+
210 
+
211 #include "quaternion.inl"
+
212 
+
213 #endif//GLM_GTX_quaternion
+
detail::tquat< T, P > toQuat(detail::tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
+
T extractRealComponent(detail::tquat< T, P > const &q)
Extract the real component of a quaternion.
+
GLM_FUNC_DECL detail::tvec3< T, P > cross(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
Returns the cross product of x and y.
+
GLM_FUNC_DECL detail::tquat< T, P > quat_cast(detail::tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > rotate(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
+
detail::tmat4x4< T, P > toMat4(detail::tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
+
GLM_FUNC_DECL genType exp(genType const &x)
Returns the natural exponentiation of x, i.e., e^x.
+
detail::tquat< T, P > intermediate(detail::tquat< T, P > const &prev, detail::tquat< T, P > const &curr, detail::tquat< T, P > const &next)
Returns an intermediate control point for squad interpolation.
+
detail::tquat< T, P > shortMix(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Quaternion interpolation using the rotation short path.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > mat4_cast(detail::tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
+
T length2(T const &x)
Returns the squared length of x.
+
detail::tmat3x3< T, P > toMat3(detail::tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
+
detail::tquat< T, P > squad(detail::tquat< T, P > const &q1, detail::tquat< T, P > const &q2, detail::tquat< T, P > const &s1, detail::tquat< T, P > const &s2, T const &h)
Compute a point on a path according squad equation.
+
GLM_FUNC_DECL genType pow(genType const &base, genType const &exponent)
Returns &#39;base&#39; raised to the power &#39;exponent&#39;.
+
GLM_FUNC_DECL detail::tmat3x3< T, P > mat3_cast(detail::tquat< T, P > const &x)
Converts a quaternion to a 3 * 3 matrix.
+
detail::tquat< T, P > fastMix(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Quaternion normalized linear interpolation.
+
detail::tquat< T, P > rotation(detail::tvec3< T, P > const &orig, detail::tvec3< T, P > const &dest)
Compute the rotation between two vectors.
+
GLM_FUNC_DECL genType log(genType const &x)
Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y...
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00100.html glm-0.9.5.1/doc/api/a00100.html --- glm-0.9.4.6/doc/api/a00100.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00100.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,83 +1,113 @@ - - - - - -type_mat2x3.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_mat2x3.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Typedefs

typedef detail::tmat2x3
-< highp_float > 
highp_mat2x3
 
typedef detail::tmat2x3
-< lowp_float > 
lowp_mat2x3
 
typedef detail::tmat2x3
-< mediump_float > 
mediump_mat2x3
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2006-10-01 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_mat2x3.hpp.

-
- - - - + + + + + + +GLM: random.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
gtc/random.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
+defaultp > 
ballRand (T const &Radius)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
+defaultp > 
circularRand (T const &Radius)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
+defaultp > 
diskRand (T const &Radius)
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType const &Mean, genType const &Deviation)
 
template<typename genType >
GLM_FUNC_DECL genType linearRand (genType const &Min, genType const &Max)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
+defaultp > 
sphericalRand (T const &Radius)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_random

+
Date
2011-09-18 / 2011-09-18
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+
+gtx_random (extended)
+ +

Definition in file gtc/random.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00100_source.html glm-0.9.5.1/doc/api/a00100_source.html --- glm-0.9.4.6/doc/api/a00100_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00100_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,294 +1,114 @@ - - - - - -type_mat2x3.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat2x3.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_mat2x3
-
30 #define glm_core_type_mat2x3
-
31 
-
32 #include "type_mat.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  template <typename T> struct tvec1;
-
38  template <typename T> struct tvec2;
-
39  template <typename T> struct tvec3;
-
40  template <typename T> struct tvec4;
-
41  template <typename T> struct tmat2x2;
-
42  template <typename T> struct tmat2x3;
-
43  template <typename T> struct tmat2x4;
-
44  template <typename T> struct tmat3x2;
-
45  template <typename T> struct tmat3x3;
-
46  template <typename T> struct tmat3x4;
-
47  template <typename T> struct tmat4x2;
-
48  template <typename T> struct tmat4x3;
-
49  template <typename T> struct tmat4x4;
-
50 
-
51  template <typename T>
-
52  struct tmat2x3
-
53  {
-
54  enum ctor{null};
-
55  typedef T value_type;
-
56  typedef std::size_t size_type;
-
57  typedef tvec3<T> col_type;
-
58  typedef tvec2<T> row_type;
-
59  typedef tmat2x3<T> type;
-
60  typedef tmat3x2<T> transpose_type;
-
61 
-
62  static GLM_FUNC_DECL size_type col_size();
-
63  static GLM_FUNC_DECL size_type row_size();
-
64 
-
65  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
66 
-
67  private:
-
68  // Data
-
69  col_type value[2];
-
70 
-
71  public:
-
72  // Constructors
-
73  GLM_FUNC_DECL tmat2x3();
-
74  GLM_FUNC_DECL tmat2x3(tmat2x3 const & m);
-
75 
-
76  GLM_FUNC_DECL explicit tmat2x3(
-
77  ctor);
-
78  GLM_FUNC_DECL explicit tmat2x3(
-
79  value_type const & s);
-
80  GLM_FUNC_DECL explicit tmat2x3(
-
81  value_type const & x0, value_type const & y0, value_type const & z0,
-
82  value_type const & x1, value_type const & y1, value_type const & z1);
-
83  GLM_FUNC_DECL explicit tmat2x3(
-
84  col_type const & v0,
-
85  col_type const & v1);
-
86 
-
88  // Conversions
-
89  template <typename U>
-
90  GLM_FUNC_DECL explicit tmat2x3(
-
91  U const & x);
-
92 
-
93  template <typename X1, typename Y1, typename Z1, typename X2, typename Y2, typename Z2>
-
94  GLM_FUNC_DECL explicit tmat2x3(
-
95  X1 const & x1, Y1 const & y1, Z1 const & z1,
-
96  X2 const & x2, Y2 const & y2, Z2 const & z2);
-
97 
-
98  template <typename U, typename V>
-
99  GLM_FUNC_DECL explicit tmat2x3(
-
100  tvec3<U> const & v1,
-
101  tvec3<V> const & v2);
-
102 
-
104  // Matrix conversion
-
105  template <typename U>
-
106  GLM_FUNC_DECL explicit tmat2x3(tmat2x3<U> const & m);
-
107 
-
108  GLM_FUNC_DECL explicit tmat2x3(tmat2x2<T> const & x);
-
109  GLM_FUNC_DECL explicit tmat2x3(tmat3x3<T> const & x);
-
110  GLM_FUNC_DECL explicit tmat2x3(tmat4x4<T> const & x);
-
111  GLM_FUNC_DECL explicit tmat2x3(tmat2x4<T> const & x);
-
112  GLM_FUNC_DECL explicit tmat2x3(tmat3x2<T> const & x);
-
113  GLM_FUNC_DECL explicit tmat2x3(tmat3x4<T> const & x);
-
114  GLM_FUNC_DECL explicit tmat2x3(tmat4x2<T> const & x);
-
115  GLM_FUNC_DECL explicit tmat2x3(tmat4x3<T> const & x);
-
116 
-
117  // Accesses
-
118  col_type & operator[](size_type i);
-
119  col_type const & operator[](size_type i) const;
-
120 
-
121  // Unary updatable operators
-
122  GLM_FUNC_DECL tmat2x3<T> & operator= (tmat2x3<T> const & m);
-
123  template <typename U>
-
124  GLM_FUNC_DECL tmat2x3<T> & operator= (tmat2x3<U> const & m);
-
125  template <typename U>
-
126  GLM_FUNC_DECL tmat2x3<T> & operator+= (U const & s);
-
127  template <typename U>
-
128  GLM_FUNC_DECL tmat2x3<T> & operator+= (tmat2x3<U> const & m);
-
129  template <typename U>
-
130  GLM_FUNC_DECL tmat2x3<T> & operator-= (U const & s);
-
131  template <typename U>
-
132  GLM_FUNC_DECL tmat2x3<T> & operator-= (tmat2x3<U> const & m);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tmat2x3<T> & operator*= (U const & s);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tmat2x3<T> & operator*= (tmat2x3<U> const & m);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat2x3<T> & operator/= (U const & s);
-
139 
-
140  GLM_FUNC_DECL tmat2x3<T> & operator++ ();
-
141  GLM_FUNC_DECL tmat2x3<T> & operator-- ();
-
142  };
-
143 
-
144  // Binary operators
-
145  template <typename T>
-
146  tmat2x3<T> operator+ (
-
147  tmat2x3<T> const & m,
-
148  typename tmat2x3<T>::value_type const & s);
-
149 
-
150  template <typename T>
-
151  tmat2x3<T> operator+ (
-
152  tmat2x3<T> const & m1,
-
153  tmat2x3<T> const & m2);
-
154 
-
155  template <typename T>
-
156  tmat2x3<T> operator- (
-
157  tmat2x3<T> const & m,
-
158  typename tmat2x3<T>::value_type const & s);
-
159 
-
160  template <typename T>
-
161  tmat2x3<T> operator- (
-
162  tmat2x3<T> const & m1,
-
163  tmat2x3<T> const & m2);
-
164 
-
165  template <typename T>
-
166  tmat2x3<T> operator* (
-
167  tmat2x3<T> const & m,
-
168  typename tmat2x3<T>::value_type const & s);
-
169 
-
170  template <typename T>
-
171  tmat2x3<T> operator* (
-
172  typename tmat2x3<T>::value_type const & s,
-
173  tmat2x3<T> const & m);
-
174 
-
175  template <typename T>
-
176  typename tmat2x3<T>::col_type operator* (
-
177  tmat2x3<T> const & m,
-
178  typename tmat2x3<T>::row_type const & v);
-
179 
-
180  template <typename T>
-
181  typename tmat2x3<T>::row_type operator* (
-
182  typename tmat2x3<T>::col_type const & v,
-
183  tmat2x3<T> const & m);
-
184 
-
185  template <typename T>
-
186  tmat2x3<T> operator* (
-
187  tmat2x3<T> const & m1,
-
188  tmat2x2<T> const & m2);
-
189 
-
190  template <typename T>
-
191  tmat3x3<T> operator* (
-
192  tmat2x3<T> const & m1,
-
193  tmat3x2<T> const & m2);
-
194 
-
195  template <typename T>
-
196  tmat4x3<T> operator* (
-
197  tmat2x3<T> const & m1,
-
198  tmat4x2<T> const & m2);
-
199 
-
200  template <typename T>
-
201  tmat2x3<T> operator/ (
-
202  tmat2x3<T> const & m,
-
203  typename tmat2x3<T>::value_type const & s);
-
204 
-
205  template <typename T>
-
206  tmat2x3<T> operator/ (
-
207  typename tmat2x3<T>::value_type const & s,
-
208  tmat2x3<T> const & m);
-
209 
-
210  // Unary constant operators
-
211  template <typename T>
-
212  tmat2x3<T> const operator- (
-
213  tmat2x3<T> const & m);
-
214 
-
215  template <typename T>
-
216  tmat2x3<T> const operator-- (
-
217  tmat2x3<T> const & m,
-
218  int);
-
219 
-
220  template <typename T>
-
221  tmat2x3<T> const operator++ (
-
222  tmat2x3<T> const & m,
-
223  int);
-
224 
-
225 } //namespace detail
-
226 
-
229 
-
235  typedef detail::tmat2x3<lowp_float> lowp_mat2x3;
-
236 
-
242  typedef detail::tmat2x3<mediump_float> mediump_mat2x3;
-
243 
-
249  typedef detail::tmat2x3<highp_float> highp_mat2x3;
-
250 
-
252 }//namespace glm
-
253 
-
254 #ifndef GLM_EXTERNAL_TEMPLATE
-
255 #include "type_mat2x3.inl"
-
256 #endif
-
257 
-
258 #endif //glm_core_type_mat2x3
-
- - - - + + + + + + +GLM: random.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtc/random.hpp
+
+
+Go to the documentation of this file.
1 
+
40 #ifndef GLM_GTC_random
+
41 #define GLM_GTC_random
+
42 
+
43 // Dependency:
+
44 #include "../vec2.hpp"
+
45 #include "../vec3.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTC_random extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
62  template <typename genType>
+
63  GLM_FUNC_DECL genType linearRand(
+
64  genType const & Min,
+
65  genType const & Max);
+
66 
+
72  template <typename genType>
+
73  GLM_FUNC_DECL genType gaussRand(
+
74  genType const & Mean,
+
75  genType const & Deviation);
+
76 
+
81  template <typename T>
+
82  GLM_FUNC_DECL detail::tvec2<T, defaultp> circularRand(
+
83  T const & Radius);
+
84 
+
89  template <typename T>
+
90  GLM_FUNC_DECL detail::tvec3<T, defaultp> sphericalRand(
+
91  T const & Radius);
+
92 
+
97  template <typename T>
+
98  GLM_FUNC_DECL detail::tvec2<T, defaultp> diskRand(
+
99  T const & Radius);
+
100 
+
105  template <typename T>
+
106  GLM_FUNC_DECL detail::tvec3<T, defaultp> ballRand(
+
107  T const & Radius);
+
108 
+
110 }//namespace glm
+
111 
+
112 #include "random.inl"
+
113 
+
114 #endif//GLM_GTC_random
+
GLM_FUNC_DECL detail::tvec2< T, defaultp > circularRand(T const &Radius)
Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius...
+
GLM_FUNC_DECL detail::tvec3< T, defaultp > sphericalRand(T const &Radius)
Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius...
+
GLM_FUNC_DECL genType gaussRand(genType const &Mean, genType const &Deviation)
Generate random numbers in the interval [Min, Max], according a gaussian distribution.
+
GLM_FUNC_DECL detail::tvec3< T, defaultp > ballRand(T const &Radius)
Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of...
+
GLM_FUNC_DECL genType linearRand(genType const &Min, genType const &Max)
Generate random numbers in the interval [Min, Max], according a linear distribution.
+
GLM_FUNC_DECL detail::tvec2< T, defaultp > diskRand(T const &Radius)
Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a...
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00101.html glm-0.9.5.1/doc/api/a00101.html --- glm-0.9.4.6/doc/api/a00101.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00101.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ - - - - - -type_mat2x4.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_mat2x4.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Typedefs

typedef detail::tmat2x4
-< highp_float > 
highp_mat2x4
 
typedef detail::tmat2x4
-< lowp_float > 
lowp_mat2x4
 
typedef detail::tmat2x4
-< mediump_float > 
mediump_mat2x4
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2006-08-05 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_mat2x4.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00101_source.html glm-0.9.5.1/doc/api/a00101_source.html --- glm-0.9.4.6/doc/api/a00101_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00101_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,296 +1,69 @@ - - - - - -type_mat2x4.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat2x4.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_mat2x4
-
30 #define glm_core_type_mat2x4
-
31 
-
32 #include "type_mat.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  template <typename T> struct tvec1;
-
38  template <typename T> struct tvec2;
-
39  template <typename T> struct tvec3;
-
40  template <typename T> struct tvec4;
-
41  template <typename T> struct tmat2x2;
-
42  template <typename T> struct tmat2x3;
-
43  template <typename T> struct tmat2x4;
-
44  template <typename T> struct tmat3x2;
-
45  template <typename T> struct tmat3x3;
-
46  template <typename T> struct tmat3x4;
-
47  template <typename T> struct tmat4x2;
-
48  template <typename T> struct tmat4x3;
-
49  template <typename T> struct tmat4x4;
-
50 
-
51  template <typename T>
-
52  struct tmat2x4
-
53  {
-
54  enum ctor{null};
-
55  typedef T value_type;
-
56  typedef std::size_t size_type;
-
57  typedef tvec4<T> col_type;
-
58  typedef tvec2<T> row_type;
-
59  typedef tmat2x4<T> type;
-
60  typedef tmat4x2<T> transpose_type;
-
61 
-
62  static GLM_FUNC_DECL size_type col_size();
-
63  static GLM_FUNC_DECL size_type row_size();
-
64 
-
65  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
66 
-
67  private:
-
68  // Data
-
69  col_type value[2];
-
70 
-
71  public:
-
72  // Constructors
-
73  GLM_FUNC_DECL tmat2x4();
-
74  GLM_FUNC_DECL tmat2x4(tmat2x4 const & m);
-
75 
-
76  GLM_FUNC_DECL explicit tmat2x4(
-
77  ctor);
-
78  GLM_FUNC_DECL explicit tmat2x4(
-
79  value_type const & s);
-
80  GLM_FUNC_DECL explicit tmat2x4(
-
81  value_type const & x0, value_type const & y0, value_type const & z0, value_type const & w0,
-
82  value_type const & x1, value_type const & y1, value_type const & z1, value_type const & w1);
-
83  GLM_FUNC_DECL explicit tmat2x4(
-
84  col_type const & v0,
-
85  col_type const & v1);
-
86 
-
88  // Conversions
-
89  template <typename U>
-
90  GLM_FUNC_DECL explicit tmat2x4(
-
91  U const & x);
-
92 
-
93  template <
-
94  typename X1, typename Y1, typename Z1, typename W1,
-
95  typename X2, typename Y2, typename Z2, typename W2>
-
96  GLM_FUNC_DECL explicit tmat2x4(
-
97  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
-
98  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2);
-
99 
-
100  template <typename U, typename V>
-
101  GLM_FUNC_DECL explicit tmat2x4(
-
102  tvec4<U> const & v1,
-
103  tvec4<V> const & v2);
-
104 
-
106  // Matrix conversions
-
107  template <typename U>
-
108  GLM_FUNC_DECL explicit tmat2x4(tmat2x4<U> const & m);
-
109 
-
110  GLM_FUNC_DECL explicit tmat2x4(tmat2x2<T> const & x);
-
111  GLM_FUNC_DECL explicit tmat2x4(tmat3x3<T> const & x);
-
112  GLM_FUNC_DECL explicit tmat2x4(tmat4x4<T> const & x);
-
113  GLM_FUNC_DECL explicit tmat2x4(tmat2x3<T> const & x);
-
114  GLM_FUNC_DECL explicit tmat2x4(tmat3x2<T> const & x);
-
115  GLM_FUNC_DECL explicit tmat2x4(tmat3x4<T> const & x);
-
116  GLM_FUNC_DECL explicit tmat2x4(tmat4x2<T> const & x);
-
117  GLM_FUNC_DECL explicit tmat2x4(tmat4x3<T> const & x);
-
118 
-
119  // Accesses
-
120  GLM_FUNC_DECL col_type & operator[](size_type i);
-
121  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
122 
-
123  // Unary updatable operators
-
124  GLM_FUNC_DECL tmat2x4<T>& operator= (tmat2x4<T> const & m);
-
125  template <typename U>
-
126  GLM_FUNC_DECL tmat2x4<T>& operator= (tmat2x4<U> const & m);
-
127  template <typename U>
-
128  GLM_FUNC_DECL tmat2x4<T>& operator+= (U const & s);
-
129  template <typename U>
-
130  GLM_FUNC_DECL tmat2x4<T>& operator+= (tmat2x4<U> const & m);
-
131  template <typename U>
-
132  GLM_FUNC_DECL tmat2x4<T>& operator-= (U const & s);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tmat2x4<T>& operator-= (tmat2x4<U> const & m);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tmat2x4<T>& operator*= (U const & s);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat2x4<T>& operator*= (tmat2x4<U> const & m);
-
139  template <typename U>
-
140  GLM_FUNC_DECL tmat2x4<T>& operator/= (U const & s);
-
141 
-
142  GLM_FUNC_DECL tmat2x4<T>& operator++ ();
-
143  GLM_FUNC_DECL tmat2x4<T>& operator-- ();
-
144  };
-
145 
-
146  // Binary operators
-
147  template <typename T>
-
148  tmat2x4<T> operator+ (
-
149  tmat2x4<T> const & m,
-
150  typename tmat2x4<T>::value_type const & s);
-
151 
-
152  template <typename T>
-
153  tmat2x4<T> operator+ (
-
154  tmat2x4<T> const & m1,
-
155  tmat2x4<T> const & m2);
-
156 
-
157  template <typename T>
-
158  tmat2x4<T> operator- (
-
159  tmat2x4<T> const & m,
-
160  typename tmat2x4<T>::value_type const & s);
-
161 
-
162  template <typename T>
-
163  tmat2x4<T> operator- (
-
164  tmat2x4<T> const & m1,
-
165  tmat2x4<T> const & m2);
-
166 
-
167  template <typename T>
-
168  tmat2x4<T> operator* (
-
169  tmat2x4<T> const & m,
-
170  typename tmat2x4<T>::value_type const & s);
-
171 
-
172  template <typename T>
-
173  tmat2x4<T> operator* (
-
174  typename tmat2x4<T>::value_type const & s,
-
175  tmat2x4<T> const & m);
-
176 
-
177  template <typename T>
-
178  typename tmat2x4<T>::col_type operator* (
-
179  tmat2x4<T> const & m,
-
180  typename tmat2x4<T>::row_type const & v);
-
181 
-
182  template <typename T>
-
183  typename tmat2x4<T>::row_type operator* (
-
184  typename tmat2x4<T>::col_type const & v,
-
185  tmat2x4<T> const & m);
-
186 
-
187  template <typename T>
-
188  tmat4x4<T> operator* (
-
189  tmat2x4<T> const & m1,
-
190  tmat4x2<T> const & m2);
-
191 
-
192  template <typename T>
-
193  tmat2x4<T> operator* (
-
194  tmat2x4<T> const & m1,
-
195  tmat2x2<T> const & m2);
-
196 
-
197  template <typename T>
-
198  tmat3x4<T> operator* (
-
199  tmat2x4<T> const & m1,
-
200  tmat3x2<T> const & m2);
-
201 
-
202  template <typename T>
-
203  tmat2x4<T> operator/ (
-
204  tmat2x4<T> const & m,
-
205  typename tmat2x4<T>::value_type const & s);
-
206 
-
207  template <typename T>
-
208  tmat2x4<T> operator/ (
-
209  typename tmat2x4<T>::value_type const & s,
-
210  tmat2x4<T> const & m);
-
211 
-
212  // Unary constant operators
-
213  template <typename T>
-
214  tmat2x4<T> const operator- (
-
215  tmat2x4<T> const & m);
-
216 
-
217  template <typename T>
-
218  tmat2x4<T> const operator-- (
-
219  tmat2x4<T> const & m,
-
220  int);
-
221 
-
222  template <typename T>
-
223  tmat2x4<T> const operator++ (
-
224  tmat2x4<T> const & m,
-
225  int);
-
226 
-
227 } //namespace detail
-
228 
-
231 
-
237  typedef detail::tmat2x4<lowp_float> lowp_mat2x4;
-
238 
-
244  typedef detail::tmat2x4<mediump_float> mediump_mat2x4;
-
245 
-
251  typedef detail::tmat2x4<highp_float> highp_mat2x4;
-
252 
-
254 }//namespace glm
-
255 
-
256 #ifndef GLM_EXTERNAL_TEMPLATE
-
257 #include "type_mat2x4.inl"
-
258 #endif
-
259 
-
260 #endif //glm_core_type_mat2x4
-
- - - - + + + + + + +GLM: random.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtx/random.hpp
+
+
+
1 
+
24 #if(defined(GLM_MESSAGES))
+
25 # pragma message("GLM: GLM_GTX_random extension is deprecated, include GLM_GTC_random instead")
+
26 #endif
+
27 
+
28 // Promoted:
+
29 #include "../gtc/random.hpp"
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00102.html glm-0.9.5.1/doc/api/a00102.html --- glm-0.9.4.6/doc/api/a00102.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00102.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,83 +1,95 @@ - - - - - -type_mat3x2.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_mat3x2.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Typedefs

typedef detail::tmat3x2
-< highp_float > 
highp_mat3x2
 
typedef detail::tmat3x2
-< lowp_float > 
lowp_mat3x2
 
typedef detail::tmat3x2
-< mediump_float > 
mediump_mat3x2
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2006-08-05 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_mat3x2.hpp.

-
- - - - + + + + + + +GLM: raw_data.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
raw_data.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + +

+Typedefs

typedef detail::uint8 byte
 
typedef detail::uint32 dword
 
typedef detail::uint64 qword
 
typedef detail::uint16 word
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_raw_data

+
Date
2008-11-19 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file raw_data.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00102_source.html glm-0.9.5.1/doc/api/a00102_source.html --- glm-0.9.4.6/doc/api/a00102_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00102_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,302 +1,93 @@ - - - - - -type_mat3x2.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat3x2.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_mat3x2
-
30 #define glm_core_type_mat3x2
-
31 
-
32 #include "type_mat.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  template <typename T> struct tvec1;
-
38  template <typename T> struct tvec2;
-
39  template <typename T> struct tvec3;
-
40  template <typename T> struct tvec4;
-
41  template <typename T> struct tmat2x2;
-
42  template <typename T> struct tmat2x3;
-
43  template <typename T> struct tmat2x4;
-
44  template <typename T> struct tmat3x2;
-
45  template <typename T> struct tmat3x3;
-
46  template <typename T> struct tmat3x4;
-
47  template <typename T> struct tmat4x2;
-
48  template <typename T> struct tmat4x3;
-
49  template <typename T> struct tmat4x4;
-
50 
-
51  template <typename T>
-
52  struct tmat3x2
-
53  {
-
54  enum ctor{null};
-
55  typedef T value_type;
-
56  typedef std::size_t size_type;
-
57  typedef tvec2<T> col_type;
-
58  typedef tvec3<T> row_type;
-
59  typedef tmat3x2<T> type;
-
60  typedef tmat2x3<T> transpose_type;
-
61 
-
62  static GLM_FUNC_DECL size_type col_size();
-
63  static GLM_FUNC_DECL size_type row_size();
-
64 
-
65  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
66 
-
67  private:
-
68  // Data
-
69  col_type value[3];
-
70 
-
71  public:
-
72  // Constructors
-
73  GLM_FUNC_DECL tmat3x2();
-
74  GLM_FUNC_DECL tmat3x2(tmat3x2 const & m);
-
75 
-
76  GLM_FUNC_DECL explicit tmat3x2(
-
77  ctor);
-
78  GLM_FUNC_DECL explicit tmat3x2(
-
79  value_type const & s);
-
80  GLM_FUNC_DECL explicit tmat3x2(
-
81  value_type const & x0, value_type const & y0,
-
82  value_type const & x1, value_type const & y1,
-
83  value_type const & x2, value_type const & y2);
-
84  GLM_FUNC_DECL explicit tmat3x2(
-
85  col_type const & v0,
-
86  col_type const & v1,
-
87  col_type const & v2);
-
88 
-
90  // Conversions
-
91  template <typename U>
-
92  GLM_FUNC_DECL explicit tmat3x2(
-
93  U const & x);
-
94 
-
95  template
-
96  <
-
97  typename X1, typename Y1,
-
98  typename X2, typename Y2,
-
99  typename X3, typename Y3
-
100  >
-
101  GLM_FUNC_DECL explicit tmat3x2(
-
102  X1 const & x1, Y1 const & y1,
-
103  X2 const & x2, Y2 const & y2,
-
104  X3 const & x3, Y3 const & y3);
-
105 
-
106  template <typename V1, typename V2, typename V3>
-
107  GLM_FUNC_DECL explicit tmat3x2(
-
108  tvec2<V1> const & v1,
-
109  tvec2<V2> const & v2,
-
110  tvec2<V3> const & v3);
-
111 
-
112  // Matrix conversions
-
113  template <typename U>
-
114  GLM_FUNC_DECL explicit tmat3x2(tmat3x2<U> const & m);
-
115 
-
116  GLM_FUNC_DECL explicit tmat3x2(tmat2x2<T> const & x);
-
117  GLM_FUNC_DECL explicit tmat3x2(tmat3x3<T> const & x);
-
118  GLM_FUNC_DECL explicit tmat3x2(tmat4x4<T> const & x);
-
119  GLM_FUNC_DECL explicit tmat3x2(tmat2x3<T> const & x);
-
120  GLM_FUNC_DECL explicit tmat3x2(tmat2x4<T> const & x);
-
121  GLM_FUNC_DECL explicit tmat3x2(tmat3x4<T> const & x);
-
122  GLM_FUNC_DECL explicit tmat3x2(tmat4x2<T> const & x);
-
123  GLM_FUNC_DECL explicit tmat3x2(tmat4x3<T> const & x);
-
124 
-
125  // Accesses
-
126  GLM_FUNC_DECL col_type & operator[](size_type i);
-
127  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
128 
-
129  // Unary updatable operators
-
130  GLM_FUNC_DECL tmat3x2<T> & operator= (tmat3x2<T> const & m);
-
131  template <typename U>
-
132  GLM_FUNC_DECL tmat3x2<T> & operator= (tmat3x2<U> const & m);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tmat3x2<T> & operator+= (U const & s);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tmat3x2<T> & operator+= (tmat3x2<U> const & m);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat3x2<T> & operator-= (U const & s);
-
139  template <typename U>
-
140  GLM_FUNC_DECL tmat3x2<T> & operator-= (tmat3x2<U> const & m);
-
141  template <typename U>
-
142  GLM_FUNC_DECL tmat3x2<T> & operator*= (U const & s);
-
143  template <typename U>
-
144  GLM_FUNC_DECL tmat3x2<T> & operator*= (tmat3x2<U> const & m);
-
145  template <typename U>
-
146  GLM_FUNC_DECL tmat3x2<T> & operator/= (U const & s);
-
147 
-
148  GLM_FUNC_DECL tmat3x2<T> & operator++ ();
-
149  GLM_FUNC_DECL tmat3x2<T> & operator-- ();
-
150  };
-
151 
-
152  // Binary operators
-
153  template <typename T>
-
154  tmat3x2<T> operator+ (
-
155  tmat3x2<T> const & m,
-
156  typename tmat3x2<T>::value_type const & s);
-
157 
-
158  template <typename T>
-
159  tmat3x2<T> operator+ (
-
160  tmat3x2<T> const & m1,
-
161  tmat3x2<T> const & m2);
-
162 
-
163  template <typename T>
-
164  tmat3x2<T> operator- (
-
165  tmat3x2<T> const & m,
-
166  typename tmat3x2<T>::value_type const & s);
-
167 
-
168  template <typename T>
-
169  tmat3x2<T> operator- (
-
170  tmat3x2<T> const & m1,
-
171  tmat3x2<T> const & m2);
-
172 
-
173  template <typename T>
-
174  tmat3x2<T> operator* (
-
175  tmat3x2<T> const & m,
-
176  typename tmat3x2<T>::value_type const & s);
-
177 
-
178  template <typename T>
-
179  tmat3x2<T> operator* (
-
180  typename tmat3x2<T>::value_type const & s,
-
181  tmat3x2<T> const & m);
-
182 
-
183  template <typename T>
-
184  typename tmat3x2<T>::col_type operator* (
-
185  tmat3x2<T> const & m,
-
186  typename tmat3x2<T>::row_type const & v);
-
187 
-
188  template <typename T>
-
189  typename tmat3x2<T>::row_type operator* (
-
190  typename tmat3x2<T>::col_type const & v,
-
191  tmat3x2<T> const & m);
-
192 
-
193  template <typename T>
-
194  tmat2x2<T> operator* (
-
195  tmat3x2<T> const & m1,
-
196  tmat2x3<T> const & m2);
-
197 
-
198  template <typename T>
-
199  tmat3x2<T> operator* (
-
200  tmat3x2<T> const & m1,
-
201  tmat3x3<T> const & m2);
-
202 
-
203  template <typename T>
-
204  tmat4x2<T> operator* (
-
205  tmat3x2<T> const & m1,
-
206  tmat4x3<T> const & m2);
-
207 
-
208  template <typename T>
-
209  tmat3x2<T> operator/ (
-
210  tmat3x2<T> const & m,
-
211  typename tmat3x2<T>::value_type const & s);
-
212 
-
213  template <typename T>
-
214  tmat3x2<T> operator/ (
-
215  typename tmat3x2<T>::value_type const & s,
-
216  tmat3x2<T> const & m);
-
217 
-
218  // Unary constant operators
-
219  template <typename T>
-
220  tmat3x2<T> const operator- (
-
221  tmat3x2<T> const & m);
-
222 
-
223  template <typename T>
-
224  tmat3x2<T> const operator-- (
-
225  tmat3x2<T> const & m,
-
226  int);
-
227 
-
228  template <typename T>
-
229  tmat3x2<T> const operator++ (
-
230  tmat3x2<T> const & m,
-
231  int);
-
232 } //namespace detail
-
233 
-
236 
-
242  typedef detail::tmat3x2<lowp_float> lowp_mat3x2;
-
243 
-
249  typedef detail::tmat3x2<mediump_float> mediump_mat3x2;
-
250 
-
256  typedef detail::tmat3x2<highp_float> highp_mat3x2;
-
257 
-
259 }//namespace glm
-
260 
-
261 #ifndef GLM_EXTERNAL_TEMPLATE
-
262 #include "type_mat3x2.inl"
-
263 #endif
-
264 
-
265 #endif //glm_core_type_mat3x2
-
- - - - + + + + + + +GLM: raw_data.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
raw_data.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_raw_data
+
39 #define GLM_GTX_raw_data
+
40 
+
41 // Dependencies
+
42 #include "../detail/setup.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_raw_data extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  typedef detail::uint8 byte;
+
56 
+
59  typedef detail::uint16 word;
+
60 
+
63  typedef detail::uint32 dword;
+
64 
+
67  typedef detail::uint64 qword;
+
68 
+
70 }// namespace glm
+
71 
+
72 #include "raw_data.inl"
+
73 
+
74 #endif//GLM_GTX_raw_data
+
detail::uint32 dword
Type for dword numbers.
Definition: raw_data.hpp:63
+
detail::uint64 qword
Type for qword numbers.
Definition: raw_data.hpp:67
+
detail::uint16 word
Type for word numbers.
Definition: raw_data.hpp:59
+
detail::uint8 byte
Type for byte numbers.
Definition: raw_data.hpp:55
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00103.html glm-0.9.5.1/doc/api/a00103.html --- glm-0.9.4.6/doc/api/a00103.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00103.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,68 +1,123 @@ - - - - - -type_mat3x3.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat3x3.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2005-01-27 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_mat3x3.hpp.

-
- - - - + + + + + + +GLM: reciprocal.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
gtc/reciprocal.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType acot (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acoth (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsc (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsch (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asec (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asech (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csc (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csch (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType const &angle)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_reciprocal

+
Date
2008-10-09 / 2012-01-25
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file gtc/reciprocal.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00103_source.html glm-0.9.5.1/doc/api/a00103_source.html --- glm-0.9.4.6/doc/api/a00103_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00103_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,337 +1,130 @@ - - - - - -type_mat3x3.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat3x3.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_mat3x3
-
30 #define glm_core_type_mat3x3
-
31 
-
32 #include "type_mat.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  template <typename T> struct tvec1;
-
38  template <typename T> struct tvec2;
-
39  template <typename T> struct tvec3;
-
40  template <typename T> struct tvec4;
-
41  template <typename T> struct tmat2x2;
-
42  template <typename T> struct tmat2x3;
-
43  template <typename T> struct tmat2x4;
-
44  template <typename T> struct tmat3x2;
-
45  template <typename T> struct tmat3x3;
-
46  template <typename T> struct tmat3x4;
-
47  template <typename T> struct tmat4x2;
-
48  template <typename T> struct tmat4x3;
-
49  template <typename T> struct tmat4x4;
-
50 
-
51  template <typename T>
-
52  struct tmat3x3
-
53  {
-
54  enum ctor{null};
-
55  typedef T value_type;
-
56  typedef std::size_t size_type;
-
57  typedef tvec3<T> col_type;
-
58  typedef tvec3<T> row_type;
-
59  typedef tmat3x3<T> type;
-
60  typedef tmat3x3<T> transpose_type;
-
61 
-
62  static GLM_FUNC_DECL size_type col_size();
-
63  static GLM_FUNC_DECL size_type row_size();
-
64 
-
65  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
66 
-
67  public:
-
70  GLM_FUNC_DECL tmat3x3<T> _inverse() const;
-
72 
-
73  private:
-
74  // Data
-
75  col_type value[3];
-
76 
-
77  public:
-
78  // Constructors
-
79  GLM_FUNC_DECL tmat3x3();
-
80  GLM_FUNC_DECL tmat3x3(tmat3x3 const & m);
-
81 
-
82  GLM_FUNC_DECL explicit tmat3x3(
-
83  ctor Null);
-
84  GLM_FUNC_DECL explicit tmat3x3(
-
85  value_type const & s);
-
86  GLM_FUNC_DECL explicit tmat3x3(
-
87  value_type const & x0, value_type const & y0, value_type const & z0,
-
88  value_type const & x1, value_type const & y1, value_type const & z1,
-
89  value_type const & x2, value_type const & y2, value_type const & z2);
-
90  GLM_FUNC_DECL explicit tmat3x3(
-
91  col_type const & v0,
-
92  col_type const & v1,
-
93  col_type const & v2);
-
94 
-
96  // Conversions
-
97  template <typename U>
-
98  GLM_FUNC_DECL explicit tmat3x3(
-
99  U const & x);
-
100 
-
101  template
-
102  <
-
103  typename X1, typename Y1, typename Z1,
-
104  typename X2, typename Y2, typename Z2,
-
105  typename X3, typename Y3, typename Z3
-
106  >
-
107  GLM_FUNC_DECL explicit tmat3x3(
-
108  X1 const & x1, Y1 const & y1, Z1 const & z1,
-
109  X2 const & x2, Y2 const & y2, Z2 const & z2,
-
110  X3 const & x3, Y3 const & y3, Z3 const & z3);
-
111 
-
112  template <typename V1, typename V2, typename V3>
-
113  GLM_FUNC_DECL explicit tmat3x3(
-
114  tvec3<V1> const & v1,
-
115  tvec3<V2> const & v2,
-
116  tvec3<V3> const & v3);
-
117 
-
118  // Matrix conversions
-
119  template <typename U>
-
120  GLM_FUNC_DECL explicit tmat3x3(tmat3x3<U> const & m);
-
121 
-
122  GLM_FUNC_DECL explicit tmat3x3(tmat2x2<T> const & x);
-
123  GLM_FUNC_DECL explicit tmat3x3(tmat4x4<T> const & x);
-
124  GLM_FUNC_DECL explicit tmat3x3(tmat2x3<T> const & x);
-
125  GLM_FUNC_DECL explicit tmat3x3(tmat3x2<T> const & x);
-
126  GLM_FUNC_DECL explicit tmat3x3(tmat2x4<T> const & x);
-
127  GLM_FUNC_DECL explicit tmat3x3(tmat4x2<T> const & x);
-
128  GLM_FUNC_DECL explicit tmat3x3(tmat3x4<T> const & x);
-
129  GLM_FUNC_DECL explicit tmat3x3(tmat4x3<T> const & x);
-
130 
-
131  // Accesses
-
132  GLM_FUNC_DECL col_type & operator[](size_type i);
-
133  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
134 
-
135  // Unary updatable operators
-
136  GLM_FUNC_DECL tmat3x3<T>& operator= (tmat3x3<T> const & m);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat3x3<T>& operator= (tmat3x3<U> const & m);
-
139  template <typename U>
-
140  GLM_FUNC_DECL tmat3x3<T>& operator+= (U const & s);
-
141  template <typename U>
-
142  GLM_FUNC_DECL tmat3x3<T>& operator+= (tmat3x3<U> const & m);
-
143  template <typename U>
-
144  GLM_FUNC_DECL tmat3x3<T>& operator-= (U const & s);
-
145  template <typename U>
-
146  GLM_FUNC_DECL tmat3x3<T>& operator-= (tmat3x3<U> const & m);
-
147  template <typename U>
-
148  GLM_FUNC_DECL tmat3x3<T>& operator*= (U const & s);
-
149  template <typename U>
-
150  GLM_FUNC_DECL tmat3x3<T>& operator*= (tmat3x3<U> const & m);
-
151  template <typename U>
-
152  GLM_FUNC_DECL tmat3x3<T>& operator/= (U const & s);
-
153  template <typename U>
-
154  GLM_FUNC_DECL tmat3x3<T>& operator/= (tmat3x3<U> const & m);
-
155  GLM_FUNC_DECL tmat3x3<T>& operator++ ();
-
156  GLM_FUNC_DECL tmat3x3<T>& operator-- ();
-
157  };
-
158 
-
159  // Binary operators
-
160  template <typename T>
-
161  tmat3x3<T> operator+ (
-
162  tmat3x3<T> const & m,
-
163  typename tmat3x3<T>::value_type const & s);
-
164 
-
165  template <typename T>
-
166  tmat3x3<T> operator+ (
-
167  typename tmat3x3<T>::value_type const & s,
-
168  tmat3x3<T> const & m);
-
169 
-
170  template <typename T>
-
171  tmat3x3<T> operator+ (
-
172  tmat3x3<T> const & m1,
-
173  tmat3x3<T> const & m2);
-
174 
-
175  template <typename T>
-
176  tmat3x3<T> operator- (
-
177  tmat3x3<T> const & m,
-
178  typename tmat3x3<T>::value_type const & s);
-
179 
-
180  template <typename T>
-
181  tmat3x3<T> operator- (
-
182  typename tmat3x3<T>::value_type const & s,
-
183  tmat3x3<T> const & m);
-
184 
-
185  template <typename T>
-
186  tmat3x3<T> operator- (
-
187  tmat3x3<T> const & m1,
-
188  tmat3x3<T> const & m2);
-
189 
-
190  template <typename T>
-
191  tmat3x3<T> operator* (
-
192  tmat3x3<T> const & m,
-
193  typename tmat3x3<T>::value_type const & s);
-
194 
-
195  template <typename T>
-
196  tmat3x3<T> operator* (
-
197  typename tmat3x3<T>::value_type const & s,
-
198  tmat3x3<T> const & m);
-
199 
-
200  template <typename T>
-
201  typename tmat3x3<T>::col_type operator* (
-
202  tmat3x3<T> const & m,
-
203  typename tmat3x3<T>::row_type const & v);
-
204 
-
205  template <typename T>
-
206  typename tmat3x3<T>::row_type operator* (
-
207  typename tmat3x3<T>::col_type const & v,
-
208  tmat3x3<T> const & m);
-
209 
-
210  template <typename T>
-
211  tmat3x3<T> operator* (
-
212  tmat3x3<T> const & m1,
-
213  tmat3x3<T> const & m2);
-
214 
-
215  template <typename T>
-
216  tmat2x3<T> operator* (
-
217  tmat3x3<T> const & m1,
-
218  tmat2x3<T> const & m2);
-
219 
-
220  template <typename T>
-
221  tmat4x3<T> operator* (
-
222  tmat3x3<T> const & m1,
-
223  tmat4x3<T> const & m2);
-
224 
-
225  template <typename T>
-
226  tmat3x3<T> operator/ (
-
227  tmat3x3<T> const & m,
-
228  typename tmat3x3<T>::value_type const & s);
-
229 
-
230  template <typename T>
-
231  tmat3x3<T> operator/ (
-
232  typename tmat3x3<T>::value_type const & s,
-
233  tmat3x3<T> const & m);
-
234 
-
235  template <typename T>
-
236  typename tmat3x3<T>::col_type operator/ (
-
237  tmat3x3<T> const & m,
-
238  typename tmat3x3<T>::row_type const & v);
-
239 
-
240  template <typename T>
-
241  typename tmat3x3<T>::row_type operator/ (
-
242  typename tmat3x3<T>::col_type const & v,
-
243  tmat3x3<T> const & m);
-
244 
-
245  template <typename T>
-
246  tmat3x3<T> operator/ (
-
247  tmat3x3<T> const & m1,
-
248  tmat3x3<T> const & m2);
-
249 
-
250  // Unary constant operators
-
251  template <typename T>
-
252  tmat3x3<T> const operator- (
-
253  tmat3x3<T> const & m);
-
254 
-
255  template <typename T>
-
256  tmat3x3<T> const operator-- (
-
257  tmat3x3<T> const & m,
-
258  int);
-
259 
-
260  template <typename T>
-
261  tmat3x3<T> const operator++ (
-
262  tmat3x3<T> const & m,
-
263  int);
-
264 } //namespace detail
-
265 
-
268 
-
274  typedef detail::tmat3x3<lowp_float> lowp_mat3;
-
275 
-
281  typedef detail::tmat3x3<mediump_float> mediump_mat3;
-
282 
-
288  typedef detail::tmat3x3<highp_float> highp_mat3;
-
289 
-
295  typedef detail::tmat3x3<lowp_float> lowp_mat3x3;
-
296 
-
302  typedef detail::tmat3x3<mediump_float> mediump_mat3x3;
-
303 
-
309  typedef detail::tmat3x3<highp_float> highp_mat3x3;
-
310 
-
312 }//namespace glm
-
313 
-
314 #ifndef GLM_EXTERNAL_TEMPLATE
-
315 #include "type_mat3x3.inl"
-
316 #endif
-
317 
-
318 #endif //glm_core_type_mat3x3
-
- - - - + + + + + + +GLM: reciprocal.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtc/reciprocal.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTC_reciprocal
+
39 #define GLM_GTC_reciprocal
+
40 
+
41 // Dependencies
+
42 #include "../detail/setup.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTC_reciprocal extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
57  template <typename genType>
+
58  GLM_FUNC_DECL genType sec(genType const & angle);
+
59 
+
64  template <typename genType>
+
65  GLM_FUNC_DECL genType csc(genType const & angle);
+
66 
+
71  template <typename genType>
+
72  GLM_FUNC_DECL genType cot(genType const & angle);
+
73 
+
77  template <typename genType>
+
78  GLM_FUNC_DECL genType asec(genType const & x);
+
79 
+
83  template <typename genType>
+
84  GLM_FUNC_DECL genType acsc(genType const & x);
+
85 
+
89  template <typename genType>
+
90  GLM_FUNC_DECL genType acot(genType const & x);
+
91 
+
95  template <typename genType>
+
96  GLM_FUNC_DECL genType sech(genType const & angle);
+
97 
+
101  template <typename genType>
+
102  GLM_FUNC_DECL genType csch(genType const & angle);
+
103 
+
107  template <typename genType>
+
108  GLM_FUNC_DECL genType coth(genType const & angle);
+
109 
+
113  template <typename genType>
+
114  GLM_FUNC_DECL genType asech(genType const & x);
+
115 
+
119  template <typename genType>
+
120  GLM_FUNC_DECL genType acsch(genType const & x);
+
121 
+
125  template <typename genType>
+
126  GLM_FUNC_DECL genType acoth(genType const & x);
+
127 
+
129 }//namespace glm
+
130 
+
131 #include "reciprocal.inl"
+
132 
+
133 #endif//GLM_GTC_reciprocal
+
GLM_FUNC_DECL genType acot(genType const &x)
Inverse cotangent function.
+
GLM_FUNC_DECL genType acsch(genType const &x)
Inverse cosecant hyperbolic function.
+
GLM_FUNC_DECL genType coth(genType const &angle)
Cotangent hyperbolic function.
+
GLM_FUNC_DECL genType sech(genType const &angle)
Secant hyperbolic function.
+
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL genType acoth(genType const &x)
Inverse cotangent hyperbolic function.
+
GLM_FUNC_DECL genType csch(genType const &angle)
Cosecant hyperbolic function.
+
GLM_FUNC_DECL genType asech(genType const &x)
Inverse secant hyperbolic function.
+
GLM_FUNC_DECL genType sec(genType const &angle)
Secant function.
+
GLM_FUNC_DECL genType acsc(genType const &x)
Inverse cosecant function.
+
GLM_FUNC_DECL genType asec(genType const &x)
Inverse secant function.
+
GLM_FUNC_DECL genType csc(genType const &angle)
Cosecant function.
+
GLM_FUNC_DECL genType cot(genType const &angle)
Cotangent function.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00104.html glm-0.9.5.1/doc/api/a00104.html --- glm-0.9.4.6/doc/api/a00104.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00104.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ - - - - - -type_mat3x4.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_mat3x4.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Typedefs

typedef detail::tmat3x4
-< highp_float > 
highp_mat3x4
 
typedef detail::tmat3x4
-< lowp_float > 
lowp_mat3x4
 
typedef detail::tmat3x4
-< mediump_float > 
mediump_mat3x4
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2006-08-05 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_mat3x4.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00104_source.html glm-0.9.5.1/doc/api/a00104_source.html --- glm-0.9.4.6/doc/api/a00104_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00104_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,303 +1,66 @@ - - - - - -type_mat3x4.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat3x4.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_mat3x4
-
30 #define glm_core_type_mat3x4
-
31 
-
32 #include "type_mat.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  template <typename T> struct tvec1;
-
38  template <typename T> struct tvec2;
-
39  template <typename T> struct tvec3;
-
40  template <typename T> struct tvec4;
-
41  template <typename T> struct tmat2x2;
-
42  template <typename T> struct tmat2x3;
-
43  template <typename T> struct tmat2x4;
-
44  template <typename T> struct tmat3x2;
-
45  template <typename T> struct tmat3x3;
-
46  template <typename T> struct tmat3x4;
-
47  template <typename T> struct tmat4x2;
-
48  template <typename T> struct tmat4x3;
-
49  template <typename T> struct tmat4x4;
-
50 
-
51  template <typename T>
-
52  struct tmat3x4
-
53  {
-
54  enum ctor{null};
-
55  typedef T value_type;
-
56  typedef std::size_t size_type;
-
57  typedef tvec4<T> col_type;
-
58  typedef tvec3<T> row_type;
-
59  typedef tmat3x4<T> type;
-
60  typedef tmat4x3<T> transpose_type;
-
61 
-
62  static GLM_FUNC_DECL size_type col_size();
-
63  static GLM_FUNC_DECL size_type row_size();
-
64 
-
65  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
66 
-
67  private:
-
68  // Data
-
69  col_type value[3];
-
70 
-
71  public:
-
72  // Constructors
-
73  GLM_FUNC_DECL tmat3x4();
-
74  GLM_FUNC_DECL tmat3x4(tmat3x4 const & m);
-
75 
-
76  GLM_FUNC_DECL explicit tmat3x4(
-
77  ctor Null);
-
78  GLM_FUNC_DECL explicit tmat3x4(
-
79  value_type const & s);
-
80  GLM_FUNC_DECL explicit tmat3x4(
-
81  value_type const & x0, value_type const & y0, value_type const & z0, value_type const & w0,
-
82  value_type const & x1, value_type const & y1, value_type const & z1, value_type const & w1,
-
83  value_type const & x2, value_type const & y2, value_type const & z2, value_type const & w2);
-
84  GLM_FUNC_DECL explicit tmat3x4(
-
85  col_type const & v0,
-
86  col_type const & v1,
-
87  col_type const & v2);
-
88 
-
90  // Conversions
-
91  template <typename U>
-
92  GLM_FUNC_DECL explicit tmat3x4(
-
93  U const & x);
-
94 
-
95  template
-
96  <
-
97  typename X1, typename Y1, typename Z1, typename W1,
-
98  typename X2, typename Y2, typename Z2, typename W2,
-
99  typename X3, typename Y3, typename Z3, typename W3
-
100  >
-
101  GLM_FUNC_DECL explicit tmat3x4(
-
102  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
-
103  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
-
104  X3 const & x3, Y3 const & y3, Z3 const & z3, W3 const & w3);
-
105 
-
106  template <typename V1, typename V2, typename V3>
-
107  GLM_FUNC_DECL explicit tmat3x4(
-
108  tvec4<V1> const & v1,
-
109  tvec4<V2> const & v2,
-
110  tvec4<V3> const & v3);
-
111 
-
112  // Matrix conversion
-
113  template <typename U>
-
114  GLM_FUNC_DECL explicit tmat3x4(tmat3x4<U> const & m);
-
115 
-
116  GLM_FUNC_DECL explicit tmat3x4(tmat2x2<T> const & x);
-
117  GLM_FUNC_DECL explicit tmat3x4(tmat3x3<T> const & x);
-
118  GLM_FUNC_DECL explicit tmat3x4(tmat4x4<T> const & x);
-
119  GLM_FUNC_DECL explicit tmat3x4(tmat2x3<T> const & x);
-
120  GLM_FUNC_DECL explicit tmat3x4(tmat3x2<T> const & x);
-
121  GLM_FUNC_DECL explicit tmat3x4(tmat2x4<T> const & x);
-
122  GLM_FUNC_DECL explicit tmat3x4(tmat4x2<T> const & x);
-
123  GLM_FUNC_DECL explicit tmat3x4(tmat4x3<T> const & x);
-
124 
-
125  // Accesses
-
126  col_type & operator[](size_type i);
-
127  col_type const & operator[](size_type i) const;
-
128 
-
129  // Unary updatable operators
-
130  GLM_FUNC_DECL tmat3x4<T> & operator= (tmat3x4<T> const & m);
-
131  template <typename U>
-
132  GLM_FUNC_DECL tmat3x4<T> & operator= (tmat3x4<U> const & m);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tmat3x4<T> & operator+= (U const & s);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tmat3x4<T> & operator+= (tmat3x4<U> const & m);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tmat3x4<T> & operator-= (U const & s);
-
139  template <typename U>
-
140  GLM_FUNC_DECL tmat3x4<T> & operator-= (tmat3x4<U> const & m);
-
141  template <typename U>
-
142  GLM_FUNC_DECL tmat3x4<T> & operator*= (U const & s);
-
143  template <typename U>
-
144  GLM_FUNC_DECL tmat3x4<T> & operator*= (tmat3x4<U> const & m);
-
145  template <typename U>
-
146  GLM_FUNC_DECL tmat3x4<T> & operator/= (U const & s);
-
147 
-
148  GLM_FUNC_DECL tmat3x4<T> & operator++ ();
-
149  GLM_FUNC_DECL tmat3x4<T> & operator-- ();
-
150  };
-
151 
-
152  // Binary operators
-
153  template <typename T>
-
154  tmat3x4<T> operator+ (
-
155  tmat3x4<T> const & m,
-
156  typename tmat3x4<T>::value_type const & s);
-
157 
-
158  template <typename T>
-
159  tmat3x4<T> operator+ (
-
160  tmat3x4<T> const & m1,
-
161  tmat3x4<T> const & m2);
-
162 
-
163  template <typename T>
-
164  tmat3x4<T> operator- (
-
165  tmat3x4<T> const & m,
-
166  typename tmat3x4<T>::value_type const & s);
-
167 
-
168  template <typename T>
-
169  tmat3x4<T> operator- (
-
170  tmat3x4<T> const & m1,
-
171  tmat3x4<T> const & m2);
-
172 
-
173  template <typename T>
-
174  tmat3x4<T> operator* (
-
175  tmat3x4<T> const & m,
-
176  typename tmat3x4<T>::value_type const & s);
-
177 
-
178  template <typename T>
-
179  tmat3x4<T> operator* (
-
180  typename tmat3x4<T>::value_type const & s,
-
181  tmat3x4<T> const & m);
-
182 
-
183  template <typename T>
-
184  typename tmat3x4<T>::col_type operator* (
-
185  tmat3x4<T> const & m,
-
186  typename tmat3x4<T>::row_type const & v);
-
187 
-
188  template <typename T>
-
189  typename tmat3x4<T>::row_type operator* (
-
190  typename tmat3x4<T>::col_type const & v,
-
191  tmat3x4<T> const & m);
-
192 
-
193  template <typename T>
-
194  tmat4x4<T> operator* (
-
195  tmat3x4<T> const & m1,
-
196  tmat4x3<T> const & m2);
-
197 
-
198  template <typename T>
-
199  tmat2x4<T> operator* (
-
200  tmat3x4<T> const & m1,
-
201  tmat2x3<T> const & m2);
-
202 
-
203  template <typename T>
-
204  tmat3x4<T> operator* (
-
205  tmat3x4<T> const & m1,
-
206  tmat3x3<T> const & m2);
-
207 
-
208  template <typename T>
-
209  tmat3x4<T> operator/ (
-
210  tmat3x4<T> const & m,
-
211  typename tmat3x4<T>::value_type const & s);
-
212 
-
213  template <typename T>
-
214  tmat3x4<T> operator/ (
-
215  typename tmat3x4<T>::value_type const & s,
-
216  tmat3x4<T> const & m);
-
217 
-
218  // Unary constant operators
-
219  template <typename T>
-
220  tmat3x4<T> const operator- (
-
221  tmat3x4<T> const & m);
-
222 
-
223  template <typename T>
-
224  tmat3x4<T> const operator-- (
-
225  tmat3x4<T> const & m,
-
226  int);
-
227 
-
228  template <typename T>
-
229  tmat3x4<T> const operator++ (
-
230  tmat3x4<T> const & m,
-
231  int);
-
232 
-
233 }//namespace detail
-
234 
-
237 
-
243  typedef detail::tmat3x4<lowp_float> lowp_mat3x4;
-
244 
-
250  typedef detail::tmat3x4<mediump_float> mediump_mat3x4;
-
251 
-
257  typedef detail::tmat3x4<highp_float> highp_mat3x4;
-
258 
-
260 }//namespace glm
-
261 
-
262 #ifndef GLM_EXTERNAL_TEMPLATE
-
263 #include "type_mat3x4.inl"
-
264 #endif
-
265 
-
266 #endif //glm_core_type_mat3x4
-
- - - - + + + + + + +GLM: reciprocal.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtx/reciprocal.hpp
+
+
+
1 
+
24 #if(defined(GLM_MESSAGES))
+
25 # pragma message("GLM: GLM_GTX_reciprocal extension is deprecated, include GLM_GTC_reciprocal instead")
+
26 #endif
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00105.html glm-0.9.5.1/doc/api/a00105.html --- glm-0.9.4.6/doc/api/a00105.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00105.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,83 +1,97 @@ - - - - - -type_mat4x2.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_mat4x2.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Typedefs

typedef detail::tmat4x2
-< highp_float > 
highp_mat4x2
 
typedef detail::tmat4x2
-< lowp_float > 
lowp_mat4x2
 
typedef detail::tmat4x2
-< mediump_float > 
mediump_mat4x2
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2006-10-01 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_mat4x2.hpp.

-
- - - - + + + + + + +GLM: rotate_normalized_axis.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
rotate_normalized_axis.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat4x4< T, P > rotateNormalizedAxis (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
detail::tquat< T, P > rotateNormalizedAxis (detail::tquat< T, P > const &q, T const &angle, detail::tvec3< T, P > const &axis)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_rotate_normalized_axis

+
Date
2012-12-13 / 2012-12-13
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTC_matrix_transform
+
+GLM_GTC_quaternion
+ +

Definition in file rotate_normalized_axis.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00105_source.html glm-0.9.5.1/doc/api/a00105_source.html --- glm-0.9.4.6/doc/api/a00105_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00105_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,307 +1,98 @@ - - - - - -type_mat4x2.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat4x2.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_mat4x2
-
30 #define glm_core_type_mat4x2
-
31 
-
32 #include "type_mat.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  template <typename T> struct tvec1;
-
38  template <typename T> struct tvec2;
-
39  template <typename T> struct tvec3;
-
40  template <typename T> struct tvec4;
-
41  template <typename T> struct tmat2x2;
-
42  template <typename T> struct tmat2x3;
-
43  template <typename T> struct tmat2x4;
-
44  template <typename T> struct tmat3x2;
-
45  template <typename T> struct tmat3x3;
-
46  template <typename T> struct tmat3x4;
-
47  template <typename T> struct tmat4x2;
-
48  template <typename T> struct tmat4x3;
-
49  template <typename T> struct tmat4x4;
-
50 
-
51  template <typename T>
-
52  struct tmat4x2
-
53  {
-
54  enum ctor{null};
-
55  typedef T value_type;
-
56  typedef std::size_t size_type;
-
57  typedef tvec2<T> col_type;
-
58  typedef tvec4<T> row_type;
-
59  typedef tmat4x2<T> type;
-
60  typedef tmat2x4<T> transpose_type;
-
61 
-
62  static GLM_FUNC_DECL size_type col_size();
-
63  static GLM_FUNC_DECL size_type row_size();
-
64 
-
65  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
66 
-
67  private:
-
68  // Data
-
69  col_type value[4];
-
70 
-
71  public:
-
72  // Constructors
-
73  GLM_FUNC_DECL tmat4x2();
-
74  GLM_FUNC_DECL tmat4x2(tmat4x2 const & m);
-
75 
-
76  GLM_FUNC_DECL explicit tmat4x2(
-
77  ctor Null);
-
78  GLM_FUNC_DECL explicit tmat4x2(
-
79  value_type const & x);
-
80  GLM_FUNC_DECL explicit tmat4x2(
-
81  value_type const & x0, value_type const & y0,
-
82  value_type const & x1, value_type const & y1,
-
83  value_type const & x2, value_type const & y2,
-
84  value_type const & x3, value_type const & y3);
-
85  GLM_FUNC_DECL explicit tmat4x2(
-
86  col_type const & v0,
-
87  col_type const & v1,
-
88  col_type const & v2,
-
89  col_type const & v3);
-
90 
-
92  // Conversions
-
93  template <typename U>
-
94  GLM_FUNC_DECL explicit tmat4x2(
-
95  U const & x);
-
96 
-
97  template
-
98  <
-
99  typename X1, typename Y1,
-
100  typename X2, typename Y2,
-
101  typename X3, typename Y3,
-
102  typename X4, typename Y4
-
103  >
-
104  GLM_FUNC_DECL explicit tmat4x2(
-
105  X1 const & x1, Y1 const & y1,
-
106  X2 const & x2, Y2 const & y2,
-
107  X3 const & x3, Y3 const & y3,
-
108  X4 const & x4, Y4 const & y4);
-
109 
-
110  template <typename V1, typename V2, typename V3, typename V4>
-
111  GLM_FUNC_DECL explicit tmat4x2(
-
112  tvec2<V1> const & v1,
-
113  tvec2<V2> const & v2,
-
114  tvec2<V3> const & v3,
-
115  tvec2<V4> const & v4);
-
116 
-
117  // Matrix conversions
-
118  template <typename U>
-
119  GLM_FUNC_DECL explicit tmat4x2(tmat4x2<U> const & m);
-
120 
-
121  GLM_FUNC_DECL explicit tmat4x2(tmat2x2<T> const & x);
-
122  GLM_FUNC_DECL explicit tmat4x2(tmat3x3<T> const & x);
-
123  GLM_FUNC_DECL explicit tmat4x2(tmat4x4<T> const & x);
-
124  GLM_FUNC_DECL explicit tmat4x2(tmat2x3<T> const & x);
-
125  GLM_FUNC_DECL explicit tmat4x2(tmat3x2<T> const & x);
-
126  GLM_FUNC_DECL explicit tmat4x2(tmat2x4<T> const & x);
-
127  GLM_FUNC_DECL explicit tmat4x2(tmat4x3<T> const & x);
-
128  GLM_FUNC_DECL explicit tmat4x2(tmat3x4<T> const & x);
-
129 
-
130  // Accesses
-
131  GLM_FUNC_DECL col_type & operator[](size_type i);
-
132  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
133 
-
134  // Unary updatable operators
-
135  GLM_FUNC_DECL tmat4x2<T>& operator= (tmat4x2<T> const & m);
-
136  template <typename U>
-
137  GLM_FUNC_DECL tmat4x2<T>& operator= (tmat4x2<U> const & m);
-
138  template <typename U>
-
139  GLM_FUNC_DECL tmat4x2<T>& operator+= (U const & s);
-
140  template <typename U>
-
141  GLM_FUNC_DECL tmat4x2<T>& operator+= (tmat4x2<U> const & m);
-
142  template <typename U>
-
143  GLM_FUNC_DECL tmat4x2<T>& operator-= (U const & s);
-
144  template <typename U>
-
145  GLM_FUNC_DECL tmat4x2<T>& operator-= (tmat4x2<U> const & m);
-
146  template <typename U>
-
147  GLM_FUNC_DECL tmat4x2<T>& operator*= (U const & s);
-
148  template <typename U>
-
149  GLM_FUNC_DECL tmat4x2<T>& operator*= (tmat4x2<U> const & m);
-
150  template <typename U>
-
151  GLM_FUNC_DECL tmat4x2<T>& operator/= (U const & s);
-
152 
-
153  GLM_FUNC_DECL tmat4x2<T>& operator++ ();
-
154  GLM_FUNC_DECL tmat4x2<T>& operator-- ();
-
155  };
-
156 
-
157  // Binary operators
-
158  template <typename T>
-
159  tmat4x2<T> operator+ (
-
160  tmat4x2<T> const & m,
-
161  typename tmat4x2<T>::value_type const & s);
-
162 
-
163  template <typename T>
-
164  tmat4x2<T> operator+ (
-
165  tmat4x2<T> const & m1,
-
166  tmat4x2<T> const & m2);
-
167 
-
168  template <typename T>
-
169  tmat4x2<T> operator- (
-
170  tmat4x2<T> const & m,
-
171  typename tmat4x2<T>::value_type const & s);
-
172 
-
173  template <typename T>
-
174  tmat4x2<T> operator- (
-
175  tmat4x2<T> const & m1,
-
176  tmat4x2<T> const & m2);
-
177 
-
178  template <typename T>
-
179  tmat4x2<T> operator* (
-
180  tmat4x2<T> const & m,
-
181  typename tmat4x2<T>::value_type const & s);
-
182 
-
183  template <typename T>
-
184  tmat4x2<T> operator* (
-
185  typename tmat4x2<T>::value_type const & s,
-
186  tmat4x2<T> const & m);
-
187 
-
188  template <typename T>
-
189  typename tmat4x2<T>::col_type operator* (
-
190  tmat4x2<T> const & m,
-
191  typename tmat4x2<T>::row_type const & v);
-
192 
-
193  template <typename T>
-
194  typename tmat4x2<T>::row_type operator* (
-
195  typename tmat4x2<T>::col_type const & v,
-
196  tmat4x2<T> const & m);
-
197 
-
198  template <typename T>
-
199  tmat3x2<T> operator* (
-
200  tmat4x2<T> const & m1,
-
201  tmat3x4<T> const & m2);
-
202 
-
203  template <typename T>
-
204  tmat4x2<T> operator* (
-
205  tmat4x2<T> const & m1,
-
206  tmat4x4<T> const & m2);
-
207 
-
208  template <typename T>
-
209  tmat2x3<T> operator* (
-
210  tmat4x3<T> const & m1,
-
211  tmat2x4<T> const & m2);
-
212 
-
213  template <typename T>
-
214  tmat4x2<T> operator/ (
-
215  tmat4x2<T> const & m,
-
216  typename tmat4x2<T>::value_type const & s);
-
217 
-
218  template <typename T>
-
219  tmat4x2<T> operator/ (
-
220  typename tmat4x2<T>::value_type const & s,
-
221  tmat4x2<T> const & m);
-
222 
-
223  // Unary constant operators
-
224  template <typename T>
-
225  tmat4x2<T> const operator- (
-
226  tmat4x2<T> const & m);
-
227 
-
228  template <typename T>
-
229  tmat4x2<T> const operator-- (
-
230  tmat4x2<T> const & m,
-
231  int);
-
232 
-
233  template <typename T>
-
234  tmat4x2<T> const operator++ (
-
235  tmat4x2<T> const & m,
-
236  int);
-
237 } //namespace detail
-
238 
-
241 
-
247  typedef detail::tmat4x2<lowp_float> lowp_mat4x2;
-
248 
-
254  typedef detail::tmat4x2<mediump_float> mediump_mat4x2;
-
255 
-
261  typedef detail::tmat4x2<highp_float> highp_mat4x2;
-
262 
-
264 }//namespace glm
-
265 
-
266 #ifndef GLM_EXTERNAL_TEMPLATE
-
267 #include "type_mat4x2.inl"
-
268 #endif
-
269 
-
270 #endif //glm_core_type_mat4x2
-
- - - - + + + + + + +GLM: rotate_normalized_axis.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
rotate_normalized_axis.hpp
+
+
+Go to the documentation of this file.
1 
+
40 #ifndef GLM_GTX_rotate_normalized_axis
+
41 #define GLM_GTX_rotate_normalized_axis
+
42 
+
43 // Dependency:
+
44 #include "../glm.hpp"
+
45 #include "../gtc/epsilon.hpp"
+
46 #include "../gtc/quaternion.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_rotate_normalized_axis extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
68  template <typename T, precision P>
+
69  detail::tmat4x4<T, P> rotateNormalizedAxis(
+
70  detail::tmat4x4<T, P> const & m,
+
71  T const & angle,
+
72  detail::tvec3<T, P> const & axis);
+
73 
+
81  template <typename T, precision P>
+
82  detail::tquat<T, P> rotateNormalizedAxis(
+
83  detail::tquat<T, P> const & q,
+
84  T const & angle,
+
85  detail::tvec3<T, P> const & axis);
+
86 
+
88 }//namespace glm
+
89 
+
90 #include "rotate_normalized_axis.inl"
+
91 
+
92 #endif//GLM_GTX_rotate_normalized_axis
+
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
detail::tmat4x4< T, P > rotateNormalizedAxis(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from a normalized axis and an angle.
+
GLM_FUNC_DECL detail::tvec3< T, P > axis(detail::tquat< T, P > const &x)
Returns the q rotation axis.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00106.html glm-0.9.5.1/doc/api/a00106.html --- glm-0.9.4.6/doc/api/a00106.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00106.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,83 +1,119 @@ - - - - - -type_mat4x3.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_mat4x3.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - -

-Typedefs

typedef detail::tmat4x3
-< highp_float > 
highp_mat4x3
 
typedef detail::tmat4x3
-< lowp_float > 
lowp_mat4x3
 
typedef detail::tmat4x3
-< mediump_float > 
mediump_mat4x3
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2006-08-04 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_mat4x3.hpp.

-
- - - - + + + + + + +GLM: rotate_vector.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
rotate_vector.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat4x4< T, P > orientation (detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
 
template<typename T , precision P>
detail::tvec2< T, P > rotate (detail::tvec2< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotate (detail::tvec3< T, P > const &v, T const &angle, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
detail::tvec4< T, P > rotate (detail::tvec4< T, P > const &v, T const &angle, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateX (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateX (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateY (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateY (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateZ (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateZ (detail::tvec4< T, P > const &v, T const &angle)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_rotate_vector

+
Date
2006-11-02 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_transform (dependence)
+ +

Definition in file rotate_vector.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00106_source.html glm-0.9.5.1/doc/api/a00106_source.html --- glm-0.9.4.6/doc/api/a00106_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00106_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,305 +1,140 @@ - - - - - -type_mat4x3.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat4x3.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_mat4x3
-
30 #define glm_core_type_mat4x3
-
31 
-
32 #include "type_mat.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  template <typename T> struct tvec1;
-
38  template <typename T> struct tvec2;
-
39  template <typename T> struct tvec3;
-
40  template <typename T> struct tvec4;
-
41  template <typename T> struct tmat2x2;
-
42  template <typename T> struct tmat2x3;
-
43  template <typename T> struct tmat2x4;
-
44  template <typename T> struct tmat3x2;
-
45  template <typename T> struct tmat3x3;
-
46  template <typename T> struct tmat3x4;
-
47  template <typename T> struct tmat4x2;
-
48  template <typename T> struct tmat4x3;
-
49  template <typename T> struct tmat4x4;
-
50 
-
51  template <typename T>
-
52  struct tmat4x3
-
53  {
-
54  enum ctor{null};
-
55  typedef T value_type;
-
56  typedef std::size_t size_type;
-
57  typedef tvec3<T> col_type;
-
58  typedef tvec4<T> row_type;
-
59  typedef tmat4x3<T> type;
-
60  typedef tmat3x4<T> transpose_type;
-
61 
-
62  static GLM_FUNC_DECL size_type col_size();
-
63  static GLM_FUNC_DECL size_type row_size();
-
64 
-
65  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
66 
-
67  private:
-
68  // Data
-
69  col_type value[4];
-
70 
-
71  public:
-
72  // Constructors
-
73  GLM_FUNC_DECL tmat4x3();
-
74  GLM_FUNC_DECL tmat4x3(tmat4x3 const & m);
-
75 
-
76  GLM_FUNC_DECL explicit tmat4x3(
-
77  ctor Null);
-
78  GLM_FUNC_DECL explicit tmat4x3(
-
79  value_type const & x);
-
80  GLM_FUNC_DECL explicit tmat4x3(
-
81  value_type const & x0, value_type const & y0, value_type const & z0,
-
82  value_type const & x1, value_type const & y1, value_type const & z1,
-
83  value_type const & x2, value_type const & y2, value_type const & z2,
-
84  value_type const & x3, value_type const & y3, value_type const & z3);
-
85  GLM_FUNC_DECL explicit tmat4x3(
-
86  col_type const & v0,
-
87  col_type const & v1,
-
88  col_type const & v2,
-
89  col_type const & v3);
-
90 
-
92  // Conversions
-
93  template <typename U>
-
94  GLM_FUNC_DECL explicit tmat4x3(
-
95  U const & x);
-
96 
-
97  template <
-
98  typename X1, typename Y1, typename Z1,
-
99  typename X2, typename Y2, typename Z2,
-
100  typename X3, typename Y3, typename Z3,
-
101  typename X4, typename Y4, typename Z4>
-
102  GLM_FUNC_DECL explicit tmat4x3(
-
103  X1 const & x1, Y1 const & y1, Z1 const & z1,
-
104  X2 const & x2, Y2 const & y2, Z2 const & z2,
-
105  X3 const & x3, Y3 const & y3, Z3 const & z3,
-
106  X4 const & x4, Y4 const & y4, Z4 const & z4);
-
107 
-
108  template <typename V1, typename V2, typename V3, typename V4>
-
109  GLM_FUNC_DECL explicit tmat4x3(
-
110  tvec3<V1> const & v1,
-
111  tvec3<V2> const & v2,
-
112  tvec3<V3> const & v3,
-
113  tvec3<V4> const & v4);
-
114 
-
115  // Matrix conversions
-
116  template <typename U>
-
117  GLM_FUNC_DECL explicit tmat4x3(tmat4x3<U> const & m);
-
118 
-
119  GLM_FUNC_DECL explicit tmat4x3(tmat2x2<T> const & x);
-
120  GLM_FUNC_DECL explicit tmat4x3(tmat3x3<T> const & x);
-
121  GLM_FUNC_DECL explicit tmat4x3(tmat4x4<T> const & x);
-
122  GLM_FUNC_DECL explicit tmat4x3(tmat2x3<T> const & x);
-
123  GLM_FUNC_DECL explicit tmat4x3(tmat3x2<T> const & x);
-
124  GLM_FUNC_DECL explicit tmat4x3(tmat2x4<T> const & x);
-
125  GLM_FUNC_DECL explicit tmat4x3(tmat4x2<T> const & x);
-
126  GLM_FUNC_DECL explicit tmat4x3(tmat3x4<T> const & x);
-
127 
-
128  // Accesses
-
129  col_type & operator[](size_type i);
-
130  col_type const & operator[](size_type i) const;
-
131 
-
132  // Unary updatable operators
-
133  GLM_FUNC_DECL tmat4x3<T> & operator= (tmat4x3<T> const & m);
-
134  template <typename U>
-
135  GLM_FUNC_DECL tmat4x3<T> & operator= (tmat4x3<U> const & m);
-
136  template <typename U>
-
137  GLM_FUNC_DECL tmat4x3<T> & operator+= (U const & s);
-
138  template <typename U>
-
139  GLM_FUNC_DECL tmat4x3<T> & operator+= (tmat4x3<U> const & m);
-
140  template <typename U>
-
141  GLM_FUNC_DECL tmat4x3<T> & operator-= (U const & s);
-
142  template <typename U>
-
143  GLM_FUNC_DECL tmat4x3<T> & operator-= (tmat4x3<U> const & m);
-
144  template <typename U>
-
145  GLM_FUNC_DECL tmat4x3<T> & operator*= (U const & s);
-
146  template <typename U>
-
147  GLM_FUNC_DECL tmat4x3<T> & operator*= (tmat4x3<U> const & m);
-
148  template <typename U>
-
149  GLM_FUNC_DECL tmat4x3<T> & operator/= (U const & s);
-
150 
-
151  GLM_FUNC_DECL tmat4x3<T> & operator++ ();
-
152  GLM_FUNC_DECL tmat4x3<T> & operator-- ();
-
153  };
-
154 
-
155  // Binary operators
-
156  template <typename T>
-
157  tmat4x3<T> operator+ (
-
158  tmat4x3<T> const & m,
-
159  typename tmat4x3<T>::value_type const & s);
-
160 
-
161  template <typename T>
-
162  tmat4x3<T> operator+ (
-
163  tmat4x3<T> const & m1,
-
164  tmat4x3<T> const & m2);
-
165 
-
166  template <typename T>
-
167  tmat4x3<T> operator- (
-
168  tmat4x3<T> const & m,
-
169  typename tmat4x3<T>::value_type const & s);
-
170 
-
171  template <typename T>
-
172  tmat4x3<T> operator- (
-
173  tmat4x3<T> const & m1,
-
174  tmat4x3<T> const & m2);
-
175 
-
176  template <typename T>
-
177  tmat4x3<T> operator* (
-
178  tmat4x3<T> const & m,
-
179  typename tmat4x3<T>::value_type const & s);
-
180 
-
181  template <typename T>
-
182  tmat4x3<T> operator* (
-
183  typename tmat4x3<T>::value_type const & s,
-
184  tmat4x3<T> const & m);
-
185 
-
186  template <typename T>
-
187  typename tmat4x3<T>::col_type operator* (
-
188  tmat4x3<T> const & m,
-
189  typename tmat4x3<T>::row_type const & v);
-
190 
-
191  template <typename T>
-
192  typename tmat4x3<T>::row_type operator* (
-
193  typename tmat4x3<T>::col_type const & v,
-
194  tmat4x3<T> const & m);
-
195 
-
196  template <typename T>
-
197  tmat2x3<T> operator* (
-
198  tmat4x3<T> const & m1,
-
199  tmat2x4<T> const & m2);
-
200 
-
201  template <typename T>
-
202  tmat3x3<T> operator* (
-
203  tmat4x3<T> const & m1,
-
204  tmat3x4<T> const & m2);
-
205 
-
206  template <typename T>
-
207  tmat4x3<T> operator* (
-
208  tmat4x3<T> const & m1,
-
209  tmat4x4<T> const & m2);
-
210 
-
211  template <typename T>
-
212  tmat4x3<T> operator/ (
-
213  tmat4x3<T> const & m,
-
214  typename tmat4x3<T>::value_type const & s);
-
215 
-
216  template <typename T>
-
217  tmat4x3<T> operator/ (
-
218  typename tmat4x3<T>::value_type const & s,
-
219  tmat4x3<T> const & m);
-
220 
-
221  // Unary constant operators
-
222  template <typename T>
-
223  tmat4x3<T> const operator- (
-
224  tmat4x3<T> const & m);
-
225 
-
226  template <typename T>
-
227  tmat4x3<T> const operator-- (
-
228  tmat4x3<T> const & m,
-
229  int);
-
230 
-
231  template <typename T>
-
232  tmat4x3<T> const operator++ (
-
233  tmat4x3<T> const & m,
-
234  int);
-
235 }//namespace detail
-
236 
-
239 
-
245  typedef detail::tmat4x3<lowp_float> lowp_mat4x3;
-
246 
-
252  typedef detail::tmat4x3<mediump_float> mediump_mat4x3;
-
253 
-
259  typedef detail::tmat4x3<highp_float> highp_mat4x3;
-
260 
-
262 }//namespace glm
-
263 
-
264 #ifndef GLM_EXTERNAL_TEMPLATE
-
265 #include "type_mat4x3.inl"
-
266 #endif //GLM_EXTERNAL_TEMPLATE
-
267 
-
268 #endif//glm_core_type_mat4x3
-
- - - - + + + + + + +GLM: rotate_vector.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
rotate_vector.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_rotate_vector
+
40 #define GLM_GTX_rotate_vector
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 #include "../gtx/transform.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_rotate_vector extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
+
54 
+
57  template <typename T, precision P>
+
58  detail::tvec2<T, P> rotate(
+
59  detail::tvec2<T, P> const & v,
+
60  T const & angle);
+
61 
+
64  template <typename T, precision P>
+
65  detail::tvec3<T, P> rotate(
+
66  detail::tvec3<T, P> const & v,
+
67  T const & angle,
+
68  detail::tvec3<T, P> const & normal);
+
69 
+
72  template <typename T, precision P>
+
73  detail::tvec4<T, P> rotate(
+
74  detail::tvec4<T, P> const & v,
+
75  T const & angle,
+
76  detail::tvec3<T, P> const & normal);
+
77 
+
80  template <typename T, precision P>
+
81  detail::tvec3<T, P> rotateX(
+
82  detail::tvec3<T, P> const & v,
+
83  T const & angle);
+
84 
+
87  template <typename T, precision P>
+
88  detail::tvec3<T, P> rotateY(
+
89  detail::tvec3<T, P> const & v,
+
90  T const & angle);
+
91 
+
94  template <typename T, precision P>
+
95  detail::tvec3<T, P> rotateZ(
+
96  detail::tvec3<T, P> const & v,
+
97  T const & angle);
+
98 
+
101  template <typename T, precision P>
+
102  detail::tvec4<T, P> rotateX(
+
103  detail::tvec4<T, P> const & v,
+
104  T const & angle);
+
105 
+
108  template <typename T, precision P>
+
109  detail::tvec4<T, P> rotateY(
+
110  detail::tvec4<T, P> const & v,
+
111  T const & angle);
+
112 
+
115  template <typename T, precision P>
+
116  detail::tvec4<T, P> rotateZ(
+
117  detail::tvec4<T, P> const & v,
+
118  T const & angle);
+
119 
+
122  template <typename T, precision P>
+
123  detail::tmat4x4<T, P> orientation(
+
124  detail::tvec3<T, P> const & Normal,
+
125  detail::tvec3<T, P> const & Up);
+
126 
+
128 }//namespace glm
+
129 
+
130 #include "rotate_vector.inl"
+
131 
+
132 #endif//GLM_GTX_rotate_vector
+
detail::tvec3< T, P > rotateX(detail::tvec3< T, P > const &v, T const &angle)
Rotate a three dimensional vector around the X axis.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > rotate(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
+
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
detail::tmat4x4< T, P > orientation(detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
Build a rotation matrix from a normal and a up vector.
+
detail::tvec3< T, P > rotateY(detail::tvec3< T, P > const &v, T const &angle)
Rotate a three dimensional vector around the Y axis.
+
detail::tvec3< T, P > rotateZ(detail::tvec3< T, P > const &v, T const &angle)
Rotate a three dimensional vector around the Z axis.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00107.html glm-0.9.5.1/doc/api/a00107.html --- glm-0.9.4.6/doc/api/a00107.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00107.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,68 +1,83 @@ - - - - - -type_mat4x4.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat4x4.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2005-01-27 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_mat4x4.hpp.

-
- - - - + + + + + + +GLM: scalar_relational.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
scalar_relational.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

+

Gtx_scalar_relational

+
Date
2013-02-04 / 2013-02-04
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file scalar_relational.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00107_source.html glm-0.9.5.1/doc/api/a00107_source.html --- glm-0.9.4.6/doc/api/a00107_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00107_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,339 +1,83 @@ - - - - - -type_mat4x4.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_mat4x4.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_mat4x4
-
30 #define glm_core_type_mat4x4
-
31 
-
32 #include "type_mat.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  template <typename T> struct tvec1;
-
38  template <typename T> struct tvec2;
-
39  template <typename T> struct tvec3;
-
40  template <typename T> struct tvec4;
-
41  template <typename T> struct tmat2x2;
-
42  template <typename T> struct tmat2x3;
-
43  template <typename T> struct tmat2x4;
-
44  template <typename T> struct tmat3x2;
-
45  template <typename T> struct tmat3x3;
-
46  template <typename T> struct tmat3x4;
-
47  template <typename T> struct tmat4x2;
-
48  template <typename T> struct tmat4x3;
-
49  template <typename T> struct tmat4x4;
-
50 
-
51  template <typename T>
-
52  struct tmat4x4
-
53  {
-
54  enum ctor{null};
-
55  typedef T value_type;
-
56  typedef std::size_t size_type;
-
57  typedef tvec4<T> col_type;
-
58  typedef tvec4<T> row_type;
-
59  typedef tmat4x4<T> type;
-
60  typedef tmat4x4<T> transpose_type;
-
61 
-
62  static GLM_FUNC_DECL size_type col_size();
-
63  static GLM_FUNC_DECL size_type row_size();
-
64 
-
65  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
66 
-
67  public:
-
70  GLM_FUNC_DECL tmat4x4<T> _inverse() const;
-
72 
-
73  private:
-
74  // Data
-
75  col_type value[4];
-
76 
-
77  public:
-
78  // Constructors
-
79  GLM_FUNC_DECL tmat4x4();
-
80  GLM_FUNC_DECL tmat4x4(tmat4x4 const & m);
-
81 
-
82  GLM_FUNC_DECL explicit tmat4x4(
-
83  ctor Null);
-
84  GLM_FUNC_DECL explicit tmat4x4(
-
85  value_type const & x);
-
86  GLM_FUNC_DECL explicit tmat4x4(
-
87  value_type const & x0, value_type const & y0, value_type const & z0, value_type const & w0,
-
88  value_type const & x1, value_type const & y1, value_type const & z1, value_type const & w1,
-
89  value_type const & x2, value_type const & y2, value_type const & z2, value_type const & w2,
-
90  value_type const & x3, value_type const & y3, value_type const & z3, value_type const & w3);
-
91  GLM_FUNC_DECL explicit tmat4x4(
-
92  col_type const & v0,
-
93  col_type const & v1,
-
94  col_type const & v2,
-
95  col_type const & v3);
-
96 
-
98  // Conversions
-
99  template <typename U>
-
100  GLM_FUNC_DECL explicit tmat4x4(
-
101  U const & x);
-
102 
-
103  template <
-
104  typename X1, typename Y1, typename Z1, typename W1,
-
105  typename X2, typename Y2, typename Z2, typename W2,
-
106  typename X3, typename Y3, typename Z3, typename W3,
-
107  typename X4, typename Y4, typename Z4, typename W4>
-
108  GLM_FUNC_DECL explicit tmat4x4(
-
109  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
-
110  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
-
111  X3 const & x3, Y3 const & y3, Z3 const & z3, W3 const & w3,
-
112  X4 const & x4, Y4 const & y4, Z4 const & z4, W4 const & w4);
-
113 
-
114  template <typename V1, typename V2, typename V3, typename V4>
-
115  GLM_FUNC_DECL explicit tmat4x4(
-
116  tvec4<V1> const & v1,
-
117  tvec4<V2> const & v2,
-
118  tvec4<V3> const & v3,
-
119  tvec4<V4> const & v4);
-
120 
-
121  // Matrix conversions
-
122  template <typename U>
-
123  GLM_FUNC_DECL explicit tmat4x4(tmat4x4<U> const & m);
-
124 
-
125  GLM_FUNC_DECL explicit tmat4x4(tmat2x2<T> const & x);
-
126  GLM_FUNC_DECL explicit tmat4x4(tmat3x3<T> const & x);
-
127  GLM_FUNC_DECL explicit tmat4x4(tmat2x3<T> const & x);
-
128  GLM_FUNC_DECL explicit tmat4x4(tmat3x2<T> const & x);
-
129  GLM_FUNC_DECL explicit tmat4x4(tmat2x4<T> const & x);
-
130  GLM_FUNC_DECL explicit tmat4x4(tmat4x2<T> const & x);
-
131  GLM_FUNC_DECL explicit tmat4x4(tmat3x4<T> const & x);
-
132  GLM_FUNC_DECL explicit tmat4x4(tmat4x3<T> const & x);
-
133 
-
134  // Accesses
-
135  GLM_FUNC_DECL col_type & operator[](size_type i);
-
136  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
-
137 
-
138  // Unary updatable operators
-
139  GLM_FUNC_DECL tmat4x4<T> & operator= (tmat4x4<T> const & m);
-
140  template <typename U>
-
141  GLM_FUNC_DECL tmat4x4<T> & operator= (tmat4x4<U> const & m);
-
142  template <typename U>
-
143  GLM_FUNC_DECL tmat4x4<T> & operator+= (U const & s);
-
144  template <typename U>
-
145  GLM_FUNC_DECL tmat4x4<T> & operator+= (tmat4x4<U> const & m);
-
146  template <typename U>
-
147  GLM_FUNC_DECL tmat4x4<T> & operator-= (U const & s);
-
148  template <typename U>
-
149  GLM_FUNC_DECL tmat4x4<T> & operator-= (tmat4x4<U> const & m);
-
150  template <typename U>
-
151  GLM_FUNC_DECL tmat4x4<T> & operator*= (U const & s);
-
152  template <typename U>
-
153  GLM_FUNC_DECL tmat4x4<T> & operator*= (tmat4x4<U> const & m);
-
154  template <typename U>
-
155  GLM_FUNC_DECL tmat4x4<T> & operator/= (U const & s);
-
156  template <typename U>
-
157  GLM_FUNC_DECL tmat4x4<T> & operator/= (tmat4x4<U> const & m);
-
158  GLM_FUNC_DECL tmat4x4<T> & operator++ ();
-
159  GLM_FUNC_DECL tmat4x4<T> & operator-- ();
-
160  };
-
161 
-
162  // Binary operators
-
163  template <typename T>
-
164  tmat4x4<T> operator+ (
-
165  tmat4x4<T> const & m,
-
166  typename tmat4x4<T>::value_type const & s);
-
167 
-
168  template <typename T>
-
169  tmat4x4<T> operator+ (
-
170  typename tmat4x4<T>::value_type const & s,
-
171  tmat4x4<T> const & m);
-
172 
-
173  template <typename T>
-
174  tmat4x4<T> operator+ (
-
175  tmat4x4<T> const & m1,
-
176  tmat4x4<T> const & m2);
-
177 
-
178  template <typename T>
-
179  tmat4x4<T> operator- (
-
180  tmat4x4<T> const & m,
-
181  typename tmat4x4<T>::value_type const & s);
-
182 
-
183  template <typename T>
-
184  tmat4x4<T> operator- (
-
185  typename tmat4x4<T>::value_type const & s,
-
186  tmat4x4<T> const & m);
-
187 
-
188  template <typename T>
-
189  tmat4x4<T> operator- (
-
190  tmat4x4<T> const & m1,
-
191  tmat4x4<T> const & m2);
-
192 
-
193  template <typename T>
-
194  tmat4x4<T> operator* (
-
195  tmat4x4<T> const & m,
-
196  typename tmat4x4<T>::value_type const & s);
-
197 
-
198  template <typename T>
-
199  tmat4x4<T> operator* (
-
200  typename tmat4x4<T>::value_type const & s,
-
201  tmat4x4<T> const & m);
-
202 
-
203  template <typename T>
-
204  typename tmat4x4<T>::col_type operator* (
-
205  tmat4x4<T> const & m,
-
206  typename tmat4x4<T>::row_type const & v);
-
207 
-
208  template <typename T>
-
209  typename tmat4x4<T>::row_type operator* (
-
210  typename tmat4x4<T>::col_type const & v,
-
211  tmat4x4<T> const & m);
-
212 
-
213  template <typename T>
-
214  tmat2x4<T> operator* (
-
215  tmat4x4<T> const & m1,
-
216  tmat2x4<T> const & m2);
-
217 
-
218  template <typename T>
-
219  tmat3x4<T> operator* (
-
220  tmat4x4<T> const & m1,
-
221  tmat3x4<T> const & m2);
-
222 
-
223  template <typename T>
-
224  tmat4x4<T> operator* (
-
225  tmat4x4<T> const & m1,
-
226  tmat4x4<T> const & m2);
-
227 
-
228  template <typename T>
-
229  tmat4x4<T> operator/ (
-
230  tmat4x4<T> const & m,
-
231  typename tmat4x4<T>::value_type const & s);
-
232 
-
233  template <typename T>
-
234  tmat4x4<T> operator/ (
-
235  typename tmat4x4<T>::value_type const & s,
-
236  tmat4x4<T> const & m);
-
237 
-
238  template <typename T>
-
239  typename tmat4x4<T>::col_type operator/ (
-
240  tmat4x4<T> const & m,
-
241  typename tmat4x4<T>::row_type const & v);
-
242 
-
243  template <typename T>
-
244  typename tmat4x4<T>::row_type operator/ (
-
245  typename tmat4x4<T>::col_type & v,
-
246  tmat4x4<T> const & m);
-
247 
-
248  template <typename T>
-
249  tmat4x4<T> operator/ (
-
250  tmat4x4<T> const & m1,
-
251  tmat4x4<T> const & m2);
-
252 
-
253  // Unary constant operators
-
254  template <typename T>
-
255  tmat4x4<T> const operator- (
-
256  tmat4x4<T> const & m);
-
257 
-
258  template <typename T>
-
259  tmat4x4<T> const operator-- (
-
260  tmat4x4<T> const & m, int);
-
261 
-
262  template <typename T>
-
263  tmat4x4<T> const operator++ (
-
264  tmat4x4<T> const & m, int);
-
265 
-
266 } //namespace detail
-
267 
-
270 
-
276  typedef detail::tmat4x4<lowp_float> lowp_mat4;
-
277 
-
283  typedef detail::tmat4x4<mediump_float> mediump_mat4;
-
284 
-
290  typedef detail::tmat4x4<highp_float> highp_mat4;
-
291 
-
297  typedef detail::tmat4x4<lowp_float> lowp_mat4x4;
-
298 
-
304  typedef detail::tmat4x4<mediump_float> mediump_mat4x4;
-
305 
-
311  typedef detail::tmat4x4<highp_float> highp_mat4x4;
-
312 
-
314 }//namespace glm
-
315 
-
316 #ifndef GLM_EXTERNAL_TEMPLATE
-
317 #include "type_mat4x4.inl"
-
318 #endif//GLM_EXTERNAL_TEMPLATE
-
319 
-
320 #endif//glm_core_type_mat4x4
-
- - - - + + + + + + +GLM: scalar_relational.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
scalar_relational.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_scalar_relational
+
39 #define GLM_GTX_scalar_relational
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_extend extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
53 
+
54 
+
56 }//namespace glm
+
57 
+
58 #include "scalar_relational.inl"
+
59 
+
60 #endif//GLM_GTX_scalar_relational
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00108.html glm-0.9.5.1/doc/api/a00108.html --- glm-0.9.4.6/doc/api/a00108.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00108.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,343 +0,0 @@ - - - - - -type_precision.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_precision.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef float16 f16
 
typedef detail::tmat2x2< f16 > f16mat2
 
typedef detail::tmat2x2< f16 > f16mat2x2
 
typedef detail::tmat2x3< f16 > f16mat2x3
 
typedef detail::tmat2x4< f16 > f16mat2x4
 
typedef detail::tmat3x3< f16 > f16mat3
 
typedef detail::tmat3x2< f16 > f16mat3x2
 
typedef detail::tmat3x3< f16 > f16mat3x3
 
typedef detail::tmat3x4< f16 > f16mat3x4
 
typedef detail::tmat4x4< f16 > f16mat4
 
typedef detail::tmat4x2< f16 > f16mat4x2
 
typedef detail::tmat4x3< f16 > f16mat4x3
 
typedef detail::tmat4x4< f16 > f16mat4x4
 
typedef detail::tquat< f16 > f16quat
 
typedef detail::tvec1< f16 > f16vec1
 
typedef detail::tvec2< f16 > f16vec2
 
typedef detail::tvec3< f16 > f16vec3
 
typedef detail::tvec4< f16 > f16vec4
 
typedef float32 f32
 
typedef detail::tmat2x2< f32 > f32mat2
 
typedef detail::tmat2x2< f32 > f32mat2x2
 
typedef detail::tmat2x3< f32 > f32mat2x3
 
typedef detail::tmat2x4< f32 > f32mat2x4
 
typedef detail::tmat3x3< f32 > f32mat3
 
typedef detail::tmat3x2< f32 > f32mat3x2
 
typedef detail::tmat3x3< f32 > f32mat3x3
 
typedef detail::tmat3x4< f32 > f32mat3x4
 
typedef detail::tmat4x4< f32 > f32mat4
 
typedef detail::tmat4x2< f32 > f32mat4x2
 
typedef detail::tmat4x3< f32 > f32mat4x3
 
typedef detail::tmat4x4< f32 > f32mat4x4
 
typedef detail::tquat< f32 > f32quat
 
typedef detail::tvec1< f32 > f32vec1
 
typedef detail::tvec2< f32 > f32vec2
 
typedef detail::tvec3< f32 > f32vec3
 
typedef detail::tvec4< f32 > f32vec4
 
typedef float64 f64
 
typedef detail::tmat2x2< f64 > f64mat2
 
typedef detail::tmat2x2< f64 > f64mat2x2
 
typedef detail::tmat2x3< f64 > f64mat2x3
 
typedef detail::tmat2x4< f64 > f64mat2x4
 
typedef detail::tmat3x3< f64 > f64mat3
 
typedef detail::tmat3x2< f64 > f64mat3x2
 
typedef detail::tmat3x3< f64 > f64mat3x3
 
typedef detail::tmat3x4< f64 > f64mat3x4
 
typedef detail::tmat4x4< f64 > f64mat4
 
typedef detail::tmat4x2< f64 > f64mat4x2
 
typedef detail::tmat4x3< f64 > f64mat4x3
 
typedef detail::tmat4x4< f64 > f64mat4x4
 
typedef detail::tquat< f64 > f64quat
 
typedef detail::tvec1< f64 > f64vec1
 
typedef detail::tvec2< f64 > f64vec2
 
typedef detail::tvec3< f64 > f64vec3
 
typedef detail::tvec4< f64 > f64vec4
 
typedef detail::float16 float16
 
typedef detail::float16 float16_t
 
typedef detail::float32 float32
 
typedef detail::float32 float32_t
 
typedef detail::float64 float64
 
typedef detail::float64 float64_t
 
typedef detail::tmat2x2< f32 > fmat2
 
typedef detail::tmat2x2< f32 > fmat2x2
 
typedef detail::tmat2x3< f32 > fmat2x3
 
typedef detail::tmat2x4< f32 > fmat2x4
 
typedef detail::tmat3x3< f32 > fmat3
 
typedef detail::tmat3x2< f32 > fmat3x2
 
typedef detail::tmat3x3< f32 > fmat3x3
 
typedef detail::tmat3x4< f32 > fmat3x4
 
typedef detail::tmat4x4< f32 > fmat4
 
typedef detail::tmat4x2< f32 > fmat4x2
 
typedef detail::tmat4x3< f32 > fmat4x3
 
typedef detail::tmat4x4< f32 > fmat4x4
 
typedef detail::tvec1< float > fvec1
 
typedef detail::tvec2< float > fvec2
 
typedef detail::tvec3< float > fvec3
 
typedef detail::tvec4< float > fvec4
 
typedef detail::int16 i16
 
typedef detail::tvec1< i16 > i16vec1
 
typedef detail::tvec2< i16 > i16vec2
 
typedef detail::tvec3< i16 > i16vec3
 
typedef detail::tvec4< i16 > i16vec4
 
typedef detail::int32 i32
 
typedef detail::tvec1< i32 > i32vec1
 
typedef detail::tvec2< i32 > i32vec2
 
typedef detail::tvec3< i32 > i32vec3
 
typedef detail::tvec4< i32 > i32vec4
 
typedef detail::int64 i64
 
typedef detail::tvec1< i64 > i64vec1
 
typedef detail::tvec2< i64 > i64vec2
 
typedef detail::tvec3< i64 > i64vec3
 
typedef detail::tvec4< i64 > i64vec4
 
typedef detail::int8 i8
 
typedef detail::tvec1< i8 > i8vec1
 
typedef detail::tvec2< i8 > i8vec2
 
typedef detail::tvec3< i8 > i8vec3
 
typedef detail::tvec4< i8 > i8vec4
 
typedef detail::int16 int16
 
typedef detail::int16 int16_t
 
typedef detail::int32 int32
 
typedef detail::int32 int32_t
 
typedef detail::int64 int64
 
typedef detail::int64 int64_t
 
typedef detail::int8 int8
 
typedef detail::int8 int8_t
 
typedef detail::uint16 u16
 
typedef detail::tvec1< u16 > u16vec1
 
typedef detail::tvec2< u16 > u16vec2
 
typedef detail::tvec3< u16 > u16vec3
 
typedef detail::tvec4< u16 > u16vec4
 
typedef detail::uint32 u32
 
typedef detail::tvec1< u32 > u32vec1
 
typedef detail::tvec2< u32 > u32vec2
 
typedef detail::tvec3< u32 > u32vec3
 
typedef detail::tvec4< u32 > u32vec4
 
typedef detail::uint64 u64
 
typedef detail::tvec1< u64 > u64vec1
 
typedef detail::tvec2< u64 > u64vec2
 
typedef detail::tvec3< u64 > u64vec3
 
typedef detail::tvec4< u64 > u64vec4
 
typedef detail::uint8 u8
 
typedef detail::tvec1< u8 > u8vec1
 
typedef detail::tvec2< u8 > u8vec2
 
typedef detail::tvec3< u8 > u8vec3
 
typedef detail::tvec4< u8 > u8vec4
 
typedef detail::uint16 uint16
 
typedef detail::uint16 uint16_t
 
typedef detail::uint32 uint32
 
typedef detail::uint32 uint32_t
 
typedef detail::uint64 uint64
 
typedef detail::uint64 uint64_t
 
typedef detail::uint8 uint8
 
typedef detail::uint8 uint8_t
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_type_precision

-
Date
2009-06-04 / 2011-12-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_half_float (dependence)
-
-GLM_GTC_quaternion (dependence)
- -

Definition in file type_precision.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00108_source.html glm-0.9.5.1/doc/api/a00108_source.html --- glm-0.9.4.6/doc/api/a00108_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00108_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,437 +1,813 @@ - - - - - -type_precision.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_precision.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 
-
41 
-
42 
-
43 #ifndef GLM_GTC_type_precision
-
44 #define GLM_GTC_type_precision GLM_VERSION
-
45 
-
46 // Dependency:
-
47 #include "../glm.hpp"
-
48 #include "../gtc/half_float.hpp"
-
49 #include "../gtc/quaternion.hpp"
-
50 
-
51 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
52 # pragma message("GLM: GLM_GTC_type_precision extension included")
-
53 #endif
-
54 
-
55 namespace glm
-
56 {
-
58  // Signed int vector types
-
59 
-
62 
-
65  typedef detail::int8 int8;
-
66 
-
69  typedef detail::int16 int16;
-
70 
-
73  typedef detail::int32 int32;
-
74 
-
77  typedef detail::int64 int64;
-
78 
-
79 
-
82  typedef detail::int8 int8_t;
-
83 
-
86  typedef detail::int16 int16_t;
-
87 
-
90  typedef detail::int32 int32_t;
-
91 
-
94  typedef detail::int64 int64_t;
-
95 
-
96 
-
99  typedef detail::int8 i8;
-
100 
-
103  typedef detail::int16 i16;
-
104 
-
107  typedef detail::int32 i32;
-
108 
-
111  typedef detail::int64 i64;
-
112 
-
113 
-
116  typedef detail::tvec1<i8> i8vec1;
-
117 
-
120  typedef detail::tvec2<i8> i8vec2;
-
121 
-
124  typedef detail::tvec3<i8> i8vec3;
-
125 
-
128  typedef detail::tvec4<i8> i8vec4;
-
129 
-
130 
-
133  typedef detail::tvec1<i16> i16vec1;
-
134 
-
137  typedef detail::tvec2<i16> i16vec2;
-
138 
-
141  typedef detail::tvec3<i16> i16vec3;
-
142 
-
145  typedef detail::tvec4<i16> i16vec4;
-
146 
-
147 
-
150  typedef detail::tvec1<i32> i32vec1;
-
151 
-
154  typedef detail::tvec2<i32> i32vec2;
-
155 
-
158  typedef detail::tvec3<i32> i32vec3;
-
159 
-
162  typedef detail::tvec4<i32> i32vec4;
-
163 
-
164 
-
167  typedef detail::tvec1<i64> i64vec1;
-
168 
-
171  typedef detail::tvec2<i64> i64vec2;
-
172 
-
175  typedef detail::tvec3<i64> i64vec3;
-
176 
-
179  typedef detail::tvec4<i64> i64vec4;
-
180 
-
181 
-
183  // Unsigned int vector types
-
184 
-
187  typedef detail::uint8 uint8;
-
188 
-
191  typedef detail::uint16 uint16;
-
192 
-
195  typedef detail::uint32 uint32;
-
196 
-
199  typedef detail::uint64 uint64;
-
200 
-
201 
-
204  typedef detail::uint8 uint8_t;
-
205 
-
208  typedef detail::uint16 uint16_t;
-
209 
-
212  typedef detail::uint32 uint32_t;
-
213 
-
216  typedef detail::uint64 uint64_t;
-
217 
-
218 
-
221  typedef detail::uint8 u8;
-
222 
-
225  typedef detail::uint16 u16;
-
226 
-
229  typedef detail::uint32 u32;
-
230 
-
233  typedef detail::uint64 u64;
-
234 
-
235 
-
238  typedef detail::tvec1<u8> u8vec1;
-
239 
-
242  typedef detail::tvec2<u8> u8vec2;
-
243 
-
246  typedef detail::tvec3<u8> u8vec3;
-
247 
-
250  typedef detail::tvec4<u8> u8vec4;
-
251 
-
252 
-
255  typedef detail::tvec1<u16> u16vec1;
-
256 
-
259  typedef detail::tvec2<u16> u16vec2;
-
260 
-
263  typedef detail::tvec3<u16> u16vec3;
-
264 
-
267  typedef detail::tvec4<u16> u16vec4;
-
268 
-
269 
-
272  typedef detail::tvec1<u32> u32vec1;
-
273 
-
276  typedef detail::tvec2<u32> u32vec2;
-
277 
-
280  typedef detail::tvec3<u32> u32vec3;
-
281 
-
284  typedef detail::tvec4<u32> u32vec4;
-
285 
-
286 
-
289  typedef detail::tvec1<u64> u64vec1;
-
290 
-
293  typedef detail::tvec2<u64> u64vec2;
-
294 
-
297  typedef detail::tvec3<u64> u64vec3;
-
298 
-
301  typedef detail::tvec4<u64> u64vec4;
-
302 
-
303 
-
305  // Float vector types
-
306 
-
309  typedef detail::float16 float16;
-
310 
-
313  typedef detail::float32 float32;
-
314 
-
317  typedef detail::float64 float64;
-
318 
-
319 
-
322  typedef detail::float16 float16_t;
-
323 
-
326  typedef detail::float32 float32_t;
-
327 
-
330  typedef detail::float64 float64_t;
-
331 
-
332 
-
335  typedef float16 f16;
-
336 
-
339  typedef float32 f32;
-
340 
-
343  typedef float64 f64;
-
344 
-
345 
-
348  typedef detail::tvec1<float> fvec1;
-
349 
-
352  typedef detail::tvec2<float> fvec2;
-
353 
-
356  typedef detail::tvec3<float> fvec3;
-
357 
-
360  typedef detail::tvec4<float> fvec4;
-
361 
-
362 
-
365  typedef detail::tvec1<f16> f16vec1;
-
366 
-
369  typedef detail::tvec2<f16> f16vec2;
-
370 
-
373  typedef detail::tvec3<f16> f16vec3;
-
374 
-
377  typedef detail::tvec4<f16> f16vec4;
-
378 
-
379 
-
382  typedef detail::tvec1<f32> f32vec1;
-
383 
-
386  typedef detail::tvec2<f32> f32vec2;
-
387 
-
390  typedef detail::tvec3<f32> f32vec3;
-
391 
-
394  typedef detail::tvec4<f32> f32vec4;
-
395 
-
396 
-
399  typedef detail::tvec1<f64> f64vec1;
-
400 
-
403  typedef detail::tvec2<f64> f64vec2;
-
404 
-
407  typedef detail::tvec3<f64> f64vec3;
-
408 
-
411  typedef detail::tvec4<f64> f64vec4;
-
412 
-
413 
-
415  // Float matrix types
-
416 
-
419  //typedef detail::tmat1x1<f32> fmat1;
-
420 
-
423  typedef detail::tmat2x2<f32> fmat2;
-
424 
-
427  typedef detail::tmat3x3<f32> fmat3;
-
428 
-
431  typedef detail::tmat4x4<f32> fmat4;
-
432 
-
433 
-
436  //typedef f32 fmat1x1;
-
437 
-
440  typedef detail::tmat2x2<f32> fmat2x2;
-
441 
-
444  typedef detail::tmat2x3<f32> fmat2x3;
-
445 
-
448  typedef detail::tmat2x4<f32> fmat2x4;
-
449 
-
452  typedef detail::tmat3x2<f32> fmat3x2;
-
453 
-
456  typedef detail::tmat3x3<f32> fmat3x3;
-
457 
-
460  typedef detail::tmat3x4<f32> fmat3x4;
-
461 
-
464  typedef detail::tmat4x2<f32> fmat4x2;
-
465 
-
468  typedef detail::tmat4x3<f32> fmat4x3;
-
469 
-
472  typedef detail::tmat4x4<f32> fmat4x4;
-
473 
-
474 
-
477  //typedef detail::tmat1x1<f16> f16mat1;
-
478 
-
481  typedef detail::tmat2x2<f16> f16mat2;
-
482 
-
485  typedef detail::tmat3x3<f16> f16mat3;
-
486 
-
489  typedef detail::tmat4x4<f16> f16mat4;
-
490 
-
491 
-
494  //typedef f16 f16mat1x1;
-
495 
-
498  typedef detail::tmat2x2<f16> f16mat2x2;
-
499 
-
502  typedef detail::tmat2x3<f16> f16mat2x3;
-
503 
-
506  typedef detail::tmat2x4<f16> f16mat2x4;
-
507 
-
510  typedef detail::tmat3x2<f16> f16mat3x2;
-
511 
-
514  typedef detail::tmat3x3<f16> f16mat3x3;
-
515 
-
518  typedef detail::tmat3x4<f16> f16mat3x4;
-
519 
-
522  typedef detail::tmat4x2<f16> f16mat4x2;
-
523 
-
526  typedef detail::tmat4x3<f16> f16mat4x3;
-
527 
-
530  typedef detail::tmat4x4<f16> f16mat4x4;
-
531 
-
532 
-
535  //typedef detail::tmat1x1<f32> f32mat1;
-
536 
-
539  typedef detail::tmat2x2<f32> f32mat2;
-
540 
-
543  typedef detail::tmat3x3<f32> f32mat3;
-
544 
-
547  typedef detail::tmat4x4<f32> f32mat4;
-
548 
-
549 
-
552  //typedef f32 f32mat1x1;
-
553 
-
556  typedef detail::tmat2x2<f32> f32mat2x2;
-
557 
-
560  typedef detail::tmat2x3<f32> f32mat2x3;
-
561 
-
564  typedef detail::tmat2x4<f32> f32mat2x4;
-
565 
-
568  typedef detail::tmat3x2<f32> f32mat3x2;
-
569 
-
572  typedef detail::tmat3x3<f32> f32mat3x3;
-
573 
-
576  typedef detail::tmat3x4<f32> f32mat3x4;
-
577 
-
580  typedef detail::tmat4x2<f32> f32mat4x2;
-
581 
-
584  typedef detail::tmat4x3<f32> f32mat4x3;
-
585 
-
588  typedef detail::tmat4x4<f32> f32mat4x4;
-
589 
-
590 
-
593  //typedef detail::tmat1x1<f64> f64mat1;
-
594 
-
597  typedef detail::tmat2x2<f64> f64mat2;
-
598 
-
601  typedef detail::tmat3x3<f64> f64mat3;
-
602 
-
605  typedef detail::tmat4x4<f64> f64mat4;
-
606 
-
607 
-
610  //typedef f64 f64mat1x1;
-
611 
-
614  typedef detail::tmat2x2<f64> f64mat2x2;
-
615 
-
618  typedef detail::tmat2x3<f64> f64mat2x3;
-
619 
-
622  typedef detail::tmat2x4<f64> f64mat2x4;
-
623 
-
626  typedef detail::tmat3x2<f64> f64mat3x2;
-
627 
-
630  typedef detail::tmat3x3<f64> f64mat3x3;
-
631 
-
634  typedef detail::tmat3x4<f64> f64mat3x4;
-
635 
-
638  typedef detail::tmat4x2<f64> f64mat4x2;
-
639 
-
642  typedef detail::tmat4x3<f64> f64mat4x3;
-
643 
-
646  typedef detail::tmat4x4<f64> f64mat4x4;
-
647 
-
648 
-
650  // Quaternion types
-
651 
-
654  typedef detail::tquat<f16> f16quat;
-
655 
-
658  typedef detail::tquat<f32> f32quat;
-
659 
-
662  typedef detail::tquat<f64> f64quat;
-
663 
-
665 }//namespace glm
-
666 
-
667 #include "type_precision.inl"
-
668 
-
669 #endif//GLM_GTC_type_precision
-
- - - - + + + + + + +GLM: setup.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
setup.hpp
+
+
+
1 
+
29 #ifndef GLM_SETUP_INCLUDED
+
30 #define GLM_SETUP_INCLUDED
+
31 
+
32 #include <cassert>
+
33 
+
35 // Version
+
36 
+
37 #define GLM_VERSION 95
+
38 #define GLM_VERSION_MAJOR 0
+
39 #define GLM_VERSION_MINOR 9
+
40 #define GLM_VERSION_PATCH 5
+
41 #define GLM_VERSION_REVISION 1
+
42 
+
44 // Platform
+
45 
+
46 #define GLM_PLATFORM_UNKNOWN 0x00000000
+
47 #define GLM_PLATFORM_WINDOWS 0x00010000
+
48 #define GLM_PLATFORM_LINUX 0x00020000
+
49 #define GLM_PLATFORM_APPLE 0x00040000
+
50 //#define GLM_PLATFORM_IOS 0x00080000
+
51 #define GLM_PLATFORM_ANDROID 0x00100000
+
52 #define GLM_PLATFORM_CHROME_NACL 0x00200000
+
53 #define GLM_PLATFORM_UNIX 0x00400000
+
54 #define GLM_PLATFORM_QNXNTO 0x00800000
+
55 #define GLM_PLATFORM_WINCE 0x01000000
+
56 
+
57 #ifdef GLM_FORCE_PLATFORM_UNKNOWN
+
58 # define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
+
59 #elif defined(__QNXNTO__)
+
60 # define GLM_PLATFORM GLM_PLATFORM_QNXNTO
+
61 #elif defined(__APPLE__)
+
62 # define GLM_PLATFORM GLM_PLATFORM_APPLE
+
63 #elif defined(WINCE)
+
64 # define GLM_PLATFORM GLM_PLATFORM_WINCE
+
65 #elif defined(_WIN32)
+
66 # define GLM_PLATFORM GLM_PLATFORM_WINDOWS
+
67 #elif defined(__native_client__)
+
68 # define GLM_PLATFORM GLM_PLATFORM_CHROME_NACL
+
69 #elif defined(__ANDROID__)
+
70 # define GLM_PLATFORM GLM_PLATFORM_ANDROID
+
71 #elif defined(__linux)
+
72 # define GLM_PLATFORM GLM_PLATFORM_LINUX
+
73 #elif defined(__unix)
+
74 # define GLM_PLATFORM GLM_PLATFORM_UNIX
+
75 #else
+
76 # define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
+
77 #endif//
+
78 
+
79 // Report platform detection
+
80 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_PLATFORM_DISPLAYED))
+
81 # define GLM_MESSAGE_PLATFORM_DISPLAYED
+
82 # if(GLM_PLATFORM & GLM_PLATFORM_QNXNTO)
+
83 # pragma message("GLM: QNX platform detected")
+
84 //# elif(GLM_PLATFORM & GLM_PLATFORM_IOS)
+
85 //# pragma message("GLM: iOS platform detected")
+
86 # elif(GLM_PLATFORM & GLM_PLATFORM_APPLE)
+
87 # pragma message("GLM: Apple platform detected")
+
88 # elif(GLM_PLATFORM & GLM_PLATFORM_WINCE)
+
89 # pragma message("GLM: WinCE platform detected")
+
90 # elif(GLM_PLATFORM & GLM_PLATFORM_WINDOWS)
+
91 # pragma message("GLM: Windows platform detected")
+
92 # elif(GLM_PLATFORM & GLM_PLATFORM_CHROME_NACL)
+
93 # pragma message("GLM: Native Client detected")
+
94 # elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
+
95 # pragma message("GLM: Android platform detected")
+
96 # elif(GLM_PLATFORM & GLM_PLATFORM_LINUX)
+
97 # pragma message("GLM: Linux platform detected")
+
98 # elif(GLM_PLATFORM & GLM_PLATFORM_UNIX)
+
99 # pragma message("GLM: UNIX platform detected")
+
100 # elif(GLM_PLATFORM & GLM_PLATFORM_UNKNOWN)
+
101 # pragma message("GLM: platform unknown")
+
102 # else
+
103 # pragma message("GLM: platform not detected")
+
104 # endif
+
105 #endif//GLM_MESSAGE
+
106 
+
108 // Compiler
+
109 
+
110 // User defines: GLM_FORCE_COMPILER_UNKNOWN
+
111 // TODO ? __llvm__
+
112 
+
113 #define GLM_COMPILER_UNKNOWN 0x00000000
+
114 
+
115 // Intel
+
116 #define GLM_COMPILER_INTEL 0x00100000
+
117 #define GLM_COMPILER_INTEL9 0x00100010
+
118 #define GLM_COMPILER_INTEL10_0 0x00100020
+
119 #define GLM_COMPILER_INTEL10_1 0x00100030
+
120 #define GLM_COMPILER_INTEL11_0 0x00100040
+
121 #define GLM_COMPILER_INTEL11_1 0x00100050
+
122 #define GLM_COMPILER_INTEL12_0 0x00100060
+
123 #define GLM_COMPILER_INTEL12_1 0x00100070
+
124 #define GLM_COMPILER_INTEL13_0 0x00100080
+
125 
+
126 // Visual C++ defines
+
127 #define GLM_COMPILER_VC 0x01000000
+
128 #define GLM_COMPILER_VC8 0x01000070
+
129 #define GLM_COMPILER_VC9 0x01000080
+
130 #define GLM_COMPILER_VC10 0x01000090
+
131 #define GLM_COMPILER_VC11 0x010000A0
+
132 #define GLM_COMPILER_VC12 0x010000B0
+
133 
+
134 // GCC defines
+
135 #define GLM_COMPILER_GCC 0x02000000
+
136 #define GLM_COMPILER_GCC34 0x02000050
+
137 #define GLM_COMPILER_GCC35 0x02000060
+
138 #define GLM_COMPILER_GCC40 0x02000070
+
139 #define GLM_COMPILER_GCC41 0x02000080
+
140 #define GLM_COMPILER_GCC42 0x02000090
+
141 #define GLM_COMPILER_GCC43 0x020000A0
+
142 #define GLM_COMPILER_GCC44 0x020000B0
+
143 #define GLM_COMPILER_GCC45 0x020000C0
+
144 #define GLM_COMPILER_GCC46 0x020000D0
+
145 #define GLM_COMPILER_GCC47 0x020000E0
+
146 #define GLM_COMPILER_GCC48 0x020000F0
+
147 #define GLM_COMPILER_GCC49 0x02000100
+
148 
+
149 // Borland C++
+
150 #define GLM_COMPILER_BC 0x04000000
+
151 
+
152 // CodeWarrior
+
153 #define GLM_COMPILER_CODEWARRIOR 0x08000000
+
154 
+
155 // CUDA
+
156 #define GLM_COMPILER_CUDA 0x10000000
+
157 #define GLM_COMPILER_CUDA30 0x10000010
+
158 #define GLM_COMPILER_CUDA31 0x10000020
+
159 #define GLM_COMPILER_CUDA32 0x10000030
+
160 #define GLM_COMPILER_CUDA40 0x10000040
+
161 #define GLM_COMPILER_CUDA41 0x10000050
+
162 #define GLM_COMPILER_CUDA42 0x10000060
+
163 
+
164 // Clang
+
165 #define GLM_COMPILER_CLANG 0x20000000
+
166 #define GLM_COMPILER_CLANG26 0x20000010
+
167 #define GLM_COMPILER_CLANG27 0x20000020
+
168 #define GLM_COMPILER_CLANG28 0x20000030
+
169 #define GLM_COMPILER_CLANG29 0x20000040
+
170 #define GLM_COMPILER_CLANG30 0x20000050
+
171 #define GLM_COMPILER_CLANG31 0x20000060
+
172 #define GLM_COMPILER_CLANG32 0x20000070
+
173 #define GLM_COMPILER_CLANG33 0x20000080
+
174 #define GLM_COMPILER_CLANG40 0x20000090
+
175 #define GLM_COMPILER_CLANG41 0x200000A0
+
176 #define GLM_COMPILER_CLANG42 0x200000B0
+
177 #define GLM_COMPILER_CLANG43 0x200000C0
+
178 #define GLM_COMPILER_CLANG50 0x200000D0
+
179 
+
180 // LLVM GCC
+
181 #define GLM_COMPILER_LLVM_GCC 0x40000000
+
182 
+
183 // Build model
+
184 #define GLM_MODEL_32 0x00000010
+
185 #define GLM_MODEL_64 0x00000020
+
186 
+
187 // Force generic C++ compiler
+
188 #ifdef GLM_FORCE_COMPILER_UNKNOWN
+
189 # define GLM_COMPILER GLM_COMPILER_UNKNOWN
+
190 
+
191 #elif defined(__INTEL_COMPILER)
+
192 # if __INTEL_COMPILER == 900
+
193 # define GLM_COMPILER GLM_COMPILER_INTEL9
+
194 # elif __INTEL_COMPILER == 1000
+
195 # define GLM_COMPILER GLM_COMPILER_INTEL10_0
+
196 # elif __INTEL_COMPILER == 1010
+
197 # define GLM_COMPILER GLM_COMPILER_INTEL10_1
+
198 # elif __INTEL_COMPILER == 1100
+
199 # define GLM_COMPILER GLM_COMPILER_INTEL11_0
+
200 # elif __INTEL_COMPILER == 1110
+
201 # define GLM_COMPILER GLM_COMPILER_INTEL11_1
+
202 # elif __INTEL_COMPILER == 1200
+
203 # define GLM_COMPILER GLM_COMPILER_INTEL12_0
+
204 # elif __INTEL_COMPILER == 1210
+
205 # define GLM_COMPILER GLM_COMPILER_INTEL12_1
+
206 # elif __INTEL_COMPILER >= 1300
+
207 # define GLM_COMPILER GLM_COMPILER_INTEL13_0
+
208 # else
+
209 # define GLM_COMPILER GLM_COMPILER_INTEL
+
210 # endif
+
211 
+
212 // CUDA
+
213 #elif defined(__CUDACC__)
+
214 # if CUDA_VERSION < 3000
+
215 # error "GLM requires CUDA 3.0 or higher"
+
216 # else
+
217 # define GLM_COMPILER GLM_COMPILER_CUDA
+
218 # endif
+
219 
+
220 // Visual C++
+
221 #elif defined(_MSC_VER)
+
222 # if _MSC_VER < 1400
+
223 # error "GLM requires Visual C++ 2005 or higher"
+
224 # elif _MSC_VER == 1400
+
225 # define GLM_COMPILER GLM_COMPILER_VC8
+
226 # elif _MSC_VER == 1500
+
227 # define GLM_COMPILER GLM_COMPILER_VC9
+
228 # elif _MSC_VER == 1600
+
229 # define GLM_COMPILER GLM_COMPILER_VC10
+
230 # elif _MSC_VER == 1700
+
231 # define GLM_COMPILER GLM_COMPILER_VC11
+
232 # elif _MSC_VER >= 1800
+
233 # define GLM_COMPILER GLM_COMPILER_VC12
+
234 # else//_MSC_VER
+
235 # define GLM_COMPILER GLM_COMPILER_VC
+
236 # endif//_MSC_VER
+
237 
+
238 // Clang
+
239 #elif defined(__clang__)
+
240 # if (__clang_major__ <= 1) || ((__clang_major__ == 2) && (__clang_minor__ < 6))
+
241 # error "GLM requires Clang 2.6 or higher"
+
242 # elif(__clang_major__ == 2) && (__clang_minor__ == 6)
+
243 # define GLM_COMPILER GLM_COMPILER_CLANG26
+
244 # elif(__clang_major__ == 2) && (__clang_minor__ == 7)
+
245 # define GLM_COMPILER GLM_COMPILER_CLANG27
+
246 # elif(__clang_major__ == 2) && (__clang_minor__ == 8)
+
247 # define GLM_COMPILER GLM_COMPILER_CLANG28
+
248 # elif(__clang_major__ == 2) && (__clang_minor__ == 9)
+
249 # define GLM_COMPILER GLM_COMPILER_CLANG29
+
250 # elif(__clang_major__ == 3) && (__clang_minor__ == 0)
+
251 # define GLM_COMPILER GLM_COMPILER_CLANG30
+
252 # elif(__clang_major__ == 3) && (__clang_minor__ == 1)
+
253 # define GLM_COMPILER GLM_COMPILER_CLANG31
+
254 # elif(__clang_major__ == 3) && (__clang_minor__ == 2)
+
255 # define GLM_COMPILER GLM_COMPILER_CLANG32
+
256 # elif(__clang_major__ == 3) && (__clang_minor__ == 3)
+
257 # define GLM_COMPILER GLM_COMPILER_CLANG33
+
258 # elif(__clang_major__ == 4) && (__clang_minor__ == 0)
+
259 # define GLM_COMPILER GLM_COMPILER_CLANG40
+
260 # elif(__clang_major__ == 4) && (__clang_minor__ == 1)
+
261 # define GLM_COMPILER GLM_COMPILER_CLANG41
+
262 # elif(__clang_major__ == 4) && (__clang_minor__ == 2)
+
263 # define GLM_COMPILER GLM_COMPILER_CLANG42
+
264 # elif(__clang_major__ == 4) && (__clang_minor__ >= 3)
+
265 # define GLM_COMPILER GLM_COMPILER_CLANG43
+
266 # elif(__clang_major__ > 4)
+
267 # define GLM_COMPILER GLM_COMPILER_CLANG50
+
268 # else
+
269 # define GLM_COMPILER GLM_COMPILER_CLANG
+
270 # endif
+
271 
+
272 // G++
+
273 #elif(defined(__GNUC__) || defined(__MINGW32__))// || defined(__llvm__) || defined(__clang__)
+
274 # if (__GNUC__ == 3) && (__GNUC_MINOR__ == 4)
+
275 # define GLM_COMPILER GLM_COMPILER_GCC34
+
276 # elif (__GNUC__ == 3) && (__GNUC_MINOR__ == 5)
+
277 # define GLM_COMPILER GLM_COMPILER_GCC35
+
278 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 0)
+
279 # define GLM_COMPILER (GLM_COMPILER_GCC40)
+
280 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 1)
+
281 # define GLM_COMPILER (GLM_COMPILER_GCC41)
+
282 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 2)
+
283 # define GLM_COMPILER (GLM_COMPILER_GCC42)
+
284 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 3)
+
285 # define GLM_COMPILER (GLM_COMPILER_GCC43)
+
286 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 4)
+
287 # define GLM_COMPILER (GLM_COMPILER_GCC44)
+
288 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 5)
+
289 # define GLM_COMPILER (GLM_COMPILER_GCC45)
+
290 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 6)
+
291 # define GLM_COMPILER (GLM_COMPILER_GCC46)
+
292 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 7)
+
293 # define GLM_COMPILER (GLM_COMPILER_GCC47)
+
294 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
+
295 # define GLM_COMPILER (GLM_COMPILER_GCC48)
+
296 # elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)
+
297 # define GLM_COMPILER (GLM_COMPILER_GCC49)
+
298 # elif (__GNUC__ > 4 )
+
299 # define GLM_COMPILER (GLM_COMPILER_GCC49)
+
300 # else
+
301 # define GLM_COMPILER (GLM_COMPILER_GCC)
+
302 # endif
+
303 
+
304 // Borland C++
+
305 #elif defined(_BORLANDC_)
+
306 # define GLM_COMPILER GLM_COMPILER_BC
+
307 
+
308 // Codewarrior
+
309 #elif defined(__MWERKS__)
+
310 # define GLM_COMPILER GLM_COMPILER_CODEWARRIOR
+
311 
+
312 #else
+
313 # define GLM_COMPILER GLM_COMPILER_UNKNOWN
+
314 #endif
+
315 
+
316 #ifndef GLM_COMPILER
+
317 #error "GLM_COMPILER undefined, your compiler may not be supported by GLM. Add #define GLM_COMPILER 0 to ignore this message."
+
318 #endif//GLM_COMPILER
+
319 
+
320 // Report compiler detection
+
321 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPILER_DISPLAYED))
+
322 # define GLM_MESSAGE_COMPILER_DISPLAYED
+
323 # if(GLM_COMPILER & GLM_COMPILER_CUDA)
+
324 # pragma message("GLM: CUDA compiler detected")
+
325 # elif(GLM_COMPILER & GLM_COMPILER_VC)
+
326 # pragma message("GLM: Visual C++ compiler detected")
+
327 # elif(GLM_COMPILER & GLM_COMPILER_CLANG)
+
328 # pragma message("GLM: Clang compiler detected")
+
329 # elif(GLM_COMPILER & GLM_COMPILER_LLVM_GCC)
+
330 # pragma message("GLM: LLVM GCC compiler detected")
+
331 # elif(GLM_COMPILER & GLM_COMPILER_INTEL)
+
332 # pragma message("GLM: Intel Compiler detected")
+
333 # elif(GLM_COMPILER & GLM_COMPILER_GCC)
+
334 # if(GLM_COMPILER == GLM_COMPILER_GCC_LLVM)
+
335 # pragma message("GLM: LLVM GCC compiler detected")
+
336 # elif(GLM_COMPILER == GLM_COMPILER_GCC_CLANG)
+
337 # pragma message("GLM: CLANG compiler detected")
+
338 # else
+
339 # pragma message("GLM: GCC compiler detected")
+
340 # endif
+
341 # elif(GLM_COMPILER & GLM_COMPILER_BC)
+
342 # pragma message("GLM: Borland compiler detected but not supported")
+
343 # elif(GLM_COMPILER & GLM_COMPILER_CODEWARRIOR)
+
344 # pragma message("GLM: Codewarrior compiler detected but not supported")
+
345 # else
+
346 # pragma message("GLM: Compiler not detected")
+
347 # endif
+
348 #endif//GLM_MESSAGE
+
349 
+
351 // Build model //
+
352 
+
353 #if(defined(__arch64__) || defined(__LP64__) || defined(_M_X64) || defined(__ppc64__) || defined(__x86_64__))
+
354 # define GLM_MODEL GLM_MODEL_64
+
355 #elif(defined(__i386__) || defined(__ppc__))
+
356 # define GLM_MODEL GLM_MODEL_32
+
357 #else
+
358 # define GLM_MODEL GLM_MODEL_32
+
359 #endif//
+
360 
+
361 #if(!defined(GLM_MODEL) && GLM_COMPILER != 0)
+
362 # error "GLM_MODEL undefined, your compiler may not be supported by GLM. Add #define GLM_MODEL 0 to ignore this message."
+
363 #endif//GLM_MODEL
+
364 
+
365 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_MODEL_DISPLAYED))
+
366 # define GLM_MESSAGE_MODEL_DISPLAYED
+
367 # if(GLM_MODEL == GLM_MODEL_64)
+
368 # pragma message("GLM: 64 bits model")
+
369 # elif(GLM_MODEL == GLM_MODEL_32)
+
370 # pragma message("GLM: 32 bits model")
+
371 # endif//GLM_MODEL
+
372 #endif//GLM_MESSAGE
+
373 
+
375 // C++ Version //
+
376 
+
377 // User defines: GLM_FORCE_CXX98
+
378 
+
379 #define GLM_LANG_CXX_FLAG (1 << 0)
+
380 #define GLM_LANG_CXX98_FLAG (1 << 1)
+
381 #define GLM_LANG_CXX03_FLAG (1 << 2)
+
382 #define GLM_LANG_CXX0X_FLAG (1 << 3)
+
383 #define GLM_LANG_CXX11_FLAG (1 << 4)
+
384 #define GLM_LANG_CXX1Y_FLAG (1 << 5)
+
385 #define GLM_LANG_CXXMS_FLAG (1 << 6)
+
386 #define GLM_LANG_CXXGNU_FLAG (1 << 7)
+
387 
+
388 #define GLM_LANG_CXX GLM_LANG_CXX_FLAG
+
389 #define GLM_LANG_CXX98 (GLM_LANG_CXX | GLM_LANG_CXX98_FLAG)
+
390 #define GLM_LANG_CXX03 (GLM_LANG_CXX98 | GLM_LANG_CXX03_FLAG)
+
391 #define GLM_LANG_CXX0X (GLM_LANG_CXX03 | GLM_LANG_CXX0X_FLAG)
+
392 #define GLM_LANG_CXX11 (GLM_LANG_CXX0X | GLM_LANG_CXX11_FLAG)
+
393 #define GLM_LANG_CXX1Y (GLM_LANG_CXX11 | GLM_LANG_CXX1Y_FLAG)
+
394 #define GLM_LANG_CXXMS GLM_LANG_CXXMS_FLAG
+
395 #define GLM_LANG_CXXGNU GLM_LANG_CXXGNU_FLAG
+
396 
+
397 #if(defined(GLM_FORCE_CXX1Y))
+
398 # define GLM_LANG GLM_LANG_CXX1Y
+
399 #elif(defined(GLM_FORCE_CXX11))
+
400 # define GLM_LANG GLM_LANG_CXX11
+
401 #elif(defined(GLM_FORCE_CXX03))
+
402 # define GLM_LANG GLM_LANG_CXX03
+
403 #elif(defined(GLM_FORCE_CXX98))
+
404 # define GLM_LANG GLM_LANG_CXX98
+
405 #else
+
406 # if(__cplusplus >= 201103L)
+
407 # define GLM_LANG GLM_LANG_CXX11
+
408 # elif((GLM_COMPILER & GLM_COMPILER_CLANG) == GLM_COMPILER_CLANG)
+
409 # if(GLM_PLATFORM == GLM_PLATFORM_APPLE)
+
410 # define GLM_DETAIL_MAJOR 1
+
411 # else
+
412 # define GLM_DETAIL_MAJOR 0
+
413 # endif
+
414 # if(__clang_major__ < (2 + GLM_DETAIL_MAJOR))
+
415 # define GLM_LANG GLM_LANG_CXX
+
416 # elif(__has_feature(cxx_auto_type))
+
417 # define GLM_LANG GLM_LANG_CXX0X
+
418 # else
+
419 # define GLM_LANG GLM_LANG_CXX98
+
420 # endif
+
421 # elif((GLM_COMPILER & GLM_COMPILER_GCC) == GLM_COMPILER_GCC)
+
422 # if defined(__GXX_EXPERIMENTAL_CXX0X__)
+
423 # define GLM_LANG GLM_LANG_CXX0X
+
424 # else
+
425 # define GLM_LANG GLM_LANG_CXX98
+
426 # endif
+
427 # elif(GLM_COMPILER & GLM_COMPILER_VC)
+
428 # if(defined(_MSC_EXTENSIONS))
+
429 # if(GLM_COMPILER >= GLM_COMPILER_VC10)
+
430 # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
+
431 # else
+
432 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
+
433 # endif
+
434 # else
+
435 # if(GLM_COMPILER >= GLM_COMPILER_VC10)
+
436 # define GLM_LANG GLM_LANG_CXX0X
+
437 # else
+
438 # define GLM_LANG GLM_LANG_CXX98
+
439 # endif
+
440 # endif
+
441 # elif(GLM_COMPILER & GLM_COMPILER_INTEL)
+
442 # if(defined(_MSC_EXTENSIONS))
+
443 # if(GLM_COMPILER >= GLM_COMPILER_INTEL13_0)
+
444 # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_CXXMS_FLAG)
+
445 # else
+
446 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_CXXMS_FLAG)
+
447 # endif
+
448 # else
+
449 # if(GLM_COMPILER >= GLM_COMPILER_INTEL13_0)
+
450 # define GLM_LANG (GLM_LANG_CXX0X)
+
451 # else
+
452 # define GLM_LANG (GLM_LANG_CXX98)
+
453 # endif
+
454 # endif
+
455 # elif(__cplusplus >= 199711L)
+
456 # define GLM_LANG GLM_LANG_CXX98
+
457 # else
+
458 # define GLM_LANG GLM_LANG_CXX
+
459 # endif
+
460 #endif
+
461 
+
462 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_LANG_DISPLAYED))
+
463 # define GLM_MESSAGE_LANG_DISPLAYED
+
464 # if(GLM_LANG & GLM_LANG_CXXGNU_FLAG)
+
465 # pragma message("GLM: C++ with language extensions")
+
466 # elif(GLM_LANG & GLM_LANG_CXXMS_FLAG)
+
467 # pragma message("GLM: C++ with language extensions")
+
468 # elif(GLM_LANG & GLM_LANG_CXX11_FLAG)
+
469 # pragma message("GLM: C++11")
+
470 # elif(GLM_LANG & GLM_LANG_CXX0X_FLAG)
+
471 # pragma message("GLM: C++0x")
+
472 # elif(GLM_LANG & GLM_LANG_CXX03_FLAG)
+
473 # pragma message("GLM: C++03")
+
474 # elif(GLM_LANG & GLM_LANG_CXX98_FLAG)
+
475 # pragma message("GLM: C++98")
+
476 # else
+
477 # pragma message("GLM: C++ language undetected")
+
478 # endif//GLM_MODEL
+
479 # pragma message("GLM: #define GLM_FORCE_CXX98, GLM_FORCE_CXX03, GLM_LANG_CXX11 or GLM_FORCE_CXX1Y to force using a specific version of the C++ language")
+
480 #endif//GLM_MESSAGE
+
481 
+
483 // Has of C++ features
+
484 
+
485 #ifndef __has_feature
+
486 # define __has_feature(x) 0 // Compatibility with non-clang compilers.
+
487 #endif
+
488 #ifndef __has_extension
+
489 # define __has_extension __has_feature // Compatibility with pre-3.0 compilers.
+
490 #endif
+
491 
+
492 // http://clang.llvm.org/cxx_status.html
+
493 // http://gcc.gnu.org/projects/cxx0x.html
+
494 // http://msdn.microsoft.com/en-us/library/vstudio/hh567368(v=vs.120).aspx
+
495 
+
496 // N1720
+
497 #define GLM_HAS_STATIC_ASSERT ( \
+
498  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
499  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC10)) || \
+
500  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
+
501  __has_feature(cxx_static_assert))
+
502 
+
503 // N1988
+
504 #define GLM_HAS_EXTENDED_INTEGER_TYPE ( \
+
505  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
506  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC11)) || \
+
507  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC43)) || \
+
508  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CLANG) && (GLM_COMPILER >= GLM_COMPILER_CLANG29)))
+
509 
+
510 // N2235
+
511 #define GLM_HAS_CONSTEXPR ( \
+
512  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
513  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC46)) || \
+
514  __has_feature(cxx_constexpr))
+
515 
+
516 // N2672
+
517 #define GLM_HAS_INITIALIZER_LISTS ( \
+
518  (GLM_LANG & GLM_LANG_CXX11_FLAG) || \
+
519  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12))) || \
+
520  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC44)) || \
+
521  __has_feature(cxx_generalized_initializers))
+
522 
+
523 // OpenMP
+
524 #ifdef _OPENMP
+
525 # if(GLM_COMPILER & GLM_COMPILER_GCC)
+
526 # if(GLM_COMPILER > GLM_COMPILER_GCC47)
+
527 # define GLM_HAS_OPENMP 31
+
528 # elif(GLM_COMPILER > GLM_COMPILER_GCC44)
+
529 # define GLM_HAS_OPENMP 30
+
530 # elif(GLM_COMPILER > GLM_COMPILER_GCC42)
+
531 # define GLM_HAS_OPENMP 25
+
532 # endif
+
533 # endif//(GLM_COMPILER & GLM_COMPILER_GCC)
+
534 
+
535 # if(GLM_COMPILER & GLM_COMPILER_VC)
+
536 # if(GLM_COMPILER > GLM_COMPILER_VC8)
+
537 # define GLM_HAS_OPENMP 20
+
538 # endif
+
539 # endif//(GLM_COMPILER & GLM_COMPILER_GCC)
+
540 #endif
+
541 
+
542 // Not standard
+
543 #define GLM_HAS_ANONYMOUS_UNION (GLM_LANG & GLM_LANG_CXXMS_FLAG)
+
544 
+
546 // Platform
+
547 
+
548 // User defines: GLM_FORCE_PURE GLM_FORCE_SSE2 GLM_FORCE_AVX
+
549 
+
550 #define GLM_ARCH_PURE 0x0000
+
551 #define GLM_ARCH_SSE2 0x0001
+
552 #define GLM_ARCH_SSE3 0x0002// | GLM_ARCH_SSE2
+
553 #define GLM_ARCH_SSE4 0x0004// | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
+
554 #define GLM_ARCH_AVX 0x0008// | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
+
555 #define GLM_ARCH_AVX2 0x0010// | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
+
556 
+
557 #if(defined(GLM_FORCE_PURE))
+
558 # define GLM_ARCH GLM_ARCH_PURE
+
559 #elif(defined(GLM_FORCE_AVX2))
+
560 # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
561 #elif(defined(GLM_FORCE_AVX))
+
562 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
563 #elif(defined(GLM_FORCE_SSE4))
+
564 # define GLM_ARCH (GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
565 #elif(defined(GLM_FORCE_SSE3))
+
566 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
567 #elif(defined(GLM_FORCE_SSE2))
+
568 # define GLM_ARCH (GLM_ARCH_SSE2)
+
569 #elif((GLM_COMPILER & GLM_COMPILER_VC) && (defined(_M_IX86) || defined(_M_X64)))
+
570 # if(GLM_PLATFORM == GLM_PLATFORM_WINCE)
+
571 # define GLM_ARCH GLM_ARCH_PURE
+
572 # elif(defined(_M_CEE_PURE))
+
573 # define GLM_ARCH GLM_ARCH_PURE
+
574 /* TODO: Explore auto detection of instruction set support
+
575 # elif(defined(_M_IX86_FP))
+
576 # if(_M_IX86_FP >= 3)
+
577 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
578 # elif(_M_IX86_FP >= 2)
+
579 # define GLM_ARCH (GLM_ARCH_SSE2)
+
580 # else
+
581 # define GLM_ARCH GLM_ARCH_PURE
+
582 # endif
+
583 */
+
584 # elif(GLM_COMPILER >= GLM_COMPILER_VC11)
+
585 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
586 # elif(GLM_COMPILER >= GLM_COMPILER_VC10)
+
587 # if(_MSC_FULL_VER >= 160031118) //160031118: VC2010 SP1 beta full version
+
588 # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)//GLM_ARCH_AVX (Require SP1)
+
589 # else
+
590 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
591 # endif
+
592 # elif(GLM_COMPILER >= GLM_COMPILER_VC9)
+
593 # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
+
594 # elif(GLM_COMPILER >= GLM_COMPILER_VC8)
+
595 # define GLM_ARCH GLM_ARCH_SSE2
+
596 # else
+
597 # define GLM_ARCH GLM_ARCH_PURE
+
598 # endif
+
599 #elif((GLM_PLATFORM & GLM_PLATFORM_APPLE) && (GLM_COMPILER & GLM_COMPILER_GCC))
+
600 # define GLM_ARCH GLM_ARCH_PURE
+
601 #elif(((GLM_COMPILER & GLM_COMPILER_GCC) && (defined(__i386__) || defined(__x86_64__))) || (GLM_COMPILER & GLM_COMPILER_LLVM_GCC))
+
602 # define GLM_ARCH (GLM_ARCH_PURE \
+
603 | (defined(__AVX2__) ? GLM_ARCH_AVX2 : 0) \
+
604 | (defined(__AVX__) ? GLM_ARCH_AVX : 0) \
+
605 | (defined(__SSE4__) ? GLM_ARCH_SSE4 : 0) \
+
606 | (defined(__SSE3__) ? GLM_ARCH_SSE3 : 0) \
+
607 | (defined(__SSE2__) ? GLM_ARCH_SSE2 : 0))
+
608 #else
+
609 # define GLM_ARCH GLM_ARCH_PURE
+
610 #endif
+
611 
+
612 // With MinGW-W64, including intrinsic headers before intrin.h will produce some errors. The problem is
+
613 // that windows.h (and maybe other headers) will silently include intrin.h, which of course causes problems.
+
614 // To fix, we just explicitly include intrin.h here.
+
615 #if defined(__MINGW32__) && (GLM_ARCH != GLM_ARCH_PURE)
+
616 # include <intrin.h>
+
617 #endif
+
618 
+
619 //#if(GLM_ARCH != GLM_ARCH_PURE)
+
620 #if(GLM_ARCH & GLM_ARCH_AVX2)
+
621 # include <immintrin.h>
+
622 #endif//GLM_ARCH
+
623 #if(GLM_ARCH & GLM_ARCH_AVX)
+
624 # include <immintrin.h>
+
625 #endif//GLM_ARCH
+
626 #if(GLM_ARCH & GLM_ARCH_SSE4)
+
627 # include <smmintrin.h>
+
628 #endif//GLM_ARCH
+
629 #if(GLM_ARCH & GLM_ARCH_SSE3)
+
630 # include <pmmintrin.h>
+
631 #endif//GLM_ARCH
+
632 #if(GLM_ARCH & GLM_ARCH_SSE2)
+
633 # include <emmintrin.h>
+
634 # if(GLM_COMPILER == GLM_COMPILER_VC8) // VC8 is missing some intrinsics, workaround
+
635  inline float _mm_cvtss_f32(__m128 A) { return A.m128_f32[0]; }
+
636  inline __m128 _mm_castpd_ps(__m128d PD) { union { __m128 ps; __m128d pd; } c; c.pd = PD; return c.ps; }
+
637  inline __m128d _mm_castps_pd(__m128 PS) { union { __m128 ps; __m128d pd; } c; c.ps = PS; return c.pd; }
+
638  inline __m128i _mm_castps_si128(__m128 PS) { union { __m128 ps; __m128i pi; } c; c.ps = PS; return c.pi; }
+
639  inline __m128 _mm_castsi128_ps(__m128i PI) { union { __m128 ps; __m128i pi; } c; c.pi = PI; return c.ps; }
+
640 # endif
+
641 #endif//GLM_ARCH
+
642 //#endif//(GLM_ARCH != GLM_ARCH_PURE)
+
643 
+
644 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED))
+
645 # define GLM_MESSAGE_ARCH_DISPLAYED
+
646 # if(GLM_ARCH == GLM_ARCH_PURE)
+
647 # pragma message("GLM: Platform independent")
+
648 # elif(GLM_ARCH & GLM_ARCH_SSE2)
+
649 # pragma message("GLM: SSE2 instruction set")
+
650 # elif(GLM_ARCH & GLM_ARCH_SSE3)
+
651 # pragma message("GLM: SSE3 instruction set")
+
652 # elif(GLM_ARCH & GLM_ARCH_SSE4)
+
653 # pragma message("GLM: SSE4 instruction set")
+
654 # elif(GLM_ARCH & GLM_ARCH_AVX)
+
655 # pragma message("GLM: AVX instruction set")
+
656 # elif(GLM_ARCH & GLM_ARCH_AVX2)
+
657 # pragma message("GLM: AVX2 instruction set")
+
658 # endif//GLM_ARCH
+
659 # pragma message("GLM: #define GLM_FORCE_PURE to avoid using platform specific instruction sets")
+
660 #endif//GLM_MESSAGE
+
661 
+
663 // Radians
+
664 
+
665 //#define GLM_FORCE_RADIANS
+
666 
+
668 // Static assert
+
669 
+
670 #if GLM_HAS_STATIC_ASSERT
+
671 # define GLM_STATIC_ASSERT(x, message) static_assert(x, message)
+
672 #elif(defined(BOOST_STATIC_ASSERT))
+
673 # define GLM_STATIC_ASSERT(x, message) BOOST_STATIC_ASSERT(x)
+
674 #elif(GLM_COMPILER & GLM_COMPILER_VC)
+
675 # define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]
+
676 #else
+
677 # define GLM_STATIC_ASSERT(x, message)
+
678 # define GLM_STATIC_ASSERT_NULL
+
679 #endif//GLM_LANG
+
680 
+
682 // Qualifiers
+
683 
+
684 // User defines: GLM_FORCE_INLINE GLM_FORCE_CUDA
+
685 
+
686 #if(defined(GLM_FORCE_CUDA) || (GLM_COMPILER & GLM_COMPILER_CUDA))
+
687 # define GLM_CUDA_FUNC_DEF __device__ __host__
+
688 # define GLM_CUDA_FUNC_DECL __device__ __host__
+
689 #else
+
690 # define GLM_CUDA_FUNC_DEF
+
691 # define GLM_CUDA_FUNC_DECL
+
692 #endif
+
693 
+
694 #if GLM_COMPILER & GLM_COMPILER_GCC
+
695 # define GLM_VAR_USED __attribute__ ((unused))
+
696 #else
+
697 # define GLM_VAR_USED
+
698 #endif
+
699 
+
700 #if(defined(GLM_FORCE_INLINE))
+
701 # if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC8))
+
702 # define GLM_INLINE __forceinline
+
703 # elif((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC34))
+
704 # define GLM_INLINE __attribute__((always_inline)) inline
+
705 # elif(GLM_COMPILER & GLM_COMPILER_CLANG)
+
706 # define GLM_INLINE __attribute__((always_inline))
+
707 # else
+
708 # define GLM_INLINE inline
+
709 # endif//GLM_COMPILER
+
710 #else
+
711 # define GLM_INLINE inline
+
712 #endif//defined(GLM_FORCE_INLINE)
+
713 
+
714 #define GLM_FUNC_DECL GLM_CUDA_FUNC_DECL
+
715 #define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE
+
716 
+
718 // Swizzle operators
+
719 
+
720 // User defines: GLM_SWIZZLE
+
721 
+
722 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_SWIZZLE_DISPLAYED))
+
723 # define GLM_MESSAGE_SWIZZLE_DISPLAYED
+
724 # if defined(GLM_SWIZZLE)
+
725 # pragma message("GLM: Swizzling operators enabled")
+
726 # else
+
727 # pragma message("GLM: Swizzling operators disabled, #define GLM_SWIZZLE to enable swizzle operators")
+
728 # endif
+
729 #endif//GLM_MESSAGE
+
730 
+
732 // Length type
+
733 
+
734 // User defines: GLM_FORCE_SIZE_T_LENGTH
+
735 
+
736 namespace glm
+
737 {
+
738 #if defined(GLM_FORCE_SIZE_T_LENGTH)
+
739  typedef std::size_t length_t;
+
740 #else
+
741  typedef int length_t;
+
742 #endif
+
743 }//namespace glm
+
744 
+
745 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_FORCE_SIZE_T_LENGTH))
+
746 # define GLM_MESSAGE_FORCE_SIZE_T_LENGTH
+
747 # if defined(GLM_FORCE_SIZE_T_LENGTH)
+
748 # pragma message("GLM: .length() returns glm::length_t, a typedef of std::size_t")
+
749 # else
+
750 # pragma message("GLM: .length() returns glm::length_t, a typedef of int following the GLSL specification")
+
751 # pragma message("GLM: #define GLM_FORCE_SIZE_T_LENGTH for .length() to return a std::size_t")
+
752 # endif
+
753 #endif//GLM_MESSAGE
+
754 
+
756 // Qualifiers
+
757 
+
758 #if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC8))
+
759 # define GLM_DEPRECATED __declspec(deprecated)
+
760 # define GLM_ALIGN(x) __declspec(align(x))
+
761 # define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct
+
762 # define GLM_RESTRICT __declspec(restrict)
+
763 # define GLM_RESTRICT_VAR __restrict
+
764 #elif(GLM_COMPILER & GLM_COMPILER_INTEL)
+
765 # define GLM_DEPRECATED
+
766 # define GLM_ALIGN(x) __declspec(align(x))
+
767 # define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct
+
768 # define GLM_RESTRICT
+
769 # define GLM_RESTRICT_VAR __restrict
+
770 #elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG))
+
771 # define GLM_DEPRECATED __attribute__((__deprecated__))
+
772 # define GLM_ALIGN(x) __attribute__((aligned(x)))
+
773 # define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x)))
+
774 # define GLM_RESTRICT __restrict__
+
775 # define GLM_RESTRICT_VAR __restrict__
+
776 #else
+
777 # define GLM_DEPRECATED
+
778 # define GLM_ALIGN
+
779 # define GLM_ALIGNED_STRUCT(x)
+
780 # define GLM_RESTRICT
+
781 # define GLM_RESTRICT_VAR
+
782 #endif//GLM_COMPILER
+
783 
+
784 #if GLM_HAS_CONSTEXPR
+
785 # define GLM_CONSTEXPR constexpr
+
786 #else
+
787 # define GLM_CONSTEXPR
+
788 #endif
+
789 
+
790 #endif//GLM_SETUP_INCLUDED
+
GLM_FUNC_DECL genType pi()
Return the pi constant.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00109.html glm-0.9.5.1/doc/api/a00109.html --- glm-0.9.4.6/doc/api/a00109.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00109.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,130 +0,0 @@ - - - - - -type_ptr.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_ptr.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat2x2< T > make_mat2 (T const *const ptr)
 
template<typename T >
detail::tmat2x2< T > make_mat2x2 (T const *const ptr)
 
template<typename T >
detail::tmat2x3< T > make_mat2x3 (T const *const ptr)
 
template<typename T >
detail::tmat2x4< T > make_mat2x4 (T const *const ptr)
 
template<typename T >
detail::tmat3x3< T > make_mat3 (T const *const ptr)
 
template<typename T >
detail::tmat3x2< T > make_mat3x2 (T const *const ptr)
 
template<typename T >
detail::tmat3x3< T > make_mat3x3 (T const *const ptr)
 
template<typename T >
detail::tmat3x4< T > make_mat3x4 (T const *const ptr)
 
template<typename T >
detail::tmat4x4< T > make_mat4 (T const *const ptr)
 
template<typename T >
detail::tmat4x2< T > make_mat4x2 (T const *const ptr)
 
template<typename T >
detail::tmat4x3< T > make_mat4x3 (T const *const ptr)
 
template<typename T >
detail::tmat4x4< T > make_mat4x4 (T const *const ptr)
 
template<typename T >
detail::tquat< T > make_quat (T const *const ptr)
 
template<typename T >
detail::tvec2< T > make_vec2 (T const *const ptr)
 
template<typename T >
detail::tvec3< T > make_vec3 (T const *const ptr)
 
template<typename T >
detail::tvec4< T > make_vec4 (T const *const ptr)
 
template<typename genType >
genType::value_type const * value_ptr (genType const &vec)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_type_ptr

-
Date
2009-05-06 / 2011-06-05
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTC_half_float (dependence)
-
-GLM_GTC_quaternion (dependence)
- -

Definition in file type_ptr.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00109_source.html glm-0.9.5.1/doc/api/a00109_source.html --- glm-0.9.4.6/doc/api/a00109_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00109_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,188 +1,215 @@ - - - - - -type_ptr.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_ptr.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 
-
41 
-
42 
-
43 
-
44 
-
45 
-
46 
-
47 
-
48 
-
49 
-
50 
-
51 
-
52 
-
53 
-
54 
-
55 
-
56 
-
57 
-
58 
-
59 #ifndef GLM_GTC_type_ptr
-
60 #define GLM_GTC_type_ptr GLM_VERSION
-
61 
-
62 // Dependency:
-
63 #include "../glm.hpp"
-
64 #include "../gtc/half_float.hpp"
-
65 #include "../gtc/quaternion.hpp"
-
66 #include <cstring>
-
67 
-
68 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
69 # pragma message("GLM: GLM_GTC_type_ptr extension included")
-
70 #endif
-
71 
-
72 namespace glm
-
73 {
-
76 
-
79  template<typename genType>
-
80  typename genType::value_type const * value_ptr(genType const & vec);
-
81 
-
84  template<typename T>
-
85  detail::tvec2<T> make_vec2(T const * const ptr);
-
86 
-
89  template<typename T>
-
90  detail::tvec3<T> make_vec3(T const * const ptr);
-
91 
-
94  template<typename T>
-
95  detail::tvec4<T> make_vec4(T const * const ptr);
-
96 
-
99  template<typename T>
-
100  detail::tmat2x2<T> make_mat2x2(T const * const ptr);
-
101 
-
104  template<typename T>
-
105  detail::tmat2x3<T> make_mat2x3(T const * const ptr);
-
106 
-
109  template<typename T>
-
110  detail::tmat2x4<T> make_mat2x4(T const * const ptr);
-
111 
-
114  template<typename T>
-
115  detail::tmat3x2<T> make_mat3x2(T const * const ptr);
-
116 
-
119  template<typename T>
-
120  detail::tmat3x3<T> make_mat3x3(T const * const ptr);
-
121 
-
124  template<typename T>
-
125  detail::tmat3x4<T> make_mat3x4(T const * const ptr);
-
126 
-
129  template<typename T>
-
130  detail::tmat4x2<T> make_mat4x2(
-
131  T const * const ptr);
-
132 
-
135  template<typename T>
-
136  detail::tmat4x3<T> make_mat4x3(T const * const ptr);
-
137 
-
140  template<typename T>
-
141  detail::tmat4x4<T> make_mat4x4(T const * const ptr);
-
142 
-
145  template<typename T>
-
146  detail::tmat2x2<T> make_mat2(T const * const ptr);
-
147 
-
150  template<typename T>
-
151  detail::tmat3x3<T> make_mat3(T const * const ptr);
-
152 
-
155  template<typename T>
-
156  detail::tmat4x4<T> make_mat4(T const * const ptr);
-
157 
-
160  template<typename T>
-
161  detail::tquat<T> make_quat(T const * const ptr);
-
162 
-
164 }//namespace glm
-
165 
-
166 #include "type_ptr.inl"
-
167 
-
168 #endif//GLM_GTC_type_ptr
-
169 
-
- - - - + + + + + + +GLM: simd_mat4.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
simd_mat4.hpp
+
+
+
1 
+
38 #ifndef GLM_GTX_simd_mat4
+
39 #define GLM_GTX_simd_mat4
+
40 
+
41 // Dependencies
+
42 #include "../detail/setup.hpp"
+
43 
+
44 #if(GLM_ARCH != GLM_ARCH_PURE)
+
45 
+
46 #if(GLM_ARCH & GLM_ARCH_SSE2)
+
47 # include "../detail/intrinsic_matrix.hpp"
+
48 # include "../gtx/simd_vec4.hpp"
+
49 #else
+
50 # error "GLM: GLM_GTX_simd_mat4 requires compiler support of SSE2 through intrinsics"
+
51 #endif
+
52 
+
53 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
54 # pragma message("GLM: GLM_GTX_simd_mat4 extension included")
+
55 #endif
+
56 
+
57 namespace glm{
+
58 namespace detail
+
59 {
+
62  GLM_ALIGNED_STRUCT(16) fmat4x4SIMD
+
63  {
+
64  enum ctor{_null};
+
65  typedef float value_type;
+
66  typedef fvec4SIMD col_type;
+
67  typedef fvec4SIMD row_type;
+
68  typedef std::size_t size_type;
+
69  typedef fmat4x4SIMD type;
+
70  typedef fmat4x4SIMD transpose_type;
+
71 
+
72  GLM_FUNC_DECL length_t length() const;
+
73 
+
74  fvec4SIMD Data[4];
+
75 
+
77  // Constructors
+
78 
+
79  fmat4x4SIMD();
+
80  explicit fmat4x4SIMD(float const & s);
+
81  explicit fmat4x4SIMD(
+
82  float const & x0, float const & y0, float const & z0, float const & w0,
+
83  float const & x1, float const & y1, float const & z1, float const & w1,
+
84  float const & x2, float const & y2, float const & z2, float const & w2,
+
85  float const & x3, float const & y3, float const & z3, float const & w3);
+
86  explicit fmat4x4SIMD(
+
87  fvec4SIMD const & v0,
+
88  fvec4SIMD const & v1,
+
89  fvec4SIMD const & v2,
+
90  fvec4SIMD const & v3);
+
91  explicit fmat4x4SIMD(
+
92  mat4x4 const & m);
+
93  explicit fmat4x4SIMD(
+
94  __m128 const in[4]);
+
95 
+
96  // Conversions
+
97  //template <typename U>
+
98  //explicit tmat4x4(tmat4x4<U> const & m);
+
99 
+
100  //explicit tmat4x4(tmat2x2<T> const & x);
+
101  //explicit tmat4x4(tmat3x3<T> const & x);
+
102  //explicit tmat4x4(tmat2x3<T> const & x);
+
103  //explicit tmat4x4(tmat3x2<T> const & x);
+
104  //explicit tmat4x4(tmat2x4<T> const & x);
+
105  //explicit tmat4x4(tmat4x2<T> const & x);
+
106  //explicit tmat4x4(tmat3x4<T> const & x);
+
107  //explicit tmat4x4(tmat4x3<T> const & x);
+
108 
+
109  // Accesses
+
110  fvec4SIMD & operator[](length_t i);
+
111  fvec4SIMD const & operator[](length_t i) const;
+
112 
+
113  // Unary updatable operators
+
114  fmat4x4SIMD & operator= (fmat4x4SIMD const & m);
+
115  fmat4x4SIMD & operator+= (float const & s);
+
116  fmat4x4SIMD & operator+= (fmat4x4SIMD const & m);
+
117  fmat4x4SIMD & operator-= (float const & s);
+
118  fmat4x4SIMD & operator-= (fmat4x4SIMD const & m);
+
119  fmat4x4SIMD & operator*= (float const & s);
+
120  fmat4x4SIMD & operator*= (fmat4x4SIMD const & m);
+
121  fmat4x4SIMD & operator/= (float const & s);
+
122  fmat4x4SIMD & operator/= (fmat4x4SIMD const & m);
+
123  fmat4x4SIMD & operator++ ();
+
124  fmat4x4SIMD & operator-- ();
+
125  };
+
126 
+
127  // Binary operators
+
128  fmat4x4SIMD operator+ (fmat4x4SIMD const & m, float const & s);
+
129  fmat4x4SIMD operator+ (float const & s, fmat4x4SIMD const & m);
+
130  fmat4x4SIMD operator+ (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
+
131 
+
132  fmat4x4SIMD operator- (fmat4x4SIMD const & m, float const & s);
+
133  fmat4x4SIMD operator- (float const & s, fmat4x4SIMD const & m);
+
134  fmat4x4SIMD operator- (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
+
135 
+
136  fmat4x4SIMD operator* (fmat4x4SIMD const & m, float const & s);
+
137  fmat4x4SIMD operator* (float const & s, fmat4x4SIMD const & m);
+
138 
+
139  fvec4SIMD operator* (fmat4x4SIMD const & m, fvec4SIMD const & v);
+
140  fvec4SIMD operator* (fvec4SIMD const & v, fmat4x4SIMD const & m);
+
141 
+
142  fmat4x4SIMD operator* (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
+
143 
+
144  fmat4x4SIMD operator/ (fmat4x4SIMD const & m, float const & s);
+
145  fmat4x4SIMD operator/ (float const & s, fmat4x4SIMD const & m);
+
146 
+
147  fvec4SIMD operator/ (fmat4x4SIMD const & m, fvec4SIMD const & v);
+
148  fvec4SIMD operator/ (fvec4SIMD const & v, fmat4x4SIMD const & m);
+
149 
+
150  fmat4x4SIMD operator/ (fmat4x4SIMD const & m1, fmat4x4SIMD const & m2);
+
151 
+
152  // Unary constant operators
+
153  fmat4x4SIMD const operator- (fmat4x4SIMD const & m);
+
154  fmat4x4SIMD const operator-- (fmat4x4SIMD const & m, int);
+
155  fmat4x4SIMD const operator++ (fmat4x4SIMD const & m, int);
+
156 }//namespace detail
+
157 
+
158  typedef detail::fmat4x4SIMD simdMat4;
+
159 
+
162 
+
165  mat4 mat4_cast(
+
166  detail::fmat4x4SIMD const & x);
+
167 
+
171  detail::fmat4x4SIMD matrixCompMult(
+
172  detail::fmat4x4SIMD const & x,
+
173  detail::fmat4x4SIMD const & y);
+
174 
+
179  detail::fmat4x4SIMD outerProduct(
+
180  detail::fvec4SIMD const & c,
+
181  detail::fvec4SIMD const & r);
+
182 
+
185  detail::fmat4x4SIMD transpose(
+
186  detail::fmat4x4SIMD const & x);
+
187 
+
190  float determinant(
+
191  detail::fmat4x4SIMD const & m);
+
192 
+
195  detail::fmat4x4SIMD inverse(
+
196  detail::fmat4x4SIMD const & m);
+
197 
+
199 }// namespace glm
+
200 
+
201 #include "simd_mat4.inl"
+
202 
+
203 #endif//(GLM_ARCH != GLM_ARCH_PURE)
+
204 
+
205 #endif//GLM_GTX_simd_mat4
+
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:425
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
+
GLM_FUNC_DECL detail::tmat4x4< T, P > mat4_cast(detail::tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
GLM_FUNC_DECL detail::tquat< T, P > inverse(detail::tquat< T, P > const &q)
Returns the q inverse.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00110.html glm-0.9.5.1/doc/api/a00110.html --- glm-0.9.4.6/doc/api/a00110.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00110.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,68 +1,75 @@ - - - - - -type_size.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_size.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-10-05 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_size.hpp.

-
- - - - + + + + + + +GLM: simd_quat.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
simd_quat.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

gtx_simd_quat

+
Date
2009-05-07 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file simd_quat.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00110_source.html glm-0.9.5.1/doc/api/a00110_source.html --- glm-0.9.4.6/doc/api/a00110_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00110_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,99 +1,293 @@ - - - - - -type_size.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_size.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_size
-
30 #define glm_core_type_size
-
31 
-
32 #include <cstdlib>
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37  //typedef std::size_t size_t;
-
38  typedef int sizeType;
-
39 
-
40 }//namespace detail
-
41 }//namespace glm
-
42 
-
43 #endif//glm_core_type_size
-
- - - - + + + + + + +GLM: simd_quat.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
simd_quat.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_simd_quat
+
39 #define GLM_GTX_simd_quat
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 #include "../gtc/quaternion.hpp"
+
44 #include "../gtx/fast_trigonometry.hpp"
+
45 
+
46 #if(GLM_ARCH != GLM_ARCH_PURE)
+
47 
+
48 #if(GLM_ARCH & GLM_ARCH_SSE2)
+
49 # include "../core/intrinsic_common.hpp"
+
50 # include "../core/intrinsic_geometric.hpp"
+
51 # include "../gtx/simd_mat4.hpp"
+
52 #else
+
53 # error "GLM: GLM_GTX_simd_quat requires compiler support of SSE2 through intrinsics"
+
54 #endif
+
55 
+
56 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
57 # pragma message("GLM: GLM_GTX_simd_quat extension included")
+
58 #endif
+
59 
+
60 
+
61 // Warning silencer for nameless struct/union.
+
62 #if (GLM_COMPILER & GLM_COMPILER_VC)
+
63 # pragma warning(push)
+
64 # pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
+
65 #endif
+
66 
+
67 
+
68 namespace glm{
+
69 namespace detail
+
70 {
+
73  GLM_ALIGNED_STRUCT(16) fquatSIMD
+
74  {
+
75  enum ctor{null};
+
76  typedef __m128 value_type;
+
77  typedef std::size_t size_type;
+
78  static size_type value_size();
+
79 
+
80  typedef fquatSIMD type;
+
81  typedef tquat<bool, defaultp> bool_type;
+
82 
+
83 #ifdef GLM_SIMD_ENABLE_XYZW_UNION
+
84  union
+
85  {
+
86  __m128 Data;
+
87  struct {float x, y, z, w;};
+
88  };
+
89 #else
+
90  __m128 Data;
+
91 #endif
+
92 
+
94  // Implicit basic constructors
+
95 
+
96  fquatSIMD();
+
97  fquatSIMD(__m128 const & Data);
+
98  fquatSIMD(fquatSIMD const & q);
+
99 
+
101  // Explicit basic constructors
+
102 
+
103  explicit fquatSIMD(
+
104  ctor);
+
105  explicit fquatSIMD(
+
106  float const & w,
+
107  float const & x,
+
108  float const & y,
+
109  float const & z);
+
110  explicit fquatSIMD(
+
111  quat const & v);
+
112  explicit fquatSIMD(
+
113  vec3 const & eulerAngles);
+
114 
+
115 
+
117  // Unary arithmetic operators
+
118 
+
119  fquatSIMD& operator =(fquatSIMD const & q);
+
120  fquatSIMD& operator*=(float const & s);
+
121  fquatSIMD& operator/=(float const & s);
+
122  };
+
123 
+
124 
+
126  // Arithmetic operators
+
127 
+
128  detail::fquatSIMD operator- (
+
129  detail::fquatSIMD const & q);
+
130 
+
131  detail::fquatSIMD operator+ (
+
132  detail::fquatSIMD const & q,
+
133  detail::fquatSIMD const & p);
+
134 
+
135  detail::fquatSIMD operator* (
+
136  detail::fquatSIMD const & q,
+
137  detail::fquatSIMD const & p);
+
138 
+
139  detail::fvec4SIMD operator* (
+
140  detail::fquatSIMD const & q,
+
141  detail::fvec4SIMD const & v);
+
142 
+
143  detail::fvec4SIMD operator* (
+
144  detail::fvec4SIMD const & v,
+
145  detail::fquatSIMD const & q);
+
146 
+
147  detail::fquatSIMD operator* (
+
148  detail::fquatSIMD const & q,
+
149  float s);
+
150 
+
151  detail::fquatSIMD operator* (
+
152  float s,
+
153  detail::fquatSIMD const & q);
+
154 
+
155  detail::fquatSIMD operator/ (
+
156  detail::fquatSIMD const & q,
+
157  float s);
+
158 
+
159 }//namespace detail
+
160 
+
161  typedef glm::detail::fquatSIMD simdQuat;
+
162 
+
165 
+
168  quat quat_cast(
+
169  detail::fquatSIMD const & x);
+
170 
+
173  detail::fquatSIMD quatSIMD_cast(
+
174  detail::fmat4x4SIMD const & m);
+
175 
+
178  template <typename T, precision P>
+
179  detail::fquatSIMD quatSIMD_cast(
+
180  detail::tmat4x4<T, P> const & m);
+
181 
+
184  template <typename T, precision P>
+
185  detail::fquatSIMD quatSIMD_cast(
+
186  detail::tmat3x3<T, P> const & m);
+
187 
+
190  detail::fmat4x4SIMD mat4SIMD_cast(
+
191  detail::fquatSIMD const & q);
+
192 
+
195  mat4 mat4_cast(
+
196  detail::fquatSIMD const & q);
+
197 
+
198 
+
202  float length(
+
203  detail::fquatSIMD const & x);
+
204 
+
208  detail::fquatSIMD normalize(
+
209  detail::fquatSIMD const & x);
+
210 
+
214  float dot(
+
215  detail::fquatSIMD const & q1,
+
216  detail::fquatSIMD const & q2);
+
217 
+
228  detail::fquatSIMD mix(
+
229  detail::fquatSIMD const & x,
+
230  detail::fquatSIMD const & y,
+
231  float const & a);
+
232 
+
241  detail::fquatSIMD lerp(
+
242  detail::fquatSIMD const & x,
+
243  detail::fquatSIMD const & y,
+
244  float const & a);
+
245 
+
254  detail::fquatSIMD slerp(
+
255  detail::fquatSIMD const & x,
+
256  detail::fquatSIMD const & y,
+
257  float const & a);
+
258 
+
259 
+
270  detail::fquatSIMD fastMix(
+
271  detail::fquatSIMD const & x,
+
272  detail::fquatSIMD const & y,
+
273  float const & a);
+
274 
+
282  detail::fquatSIMD fastSlerp(
+
283  detail::fquatSIMD const & x,
+
284  detail::fquatSIMD const & y,
+
285  float const & a);
+
286 
+
287 
+
291  detail::fquatSIMD conjugate(
+
292  detail::fquatSIMD const & q);
+
293 
+
297  detail::fquatSIMD inverse(
+
298  detail::fquatSIMD const & q);
+
299 
+
306  detail::fquatSIMD angleAxisSIMD(
+
307  float const & angle,
+
308  vec3 const & axis);
+
309 
+
318  detail::fquatSIMD angleAxisSIMD(
+
319  float const & angle,
+
320  float const & x,
+
321  float const & y,
+
322  float const & z);
+
323 
+
324 
+
325  // TODO: Move this to somewhere more appropriate. Used with fastMix() and fastSlerp().
+
327  __m128 fastSin(__m128 x);
+
328 
+
329 
+
331 }//namespace glm
+
332 
+
333 #include "simd_quat.inl"
+
334 
+
335 
+
336 #if (GLM_COMPILER & GLM_COMPILER_VC)
+
337 # pragma warning(pop)
+
338 #endif
+
339 
+
340 
+
341 #endif//(GLM_ARCH != GLM_ARCH_PURE)
+
342 
+
343 #endif//GLM_GTX_simd_quat
+
GLM_FUNC_DECL T dot(vecType< T, P > const &x, vecType< T, P > const &y)
Returns the dot product of x and y, i.e., result = x * y.
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
+
GLM_FUNC_DECL detail::tquat< T, P > lerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Linear interpolation of two quaternions.
+
GLM_FUNC_DECL detail::tquat< T, P > quat_cast(detail::tmat3x3< T, P > const &x)
Converts a 3 * 3 matrix to a quaternion.
+
GLM_FUNC_DECL genTypeT mix(genTypeT const &x, genTypeT const &y, genTypeU const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
+
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL detail::tvec3< T, P > eulerAngles(detail::tquat< T, P > const &x)
Returns euler angles, yitch as x, yaw as y, roll as z.
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
+
T fastSin(const T &angle)
Faster than the common sin function but less accurate.
+
GLM_FUNC_DECL genType normalize(genType const &x)
Returns a vector in the same direction as x but with length of 1.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > mat4_cast(detail::tquat< T, P > const &x)
Converts a quaternion to a 4 * 4 matrix.
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
highp_quat quat
Quaternion of default single-precision floating-point numbers.
Definition: fwd.hpp:69
+
detail::tquat< T, P > fastMix(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Quaternion normalized linear interpolation.
+
GLM_FUNC_DECL detail::tvec3< T, P > axis(detail::tquat< T, P > const &x)
Returns the q rotation axis.
+
GLM_FUNC_DECL detail::tquat< T, P > slerp(detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
Spherical linear interpolation of two quaternions.
+
GLM_FUNC_DECL detail::tquat< T, P > conjugate(detail::tquat< T, P > const &q)
Returns the q conjugate.
+
GLM_FUNC_DECL detail::tquat< T, P > inverse(detail::tquat< T, P > const &q)
Returns the q inverse.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00111.html glm-0.9.5.1/doc/api/a00111.html --- glm-0.9.4.6/doc/api/a00111.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00111.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,68 +1,75 @@ - - - - - -type_vec.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_vec.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2010-01-26 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_vec.hpp.

-
- - - - + + + + + + +GLM: simd_vec4.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
simd_vec4.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_simd_quat

+
Date
2009-05-07 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file simd_vec4.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00111_source.html glm-0.9.5.1/doc/api/a00111_source.html --- glm-0.9.4.6/doc/api/a00111_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00111_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,97 +1,406 @@ - - - - - -type_vec.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_vec.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_vec
-
30 #define glm_core_type_vec
-
31 
-
32 #include "type_gentype.hpp"
-
33 
-
34 namespace glm{
-
35 namespace detail
-
36 {
-
37 
-
38 }//namespace detail
-
39 }//namespace glm
-
40 
-
41 #endif//glm_core_type_vec
-
- - - - + + + + + + +GLM: simd_vec4.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
simd_vec4.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_simd_vec4
+
39 #define GLM_GTX_simd_vec4
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(GLM_ARCH != GLM_ARCH_PURE)
+
45 
+
46 #if(GLM_ARCH & GLM_ARCH_SSE2)
+
47 # include "../detail/intrinsic_common.hpp"
+
48 # include "../detail/intrinsic_geometric.hpp"
+
49 # include "../detail/intrinsic_integer.hpp"
+
50 #else
+
51 # error "GLM: GLM_GTX_simd_vec4 requires compiler support of SSE2 through intrinsics"
+
52 #endif
+
53 
+
54 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
55 # pragma message("GLM: GLM_GTX_simd_vec4 extension included")
+
56 #endif
+
57 
+
58 
+
59 // Warning silencer for nameless struct/union.
+
60 #if (GLM_COMPILER & GLM_COMPILER_VC)
+
61 # pragma warning(push)
+
62 # pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
+
63 #endif
+
64 
+
65 namespace glm
+
66 {
+
67  enum comp
+
68  {
+
69  X = 0,
+
70  R = 0,
+
71  S = 0,
+
72  Y = 1,
+
73  G = 1,
+
74  T = 1,
+
75  Z = 2,
+
76  B = 2,
+
77  P = 2,
+
78  W = 3,
+
79  A = 3,
+
80  Q = 3
+
81  };
+
82 
+
83 }//namespace glm
+
84 
+
85 namespace glm{
+
86 namespace detail
+
87 {
+
90  GLM_ALIGNED_STRUCT(16) fvec4SIMD
+
91  {
+
92  enum ctor{null};
+
93  typedef __m128 value_type;
+
94  typedef std::size_t size_type;
+
95  static size_type value_size();
+
96 
+
97  typedef fvec4SIMD type;
+
98  typedef tvec4<bool, highp> bool_type;
+
99 
+
100 #ifdef GLM_SIMD_ENABLE_XYZW_UNION
+
101  union
+
102  {
+
103  __m128 Data;
+
104  struct {float x, y, z, w;};
+
105  };
+
106 #else
+
107  __m128 Data;
+
108 #endif
+
109 
+
111  // Implicit basic constructors
+
112 
+
113  fvec4SIMD();
+
114  fvec4SIMD(__m128 const & Data);
+
115  fvec4SIMD(fvec4SIMD const & v);
+
116 
+
118  // Explicit basic constructors
+
119 
+
120  explicit fvec4SIMD(
+
121  ctor);
+
122  explicit fvec4SIMD(
+
123  float const & s);
+
124  explicit fvec4SIMD(
+
125  float const & x,
+
126  float const & y,
+
127  float const & z,
+
128  float const & w);
+
129  explicit fvec4SIMD(
+
130  vec4 const & v);
+
131 
+
134 
+
135  fvec4SIMD(vec2 const & v, float const & s1, float const & s2);
+
136  fvec4SIMD(float const & s1, vec2 const & v, float const & s2);
+
137  fvec4SIMD(float const & s1, float const & s2, vec2 const & v);
+
138  fvec4SIMD(vec3 const & v, float const & s);
+
139  fvec4SIMD(float const & s, vec3 const & v);
+
140  fvec4SIMD(vec2 const & v1, vec2 const & v2);
+
141  //fvec4SIMD(ivec4SIMD const & v);
+
142 
+
144  // Unary arithmetic operators
+
145 
+
146  fvec4SIMD& operator= (fvec4SIMD const & v);
+
147  fvec4SIMD& operator+=(fvec4SIMD const & v);
+
148  fvec4SIMD& operator-=(fvec4SIMD const & v);
+
149  fvec4SIMD& operator*=(fvec4SIMD const & v);
+
150  fvec4SIMD& operator/=(fvec4SIMD const & v);
+
151 
+
152  fvec4SIMD& operator+=(float const & s);
+
153  fvec4SIMD& operator-=(float const & s);
+
154  fvec4SIMD& operator*=(float const & s);
+
155  fvec4SIMD& operator/=(float const & s);
+
156 
+
157  fvec4SIMD& operator++();
+
158  fvec4SIMD& operator--();
+
159 
+
161  // Swizzle operators
+
162 
+
163  template <comp X, comp Y, comp Z, comp W>
+
164  fvec4SIMD& swizzle();
+
165  template <comp X, comp Y, comp Z, comp W>
+
166  fvec4SIMD swizzle() const;
+
167  template <comp X, comp Y, comp Z>
+
168  fvec4SIMD swizzle() const;
+
169  template <comp X, comp Y>
+
170  fvec4SIMD swizzle() const;
+
171  template <comp X>
+
172  fvec4SIMD swizzle() const;
+
173  };
+
174 }//namespace detail
+
175 
+
176  typedef glm::detail::fvec4SIMD simdVec4;
+
177 
+
180 
+
183  vec4 vec4_cast(
+
184  detail::fvec4SIMD const & x);
+
185 
+
188  detail::fvec4SIMD abs(detail::fvec4SIMD const & x);
+
189 
+
192  detail::fvec4SIMD sign(detail::fvec4SIMD const & x);
+
193 
+
196  detail::fvec4SIMD floor(detail::fvec4SIMD const & x);
+
197 
+
201  detail::fvec4SIMD trunc(detail::fvec4SIMD const & x);
+
202 
+
210  detail::fvec4SIMD round(detail::fvec4SIMD const & x);
+
211 
+
217  //detail::fvec4SIMD roundEven(detail::fvec4SIMD const & x);
+
218 
+
222  detail::fvec4SIMD ceil(detail::fvec4SIMD const & x);
+
223 
+
227  detail::fvec4SIMD fract(detail::fvec4SIMD const & x);
+
228 
+
233  detail::fvec4SIMD mod(
+
234  detail::fvec4SIMD const & x,
+
235  detail::fvec4SIMD const & y);
+
236 
+
241  detail::fvec4SIMD mod(
+
242  detail::fvec4SIMD const & x,
+
243  float const & y);
+
244 
+
250  //detail::fvec4SIMD modf(
+
251  // detail::fvec4SIMD const & x,
+
252  // detail::fvec4SIMD & i);
+
253 
+
257  detail::fvec4SIMD min(
+
258  detail::fvec4SIMD const & x,
+
259  detail::fvec4SIMD const & y);
+
260 
+
261  detail::fvec4SIMD min(
+
262  detail::fvec4SIMD const & x,
+
263  float const & y);
+
264 
+
268  detail::fvec4SIMD max(
+
269  detail::fvec4SIMD const & x,
+
270  detail::fvec4SIMD const & y);
+
271 
+
272  detail::fvec4SIMD max(
+
273  detail::fvec4SIMD const & x,
+
274  float const & y);
+
275 
+
280  detail::fvec4SIMD clamp(
+
281  detail::fvec4SIMD const & x,
+
282  detail::fvec4SIMD const & minVal,
+
283  detail::fvec4SIMD const & maxVal);
+
284 
+
285  detail::fvec4SIMD clamp(
+
286  detail::fvec4SIMD const & x,
+
287  float const & minVal,
+
288  float const & maxVal);
+
289 
+
316  detail::fvec4SIMD mix(
+
317  detail::fvec4SIMD const & x,
+
318  detail::fvec4SIMD const & y,
+
319  detail::fvec4SIMD const & a);
+
320 
+
324  detail::fvec4SIMD step(
+
325  detail::fvec4SIMD const & edge,
+
326  detail::fvec4SIMD const & x);
+
327 
+
328  detail::fvec4SIMD step(
+
329  float const & edge,
+
330  detail::fvec4SIMD const & x);
+
331 
+
343  detail::fvec4SIMD smoothstep(
+
344  detail::fvec4SIMD const & edge0,
+
345  detail::fvec4SIMD const & edge1,
+
346  detail::fvec4SIMD const & x);
+
347 
+
348  detail::fvec4SIMD smoothstep(
+
349  float const & edge0,
+
350  float const & edge1,
+
351  detail::fvec4SIMD const & x);
+
352 
+
360  //bvec4 isnan(detail::fvec4SIMD const & x);
+
361 
+
369  //bvec4 isinf(detail::fvec4SIMD const & x);
+
370 
+
376  //detail::ivec4SIMD floatBitsToInt(detail::fvec4SIMD const & value);
+
377 
+
385  //detail::fvec4SIMD intBitsToFloat(detail::ivec4SIMD const & value);
+
386 
+
390  detail::fvec4SIMD fma(
+
391  detail::fvec4SIMD const & a,
+
392  detail::fvec4SIMD const & b,
+
393  detail::fvec4SIMD const & c);
+
394 
+
405  //detail::fvec4SIMD frexp(detail::fvec4SIMD const & x, detail::ivec4SIMD & exp);
+
406 
+
414  //detail::fvec4SIMD ldexp(detail::fvec4SIMD const & x, detail::ivec4SIMD const & exp);
+
415 
+
419  float length(
+
420  detail::fvec4SIMD const & x);
+
421 
+
426  float fastLength(
+
427  detail::fvec4SIMD const & x);
+
428 
+
433  float niceLength(
+
434  detail::fvec4SIMD const & x);
+
435 
+
439  detail::fvec4SIMD length4(
+
440  detail::fvec4SIMD const & x);
+
441 
+
446  detail::fvec4SIMD fastLength4(
+
447  detail::fvec4SIMD const & x);
+
448 
+
453  detail::fvec4SIMD niceLength4(
+
454  detail::fvec4SIMD const & x);
+
455 
+
459  float distance(
+
460  detail::fvec4SIMD const & p0,
+
461  detail::fvec4SIMD const & p1);
+
462 
+
466  detail::fvec4SIMD distance4(
+
467  detail::fvec4SIMD const & p0,
+
468  detail::fvec4SIMD const & p1);
+
469 
+
473  float simdDot(
+
474  detail::fvec4SIMD const & x,
+
475  detail::fvec4SIMD const & y);
+
476 
+
480  detail::fvec4SIMD dot4(
+
481  detail::fvec4SIMD const & x,
+
482  detail::fvec4SIMD const & y);
+
483 
+
487  detail::fvec4SIMD cross(
+
488  detail::fvec4SIMD const & x,
+
489  detail::fvec4SIMD const & y);
+
490 
+
494  detail::fvec4SIMD normalize(
+
495  detail::fvec4SIMD const & x);
+
496 
+
501  detail::fvec4SIMD fastNormalize(
+
502  detail::fvec4SIMD const & x);
+
503 
+
507  detail::fvec4SIMD simdFaceforward(
+
508  detail::fvec4SIMD const & N,
+
509  detail::fvec4SIMD const & I,
+
510  detail::fvec4SIMD const & Nref);
+
511 
+
516  detail::fvec4SIMD reflect(
+
517  detail::fvec4SIMD const & I,
+
518  detail::fvec4SIMD const & N);
+
519 
+
525  detail::fvec4SIMD refract(
+
526  detail::fvec4SIMD const & I,
+
527  detail::fvec4SIMD const & N,
+
528  float const & eta);
+
529 
+
533  detail::fvec4SIMD sqrt(
+
534  detail::fvec4SIMD const & x);
+
535 
+
540  detail::fvec4SIMD niceSqrt(
+
541  detail::fvec4SIMD const & x);
+
542 
+
547  detail::fvec4SIMD fastSqrt(
+
548  detail::fvec4SIMD const & x);
+
549 
+
553  detail::fvec4SIMD inversesqrt(
+
554  detail::fvec4SIMD const & x);
+
555 
+
560  detail::fvec4SIMD fastInversesqrt(
+
561  detail::fvec4SIMD const & x);
+
562 
+
564 }//namespace glm
+
565 
+
566 #include "simd_vec4.inl"
+
567 
+
568 #if (GLM_COMPILER & GLM_COMPILER_VC)
+
569 # pragma warning(pop)
+
570 #endif
+
571 
+
572 #endif//(GLM_ARCH != GLM_ARCH_PURE)
+
573 
+
574 #endif//GLM_GTX_simd_vec4
+
GLM_FUNC_DECL genType sqrt(genType const &x)
Returns the positive square root of x.
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
+
GLM_FUNC_DECL genType floor(genType const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
+
GLM_FUNC_DECL detail::tvec3< T, P > cross(detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
Returns the cross product of x and y.
+
GLM_FUNC_DECL genTypeT mix(genTypeT const &x, genTypeT const &y, genTypeU const &a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
+
genType fastSqrt(genType const &x)
Faster than the common sqrt function but less accurate.
+
GLM_FUNC_DECL genType mod(genType const &x, genType const &y)
Modulus.
+
GLM_FUNC_DECL genType inversesqrt(genType const &x)
Returns the reciprocal of the positive square root of x.
+
GLM_FUNC_DECL genType normalize(genType const &x)
Returns a vector in the same direction as x but with length of 1.
+
GLM_FUNC_DECL genType fract(genType const &x)
Return x - floor(x).
+
GLM_FUNC_DECL genType ceil(genType const &x)
Returns a value equal to the nearest integer that is greater than or equal to x.
+
GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)
Computes and returns a * b + c.
+
genType fastNormalize(genType const &x)
Faster than the common normalize function but less accurate.
+
GLM_FUNC_DECL genType step(genType const &edge, genType const &x)
Returns 0.0 if x &lt; edge, otherwise it returns 1.0 for each component of a genType.
+
GLM_FUNC_DECL genType trunc(genType const &x)
Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
GLM_FUNC_DECL genType round(genType const &x)
Returns a value equal to the nearest integer to x.
+
GLM_FUNC_DECL vecType< T, P > refract(vecType< T, P > const &I, vecType< T, P > const &N, T const &eta)
For the incident vector I and surface normal N, and the ratio of indices of refraction eta...
+
GLM_FUNC_DECL genType abs(genType const &x)
Returns x if x &gt;= 0; otherwise, it returns -x.
+
GLM_FUNC_DECL genType smoothstep(genType const &edge0, genType const &edge1, genType const &x)
Returns 0.0 if x &lt;= edge0 and 1.0 if x &gt;= edge1 and performs smooth Hermite interpolation between 0 a...
+
GLM_FUNC_DECL genType clamp(genType const &x, genType const &minVal, genType const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
+
GLM_FUNC_DECL genType reflect(genType const &I, genType const &N)
For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...
+
GLM_FUNC_DECL genType max(genType const &x, genType const &y)
Returns y if x &lt; y; otherwise, it returns x.
+
GLM_FUNC_DECL genType::value_type distance(genType const &p0, genType const &p1)
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
+
GLM_FUNC_DECL genType sign(genType const &x)
Returns 1.0 if x &gt; 0, 0.0 if x == 0, or -1.0 if x &lt; 0.
+
genType::value_type fastLength(genType const &x)
Faster than the common length function but less accurate.
+
GLM_FUNC_DECL genType min(genType const &x, genType const &y)
Returns y if y &lt; x; otherwise, it returns x.
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00112.html glm-0.9.5.1/doc/api/a00112.html --- glm-0.9.4.6/doc/api/a00112.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00112.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,68 +1,96 @@ - - - - - -type_vec1.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_vec1.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-25 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_vec1.hpp.

-
- - - - + + + + + + +GLM: spline.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
spline.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_spline

+
Date
2007-01-25 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file spline.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00112_source.html glm-0.9.5.1/doc/api/a00112_source.html --- glm-0.9.4.6/doc/api/a00112_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00112_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,254 +1,110 @@ - - - - - -type_vec1.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_vec1.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_gentype1
-
30 #define glm_core_type_gentype1
-
31 
-
32 #include "type_vec.hpp"
-
33 #include "type_float.hpp"
-
34 #include "type_int.hpp"
-
35 #include "type_size.hpp"
-
36 #include "_swizzle.hpp"
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  template <typename T> struct tref1;
-
42  template <typename T> struct tref2;
-
43  template <typename T> struct tref3;
-
44  template <typename T> struct tref4;
-
45  template <typename T> struct tvec1;
-
46  template <typename T> struct tvec2;
-
47  template <typename T> struct tvec3;
-
48  template <typename T> struct tvec4;
-
49 
-
50  template <typename T>
-
51  struct tvec1
-
52  {
-
53  enum ctor{null};
-
54 
-
55  typedef T value_type;
-
56  typedef std::size_t size_type;
-
57  typedef tvec1<T> type;
-
58  typedef tvec1<bool> bool_type;
-
59 
-
60  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
61 
-
63  // Data
-
64 
-
65 # if(GLM_COMPONENT == GLM_COMPONENT_ONLY_XYZW)
-
66  value_type x;
-
67 # else//(GLM_COMPONENT == GLM_COMPONENT_GLSL_NAMES)
-
68  union {value_type x, r, s;};
-
69 # endif//GLM_COMPONENT
-
70 
-
72  // Accesses
-
73 
-
74  GLM_FUNC_DECL value_type & operator[](size_type i);
-
75  GLM_FUNC_DECL value_type const & operator[](size_type i) const;
-
76 
-
78  // Implicit basic constructors
-
79 
-
80  GLM_FUNC_DECL tvec1();
-
81  GLM_FUNC_DECL tvec1(tvec1<T> const & v);
-
82 
-
84  // Explicit basic constructors
-
85 
-
86  GLM_FUNC_DECL explicit tvec1(
-
87  ctor);
-
88  GLM_FUNC_DECL explicit tvec1(
-
89  value_type const & s);
-
90 
-
92  // Swizzle constructors
-
93 
-
94  GLM_FUNC_DECL tvec1(tref1<T> const & r);
-
95 
-
97  // Convertion scalar constructors
-
98 
-
100  template <typename U>
-
101  GLM_FUNC_DECL explicit tvec1(U const & s);
-
102 
-
104  // Convertion vector constructors
-
105 
-
107  template <typename U>
-
108  GLM_FUNC_DECL explicit tvec1(tvec2<U> const & v);
-
110  template <typename U>
-
111  GLM_FUNC_DECL explicit tvec1(tvec3<U> const & v);
-
113  template <typename U>
-
114  GLM_FUNC_DECL explicit tvec1(tvec4<U> const & v);
-
115 
-
117  // Unary arithmetic operators
-
118 
-
119  GLM_FUNC_DECL tvec1<T> & operator= (tvec1<T> const & v);
-
120  template <typename U>
-
121  GLM_FUNC_DECL tvec1<T> & operator= (tvec1<U> const & v);
-
122 
-
123  template <typename U>
-
124  GLM_FUNC_DECL tvec1<T> & operator+=(U const & s);
-
125  template <typename U>
-
126  GLM_FUNC_DECL tvec1<T> & operator+=(tvec1<U> const & v);
-
127  template <typename U>
-
128  GLM_FUNC_DECL tvec1<T> & operator-=(U const & s);
-
129  template <typename U>
-
130  GLM_FUNC_DECL tvec1<T> & operator-=(tvec1<U> const & v);
-
131  template <typename U>
-
132  GLM_FUNC_DECL tvec1<T> & operator*=(U const & s);
-
133  template <typename U>
-
134  GLM_FUNC_DECL tvec1<T> & operator*=(tvec1<U> const & v);
-
135  template <typename U>
-
136  GLM_FUNC_DECL tvec1<T> & operator/=(U const & s);
-
137  template <typename U>
-
138  GLM_FUNC_DECL tvec1<T> & operator/=(tvec1<U> const & v);
-
139  GLM_FUNC_DECL tvec1<T> & operator++();
-
140  GLM_FUNC_DECL tvec1<T> & operator--();
-
141 
-
143  // Unary bit operators
-
144 
-
145  template <typename U>
-
146  GLM_FUNC_DECL tvec1<T> & operator%=(U const & s);
-
147  template <typename U>
-
148  GLM_FUNC_DECL tvec1<T> & operator%=(tvec1<U> const & v);
-
149  template <typename U>
-
150  GLM_FUNC_DECL tvec1<T> & operator&=(U const & s);
-
151  template <typename U>
-
152  GLM_FUNC_DECL tvec1<T> & operator&=(tvec1<U> const & v);
-
153  template <typename U>
-
154  GLM_FUNC_DECL tvec1<T> & operator|=(U const & s);
-
155  template <typename U>
-
156  GLM_FUNC_DECL tvec1<T> & operator|=(tvec1<U> const & v);
-
157  template <typename U>
-
158  GLM_FUNC_DECL tvec1<T> & operator^=(U const & s);
-
159  template <typename U>
-
160  GLM_FUNC_DECL tvec1<T> & operator^=(tvec1<U> const & v);
-
161  template <typename U>
-
162  GLM_FUNC_DECL tvec1<T> & operator<<=(U const & s);
-
163  template <typename U>
-
164  GLM_FUNC_DECL tvec1<T> & operator<<=(tvec1<U> const & v);
-
165  template <typename U>
-
166  GLM_FUNC_DECL tvec1<T> & operator>>=(U const & s);
-
167  template <typename U>
-
168  GLM_FUNC_DECL tvec1<T> & operator>>=(tvec1<U> const & v);
-
169 
-
171  // Swizzle operators
-
172 
-
173  GLM_FUNC_DECL value_type swizzle(comp X) const;
-
174  GLM_FUNC_DECL tvec2<T> swizzle(comp X, comp Y) const;
-
175  GLM_FUNC_DECL tvec3<T> swizzle(comp X, comp Y, comp Z) const;
-
176  GLM_FUNC_DECL tvec4<T> swizzle(comp X, comp Y, comp Z, comp W) const;
-
177  GLM_FUNC_DECL tref1<T> swizzle(comp X);
-
178  };
-
179 
-
180  template <typename T>
-
181  struct tref1
-
182  {
-
183  GLM_FUNC_DECL tref1(T & x);
-
184  GLM_FUNC_DECL tref1(tref1<T> const & r);
-
185  GLM_FUNC_DECL tref1(tvec1<T> const & v);
-
186 
-
187  GLM_FUNC_DECL tref1<T> & operator= (tref1<T> const & r);
-
188  GLM_FUNC_DECL tref1<T> & operator= (tvec1<T> const & v);
-
189 
-
190  T& x;
-
191  };
-
192 
-
193  GLM_DETAIL_IS_VECTOR(tvec1);
-
194 
-
195  typedef detail::tvec1<highp_float> highp_vec1_t;
-
196  typedef detail::tvec1<mediump_float> mediump_vec1_t;
-
197  typedef detail::tvec1<lowp_float> lowp_vec1_t;
-
198  typedef detail::tvec1<highp_int> highp_ivec1_t;
-
199  typedef detail::tvec1<mediump_int> mediump_ivec1_t;
-
200  typedef detail::tvec1<lowp_int> lowp_ivec1_t;
-
201  typedef detail::tvec1<highp_uint> highp_uvec1_t;
-
202  typedef detail::tvec1<mediump_uint> mediump_uvec1_t;
-
203  typedef detail::tvec1<lowp_uint> lowp_uvec1_t;
-
204 
-
205 }//namespace detail
-
206 }//namespace glm
-
207 
-
208 #ifndef GLM_EXTERNAL_TEMPLATE
-
209 #include "type_vec1.inl"
-
210 #endif//GLM_EXTERNAL_TEMPLATE
-
211 
-
212 #endif//glm_core_type_gentype1
-
- - - - + + + + + + +GLM: spline.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
spline.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_spline
+
39 #define GLM_GTX_spline
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 #include "../gtx/optimum_pow.hpp"
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_spline extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  template <typename genType>
+
57  GLM_FUNC_DECL genType catmullRom(
+
58  genType const & v1,
+
59  genType const & v2,
+
60  genType const & v3,
+
61  genType const & v4,
+
62  typename genType::value_type const & s);
+
63 
+
66  template <typename genType>
+
67  GLM_FUNC_DECL genType hermite(
+
68  genType const & v1,
+
69  genType const & t1,
+
70  genType const & v2,
+
71  genType const & t2,
+
72  typename genType::value_type const & s);
+
73 
+
76  template <typename genType>
+
77  GLM_FUNC_DECL genType cubic(
+
78  genType const & v1,
+
79  genType const & v2,
+
80  genType const & v3,
+
81  genType const & v4,
+
82  typename genType::value_type const & s);
+
83 
+
85 }//namespace glm
+
86 
+
87 #include "spline.inl"
+
88 
+
89 #endif//GLM_GTX_spline
+
90 
+
GLM_FUNC_DECL genType catmullRom(genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
Return a point from a catmull rom curve.
+
GLM_FUNC_DECL genType cubic(genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
Return a point from a cubic curve.
+
GLM_FUNC_DECL genType hermite(genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
Return a point from a hermite curve.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00113.html glm-0.9.5.1/doc/api/a00113.html --- glm-0.9.4.6/doc/api/a00113.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00113.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,96 +1,107 @@ - - - - - -type_vec2.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_vec2.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::tvec2< highp_int > highp_ivec2
 
typedef detail::tvec2< highp_uint > highp_uvec2
 
typedef detail::tvec2
-< highp_float > 
highp_vec2
 
typedef detail::tvec2< lowp_int > lowp_ivec2
 
typedef detail::tvec2< lowp_uint > lowp_uvec2
 
typedef detail::tvec2< lowp_float > lowp_vec2
 
typedef detail::tvec2
-< mediump_int > 
mediump_ivec2
 
typedef detail::tvec2
-< mediump_uint > 
mediump_uvec2
 
typedef detail::tvec2
-< mediump_float > 
mediump_vec2
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-18 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_vec2.hpp.

-
- - - - + + + + + + +GLM: std_based_type.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
std_based_type.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + +

+Typedefs

typedef detail::tvec2
+< std::size_t, defaultp > 
size2
 
typedef detail::tvec2
+< std::size_t, defaultp > 
size2_t
 
typedef detail::tvec3
+< std::size_t, defaultp > 
size3
 
typedef detail::tvec3
+< std::size_t, defaultp > 
size3_t
 
typedef detail::tvec4
+< std::size_t, defaultp > 
size4
 
typedef detail::tvec4
+< std::size_t, defaultp > 
size4_t
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_std_based_type

+
Date
2008-06-08 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_extented_min_max (dependence)
+ +

Definition in file std_based_type.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00113_source.html glm-0.9.5.1/doc/api/a00113_source.html --- glm-0.9.4.6/doc/api/a00113_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00113_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,310 +1,100 @@ - - - - - -type_vec2.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_vec2.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_gentype2
-
30 #define glm_core_type_gentype2
-
31 
-
32 #include "type_vec.hpp"
-
33 #include "type_float.hpp"
-
34 #include "type_int.hpp"
-
35 #include "type_size.hpp"
-
36 #include "_swizzle.hpp"
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  template <typename T> struct tref2;
-
42  template <typename T> struct tref3;
-
43  template <typename T> struct tref4;
-
44  template <typename T> struct tvec3;
-
45  template <typename T> struct tvec4;
-
46 
-
47  template <typename T>
-
48  struct tvec2
-
49  {
-
50  enum ctor{null};
-
51 
-
52  typedef T value_type;
-
53  typedef std::size_t size_type;
-
54  typedef tvec2<T> type;
-
55  typedef tvec2<bool> bool_type;
-
56 
-
57  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
58 
-
60  // Data
-
61 
-
62 # if(GLM_COMPONENT == GLM_COMPONENT_CXX11)
-
63  union
-
64  {
-
65 # if(defined(GLM_SWIZZLE))
-
66  _GLM_SWIZZLE2_2_MEMBERS(value_type, glm::detail::tvec2<value_type>, x, y)
-
67  _GLM_SWIZZLE2_2_MEMBERS(value_type, glm::detail::tvec2<value_type>, r, g)
-
68  _GLM_SWIZZLE2_2_MEMBERS(value_type, glm::detail::tvec2<value_type>, s, t)
-
69  _GLM_SWIZZLE2_3_MEMBERS(value_type, glm::detail::tvec3<value_type>, x, y)
-
70  _GLM_SWIZZLE2_3_MEMBERS(value_type, glm::detail::tvec3<value_type>, r, g)
-
71  _GLM_SWIZZLE2_3_MEMBERS(value_type, glm::detail::tvec3<value_type>, s, t)
-
72  _GLM_SWIZZLE2_4_MEMBERS(value_type, glm::detail::tvec4<value_type>, x, y)
-
73  _GLM_SWIZZLE2_4_MEMBERS(value_type, glm::detail::tvec4<value_type>, r, g)
-
74  _GLM_SWIZZLE2_4_MEMBERS(value_type, glm::detail::tvec4<value_type>, s, t)
-
75 # endif//(defined(GLM_SWIZZLE))
-
76 
-
77  struct{value_type r, g;};
-
78  struct{value_type s, t;};
-
79  struct{value_type x, y;};
-
80  };
-
81 # elif(GLM_COMPONENT == GLM_COMPONENT_CXX98)
-
82  union {value_type x, r, s;};
-
83  union {value_type y, g, t;};
-
84 
-
85 # if(defined(GLM_SWIZZLE))
-
86  // Defines all he swizzle operator as functions
-
87  GLM_SWIZZLE_GEN_REF_FROM_VEC2(value_type, detail::tvec2, detail::tref2)
-
88  GLM_SWIZZLE_GEN_VEC_FROM_VEC2(value_type, detail::tvec2, detail::tvec2, detail::tvec3, detail::tvec4)
-
89 # endif//(defined(GLM_SWIZZLE))
-
90 # else //(GLM_COMPONENT == GLM_COMPONENT_ONLY_XYZW)
-
91  value_type x, y;
-
92 
-
93 # if(defined(GLM_SWIZZLE))
-
94  // Defines all he swizzle operator as functions
-
95  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(value_type, detail::tvec2, detail::tref2, x, y)
-
96  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(value_type, detail::tvec2, detail::tvec2, detail::tvec3, detail::tvec4, x, y)
-
97 # endif//(defined(GLM_SWIZZLE))
-
98 # endif//GLM_COMPONENT
-
99 
-
101  // Accesses
-
102 
-
103  GLM_FUNC_DECL value_type & operator[](size_type i);
-
104  GLM_FUNC_DECL value_type const & operator[](size_type i) const;
-
105 
-
107  // Implicit basic constructors
-
108 
-
109  GLM_FUNC_DECL tvec2();
-
110  GLM_FUNC_DECL tvec2(tvec2<T> const & v);
-
111 
-
113  // Explicit basic constructors
-
114 
-
115  GLM_FUNC_DECL explicit tvec2(
-
116  ctor);
-
117  GLM_FUNC_DECL explicit tvec2(
-
118  value_type const & s);
-
119  GLM_FUNC_DECL explicit tvec2(
-
120  value_type const & s1,
-
121  value_type const & s2);
-
122 
-
124  // Swizzle constructors
-
125 
-
126  tvec2(tref2<T> const & r);
-
127 
-
128  template <int E0, int E1>
-
129  GLM_FUNC_DECL tvec2(const glm::detail::swizzle<2,T,tvec2<T>,E0,E1,-1,-2>& that)
-
130  {
-
131  *this = that();
-
132  }
-
133 
-
135  // Convertion constructors
-
136 
-
138  template <typename U>
-
139  GLM_FUNC_DECL explicit tvec2(
-
140  U const & x);
-
142  template <typename U, typename V>
-
143  GLM_FUNC_DECL explicit tvec2(
-
144  U const & x,
-
145  V const & y);
-
146 
-
148  // Convertion vector constructors
-
149 
-
151  template <typename U>
-
152  GLM_FUNC_DECL explicit tvec2(tvec2<U> const & v);
-
154  template <typename U>
-
155  GLM_FUNC_DECL explicit tvec2(tvec3<U> const & v);
-
157  template <typename U>
-
158  GLM_FUNC_DECL explicit tvec2(tvec4<U> const & v);
-
159 
-
161  // Unary arithmetic operators
-
162 
-
163  GLM_FUNC_DECL tvec2<T> & operator= (tvec2<T> const & v);
-
164  template <typename U>
-
165  GLM_FUNC_DECL tvec2<T> & operator= (tvec2<U> const & v);
-
166 
-
167  template <typename U>
-
168  GLM_FUNC_DECL tvec2<T> & operator+=(U const & s);
-
169  template <typename U>
-
170  GLM_FUNC_DECL tvec2<T> & operator+=(tvec2<U> const & v);
-
171  template <typename U>
-
172  GLM_FUNC_DECL tvec2<T> & operator-=(U const & s);
-
173  template <typename U>
-
174  GLM_FUNC_DECL tvec2<T> & operator-=(tvec2<U> const & v);
-
175  template <typename U>
-
176  GLM_FUNC_DECL tvec2<T> & operator*=(U const & s);
-
177  template <typename U>
-
178  GLM_FUNC_DECL tvec2<T> & operator*=(tvec2<U> const & v);
-
179  template <typename U>
-
180  GLM_FUNC_DECL tvec2<T> & operator/=(U const & s);
-
181  template <typename U>
-
182  GLM_FUNC_DECL tvec2<T> & operator/=(tvec2<U> const & v);
-
183  GLM_FUNC_DECL tvec2<T> & operator++();
-
184  GLM_FUNC_DECL tvec2<T> & operator--();
-
185 
-
187  // Unary bit operators
-
188 
-
189  template <typename U>
-
190  GLM_FUNC_DECL tvec2<T> & operator%= (U const & s);
-
191  template <typename U>
-
192  GLM_FUNC_DECL tvec2<T> & operator%= (tvec2<U> const & v);
-
193  template <typename U>
-
194  GLM_FUNC_DECL tvec2<T> & operator&= (U const & s);
-
195  template <typename U>
-
196  GLM_FUNC_DECL tvec2<T> & operator&= (tvec2<U> const & v);
-
197  template <typename U>
-
198  GLM_FUNC_DECL tvec2<T> & operator|= (U const & s);
-
199  template <typename U>
-
200  GLM_FUNC_DECL tvec2<T> & operator|= (tvec2<U> const & v);
-
201  template <typename U>
-
202  GLM_FUNC_DECL tvec2<T> & operator^= (U const & s);
-
203  template <typename U>
-
204  GLM_FUNC_DECL tvec2<T> & operator^= (tvec2<U> const & v);
-
205  template <typename U>
-
206  GLM_FUNC_DECL tvec2<T> & operator<<=(U const & s);
-
207  template <typename U>
-
208  GLM_FUNC_DECL tvec2<T> & operator<<=(tvec2<U> const & v);
-
209  template <typename U>
-
210  GLM_FUNC_DECL tvec2<T> & operator>>=(U const & s);
-
211  template <typename U>
-
212  GLM_FUNC_DECL tvec2<T> & operator>>=(tvec2<U> const & v);
-
213 
-
215  // Swizzle operators
-
216 
-
217  GLM_FUNC_DECL value_type swizzle(comp X) const;
-
218  GLM_FUNC_DECL tvec2<T> swizzle(comp X, comp Y) const;
-
219  GLM_FUNC_DECL tvec3<T> swizzle(comp X, comp Y, comp Z) const;
-
220  GLM_FUNC_DECL tvec4<T> swizzle(comp X, comp Y, comp Z, comp W) const;
-
221  GLM_FUNC_DECL tref2<T> swizzle(comp X, comp Y);
-
222  };
-
223 
-
224  template <typename T>
-
225  struct tref2
-
226  {
-
227  GLM_FUNC_DECL tref2(T & x, T & y);
-
228  GLM_FUNC_DECL tref2(tref2<T> const & r);
-
229  GLM_FUNC_DECL explicit tref2(tvec2<T> const & v);
-
230 
-
231  GLM_FUNC_DECL tref2<T> & operator= (tref2<T> const & r);
-
232  GLM_FUNC_DECL tref2<T> & operator= (tvec2<T> const & v);
-
233 
-
234  GLM_FUNC_DECL tvec2<T> operator() ();
-
235 
-
236  T & x;
-
237  T & y;
-
238  };
-
239 
-
240  GLM_DETAIL_IS_VECTOR(tvec2);
-
241 
-
242 } //namespace detail
-
243 
-
246 
-
252  typedef detail::tvec2<highp_float> highp_vec2;
-
253 
-
259  typedef detail::tvec2<mediump_float> mediump_vec2;
-
260 
-
266  typedef detail::tvec2<lowp_float> lowp_vec2;
-
267 
-
273  typedef detail::tvec2<highp_int> highp_ivec2;
-
274 
-
280  typedef detail::tvec2<mediump_int> mediump_ivec2;
-
281 
-
287  typedef detail::tvec2<lowp_int> lowp_ivec2;
-
288 
-
294  typedef detail::tvec2<highp_uint> highp_uvec2;
-
295 
-
301  typedef detail::tvec2<mediump_uint> mediump_uvec2;
-
302 
-
308  typedef detail::tvec2<lowp_uint> lowp_uvec2;
-
309 
-
311 }//namespace glm
-
312 
-
313 #ifndef GLM_EXTERNAL_TEMPLATE
-
314 #include "type_vec2.inl"
-
315 #endif//GLM_EXTERNAL_TEMPLATE
-
316 
-
317 #endif//glm_core_type_gentype2
-
- - - - + + + + + + +GLM: std_based_type.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
std_based_type.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_std_based_type
+
39 #define GLM_GTX_std_based_type
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 #include <cstdlib>
+
44 
+
45 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
46 # pragma message("GLM: GLM_GTX_std_based_type extension included")
+
47 #endif
+
48 
+
49 namespace glm
+
50 {
+
53 
+
56  typedef detail::tvec2<std::size_t, defaultp> size2;
+
57 
+
60  typedef detail::tvec3<std::size_t, defaultp> size3;
+
61 
+
64  typedef detail::tvec4<std::size_t, defaultp> size4;
+
65 
+
68  typedef detail::tvec2<std::size_t, defaultp> size2_t;
+
69 
+
72  typedef detail::tvec3<std::size_t, defaultp> size3_t;
+
73 
+
76  typedef detail::tvec4<std::size_t, defaultp> size4_t;
+
77 
+
79 }//namespace glm
+
80 
+
81 #include "std_based_type.inl"
+
82 
+
83 #endif//GLM_GTX_std_based_type
+
detail::tvec4< std::size_t, defaultp > size4
Vector type based of four std::size_t components.
+
detail::tvec4< std::size_t, defaultp > size4_t
Vector type based of four std::size_t components.
+
detail::tvec3< std::size_t, defaultp > size3_t
Vector type based of three std::size_t components.
+
detail::tvec3< std::size_t, defaultp > size3
Vector type based of three std::size_t components.
+
detail::tvec2< std::size_t, defaultp > size2_t
Vector type based of two std::size_t components.
+
detail::tvec2< std::size_t, defaultp > size2
Vector type based of two std::size_t components.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00114.html glm-0.9.5.1/doc/api/a00114.html --- glm-0.9.4.6/doc/api/a00114.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00114.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,96 +1,96 @@ - - - - - -type_vec3.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_vec3.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::tvec3< highp_int > highp_ivec3
 
typedef detail::tvec3< highp_uint > highp_uvec3
 
typedef detail::tvec3
-< highp_float > 
highp_vec3
 
typedef detail::tvec3< lowp_int > lowp_ivec3
 
typedef detail::tvec3< lowp_uint > lowp_uvec3
 
typedef detail::tvec3< lowp_float > lowp_vec3
 
typedef detail::tvec3
-< mediump_int > 
mediump_ivec3
 
typedef detail::tvec3
-< mediump_uint > 
mediump_uvec3
 
typedef detail::tvec3
-< mediump_float > 
mediump_vec3
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-22 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_vec3.hpp.

-
- - - - + + + + + + +GLM: string_cast.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
string_cast.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + +

+Functions

template<typename genType >
std::string to_string (genType const &x)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_string_cast

+
Date
2008-04-26 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+
+GLM_GTX_integer (dependence)
+
+GLM_GTX_quaternion (dependence)
+ +

Definition in file string_cast.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00114_source.html glm-0.9.5.1/doc/api/a00114_source.html --- glm-0.9.4.6/doc/api/a00114_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00114_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,334 +1,88 @@ - - - - - -type_vec3.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_vec3.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_gentype3
-
30 #define glm_core_type_gentype3
-
31 
-
32 #include "type_vec.hpp"
-
33 #include "type_float.hpp"
-
34 #include "type_int.hpp"
-
35 #include "type_size.hpp"
-
36 #include "_swizzle.hpp"
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  template <typename T> struct tref2;
-
42  template <typename T> struct tref3;
-
43  template <typename T> struct tref4;
-
44  template <typename T> struct tvec2;
-
45  template <typename T> struct tvec4;
-
46 
-
47  template <typename T>
-
48  struct tvec3
-
49  {
-
50  enum ctor{null};
-
51 
-
52  typedef T value_type;
-
53  typedef std::size_t size_type;
-
54  typedef tvec3<T> type;
-
55  typedef tvec3<bool> bool_type;
-
56 
-
57  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
58 
-
60  // Data
-
61 
-
62 # if(GLM_COMPONENT == GLM_COMPONENT_CXX11)
-
63  union
-
64  {
-
65 # if(defined(GLM_SWIZZLE))
-
66  _GLM_SWIZZLE3_2_MEMBERS(value_type, glm::detail::tvec2<value_type>, x, y, z)
-
67  _GLM_SWIZZLE3_2_MEMBERS(value_type, glm::detail::tvec2<value_type>, r, g, b)
-
68  _GLM_SWIZZLE3_2_MEMBERS(value_type, glm::detail::tvec2<value_type>, s, t, p)
-
69  _GLM_SWIZZLE3_3_MEMBERS(value_type, glm::detail::tvec3<value_type>, x, y, z)
-
70  _GLM_SWIZZLE3_3_MEMBERS(value_type, glm::detail::tvec3<value_type>, r, g, b)
-
71  _GLM_SWIZZLE3_3_MEMBERS(value_type, glm::detail::tvec3<value_type>, s, t, p)
-
72  _GLM_SWIZZLE3_4_MEMBERS(value_type, glm::detail::tvec4<value_type>, x, y, z)
-
73  _GLM_SWIZZLE3_4_MEMBERS(value_type, glm::detail::tvec4<value_type>, r, g, b)
-
74  _GLM_SWIZZLE3_4_MEMBERS(value_type, glm::detail::tvec4<value_type>, s, t, p)
-
75 # endif//(defined(GLM_SWIZZLE))
-
76 
-
77  struct{value_type r, g, b;};
-
78  struct{value_type s, t, p;};
-
79  struct{value_type x, y, z;};
-
80  };
-
81 # elif(GLM_COMPONENT == GLM_COMPONENT_CXX98)
-
82  union {value_type x, r, s;};
-
83  union {value_type y, g, t;};
-
84  union {value_type z, b, p;};
-
85 
-
86 # if(defined(GLM_SWIZZLE))
-
87  // Defines all he swizzle operator as functions
-
88  GLM_SWIZZLE_GEN_REF_FROM_VEC3(T, detail::tvec3, detail::tref2, detail::tref3)
-
89  GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, detail::tvec3, detail::tvec2, detail::tvec3, detail::tvec4)
-
90 # endif//(defined(GLM_SWIZZLE))
-
91 # else //(GLM_COMPONENT == GLM_COMPONENT_ONLY_XYZW)
-
92  value_type x, y, z;
-
93 
-
94 # if(defined(GLM_SWIZZLE))
-
95  // Defines all he swizzle operator as functions
-
96  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, detail::tvec3, detail::tref2, detail::tref3, x, y, z)
-
97  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, detail::tvec3, detail::tvec2, detail::tvec3, detail::tvec4, x, y, z)
-
98 # endif//(defined(GLM_SWIZZLE))
-
99 # endif//GLM_COMPONENT
-
100 
-
102  // Accesses
-
103 
-
104  GLM_FUNC_DECL value_type & operator[](size_type i);
-
105  GLM_FUNC_DECL value_type const & operator[](size_type i) const;
-
106 
-
108  // Implicit basic constructors
-
109 
-
110  GLM_FUNC_DECL tvec3();
-
111  GLM_FUNC_DECL tvec3(tvec3<T> const & v);
-
112 
-
114  // Explicit basic constructors
-
115 
-
116  GLM_FUNC_DECL explicit tvec3(
-
117  ctor);
-
118  GLM_FUNC_DECL explicit tvec3(
-
119  value_type const & s);
-
120  GLM_FUNC_DECL explicit tvec3(
-
121  value_type const & s1,
-
122  value_type const & s2,
-
123  value_type const & s3);
-
124 
-
126  // Convertion scalar constructors
-
127 
-
129  template <typename U>
-
130  GLM_FUNC_DECL explicit tvec3(
-
131  U const & x);
-
133  template <typename U, typename V, typename W>
-
134  GLM_FUNC_DECL explicit tvec3(
-
135  U const & x,
-
136  V const & y,
-
137  W const & z);
-
138 
-
140  // Convertion vector constructors
-
141 
-
143  template <typename A, typename B>
-
144  GLM_FUNC_DECL explicit tvec3(tvec2<A> const & v, B const & s);
-
146  template <typename A, typename B>
-
147  GLM_FUNC_DECL explicit tvec3(A const & s, tvec2<B> const & v);
-
149  template <typename U>
-
150  GLM_FUNC_DECL explicit tvec3(tvec3<U> const & v);
-
152  template <typename U>
-
153  GLM_FUNC_DECL explicit tvec3(tvec4<U> const & v);
-
154 
-
156  // Swizzle constructors
-
157 
-
158  GLM_FUNC_DECL tvec3(tref3<T> const & r);
-
159 
-
160  template <typename A, typename B>
-
161  GLM_FUNC_DECL explicit tvec3(tref2<A> const & v, B const & s);
-
162 
-
163  template <typename A, typename B>
-
164  GLM_FUNC_DECL explicit tvec3(A const & s, tref2<B> const & v);
-
165 
-
166  template <int E0, int E1, int E2>
-
167  GLM_FUNC_DECL tvec3(glm::detail::swizzle<3, T, tvec3<T>, E0, E1, E2, -1> const & that)
-
168  {
-
169  *this = that();
-
170  }
-
171 
-
172  template <int E0, int E1>
-
173  GLM_FUNC_DECL tvec3(glm::detail::swizzle<2, T, tvec2<T>, E0, E1, -1, -2> const & v, T const & s)
-
174  {
-
175  *this = tvec3<T>(v(), s);
-
176  }
-
177 
-
178  template <int E0, int E1>
-
179  GLM_FUNC_DECL tvec3(T const & s, glm::detail::swizzle<2, T, tvec2<T>, E0, E1, -1, -2> const & v)
-
180  {
-
181  *this = tvec3<T>(s, v());
-
182  }
-
183 
-
185  // Unary arithmetic operators
-
186 
-
187  GLM_FUNC_DECL tvec3<T> & operator= (tvec3<T> const & v);
-
188  template <typename U>
-
189  GLM_FUNC_DECL tvec3<T> & operator= (tvec3<U> const & v);
-
190 
-
191  template <typename U>
-
192  GLM_FUNC_DECL tvec3<T> & operator+=(U const & s);
-
193  template <typename U>
-
194  GLM_FUNC_DECL tvec3<T> & operator+=(tvec3<U> const & v);
-
195  template <typename U>
-
196  GLM_FUNC_DECL tvec3<T> & operator-=(U const & s);
-
197  template <typename U>
-
198  GLM_FUNC_DECL tvec3<T> & operator-=(tvec3<U> const & v);
-
199  template <typename U>
-
200  GLM_FUNC_DECL tvec3<T> & operator*=(U const & s);
-
201  template <typename U>
-
202  GLM_FUNC_DECL tvec3<T> & operator*=(tvec3<U> const & v);
-
203  template <typename U>
-
204  GLM_FUNC_DECL tvec3<T> & operator/=(U const & s);
-
205  template <typename U>
-
206  GLM_FUNC_DECL tvec3<T> & operator/=(tvec3<U> const & v);
-
207  GLM_FUNC_DECL tvec3<T> & operator++();
-
208  GLM_FUNC_DECL tvec3<T> & operator--();
-
209 
-
211  // Unary bit operators
-
212 
-
213  template <typename U>
-
214  GLM_FUNC_DECL tvec3<T> & operator%= (U const & s);
-
215  template <typename U>
-
216  GLM_FUNC_DECL tvec3<T> & operator%= (tvec3<U> const & v);
-
217  template <typename U>
-
218  GLM_FUNC_DECL tvec3<T> & operator&= (U const & s);
-
219  template <typename U>
-
220  GLM_FUNC_DECL tvec3<T> & operator&= (tvec3<U> const & v);
-
221  template <typename U>
-
222  GLM_FUNC_DECL tvec3<T> & operator|= (U const & s);
-
223  template <typename U>
-
224  GLM_FUNC_DECL tvec3<T> & operator|= (tvec3<U> const & v);
-
225  template <typename U>
-
226  GLM_FUNC_DECL tvec3<T> & operator^= (U const & s);
-
227  template <typename U>
-
228  GLM_FUNC_DECL tvec3<T> & operator^= (tvec3<U> const & v);
-
229  template <typename U>
-
230  GLM_FUNC_DECL tvec3<T> & operator<<=(U const & s);
-
231  template <typename U>
-
232  GLM_FUNC_DECL tvec3<T> & operator<<=(tvec3<U> const & v);
-
233  template <typename U>
-
234  GLM_FUNC_DECL tvec3<T> & operator>>=(U const & s);
-
235  template <typename U>
-
236  GLM_FUNC_DECL tvec3<T> & operator>>=(tvec3<U> const & v);
-
237 
-
239  // Swizzle operators
-
240 
-
241  GLM_FUNC_DECL value_type swizzle(comp X) const;
-
242  GLM_FUNC_DECL tvec2<T> swizzle(comp X, comp Y) const;
-
243  GLM_FUNC_DECL tvec3<T> swizzle(comp X, comp Y, comp Z) const;
-
244  GLM_FUNC_DECL tvec4<T> swizzle(comp X, comp Y, comp Z, comp W) const;
-
245  GLM_FUNC_DECL tref2<T> swizzle(comp X, comp Y);
-
246  GLM_FUNC_DECL tref3<T> swizzle(comp X, comp Y, comp Z);
-
247  };
-
248 
-
249  template <typename T>
-
250  struct tref3
-
251  {
-
252  GLM_FUNC_DECL tref3(T & x, T & y, T & z);
-
253  GLM_FUNC_DECL tref3(tref3<T> const & r);
-
254  GLM_FUNC_DECL explicit tref3(tvec3<T> const & v);
-
255 
-
256  GLM_FUNC_DECL tref3<T> & operator= (tref3<T> const & r);
-
257  GLM_FUNC_DECL tref3<T> & operator= (tvec3<T> const & v);
-
258 
-
259  GLM_FUNC_DECL tvec3<T> operator() ();
-
260 
-
261  T & x;
-
262  T & y;
-
263  T & z;
-
264  };
-
265 
-
266  GLM_DETAIL_IS_VECTOR(tvec3);
-
267 } //namespace detail
-
268 
-
271 
-
277  typedef detail::tvec3<highp_float> highp_vec3;
-
278 
-
284  typedef detail::tvec3<mediump_float> mediump_vec3;
-
285 
-
291  typedef detail::tvec3<lowp_float> lowp_vec3;
-
292 
-
298  typedef detail::tvec3<highp_int> highp_ivec3;
-
299 
-
305  typedef detail::tvec3<mediump_int> mediump_ivec3;
-
306 
-
312  typedef detail::tvec3<lowp_int> lowp_ivec3;
-
313 
-
319  typedef detail::tvec3<highp_uint> highp_uvec3;
-
320 
-
326  typedef detail::tvec3<mediump_uint> mediump_uvec3;
-
327 
-
333  typedef detail::tvec3<lowp_uint> lowp_uvec3;
-
334 
-
336 }//namespace glm
-
337 
-
338 #ifndef GLM_EXTERNAL_TEMPLATE
-
339 #include "type_vec3.inl"
-
340 #endif//GLM_EXTERNAL_TEMPLATE
-
341 
-
342 #endif//glm_core_type_gentype3
-
- - - - + + + + + + +GLM: string_cast.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
string_cast.hpp
+
+
+Go to the documentation of this file.
1 
+
41 #ifndef GLM_GTX_string_cast
+
42 #define GLM_GTX_string_cast
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 #include "../gtx/integer.hpp"
+
47 #include "../gtx/quaternion.hpp"
+
48 #include <string>
+
49 
+
50 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
51 # pragma message("GLM: GLM_GTX_string_cast extension included")
+
52 #endif
+
53 
+
54 namespace glm
+
55 {
+
58 
+
61  template <typename genType>
+
62  std::string to_string(genType const & x);
+
63 
+
65 }//namespace glm
+
66 
+
67 #include "string_cast.inl"
+
68 
+
69 #endif//GLM_GTX_string_cast
+
std::string to_string(genType const &x)
Create a string from a GLM type value.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00115.html glm-0.9.5.1/doc/api/a00115.html --- glm-0.9.4.6/doc/api/a00115.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00115.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,96 +1,102 @@ - - - - - -type_vec4.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
type_vec4.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::tvec4< highp_int > highp_ivec4
 
typedef detail::tvec4< highp_uint > highp_uvec4
 
typedef detail::tvec4
-< highp_float > 
highp_vec4
 
typedef detail::tvec4< lowp_int > lowp_ivec4
 
typedef detail::tvec4< lowp_uint > lowp_uvec4
 
typedef detail::tvec4< lowp_float > lowp_vec4
 
typedef detail::tvec4
-< mediump_int > 
mediump_ivec4
 
typedef detail::tvec4
-< mediump_uint > 
mediump_uvec4
 
typedef detail::tvec4
-< mediump_float > 
mediump_vec4
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM Core

-
Date
2008-08-22 / 2011-06-15
-
Author
Christophe Riccio
- -

Definition in file type_vec4.hpp.

-
- - - - + + + + + + +GLM: transform.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
transform.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat4x4< T, P > rotate (T angle, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > scale (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > translate (detail::tvec3< T, P > const &v)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_transform

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTC_matrix_transform (dependence)
+
+GLM_GTX_transform
+
+GLM_GTX_transform2
+ +

Definition in file transform.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00115_source.html glm-0.9.5.1/doc/api/a00115_source.html --- glm-0.9.4.6/doc/api/a00115_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00115_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,380 +1,99 @@ - - - - - -type_vec4.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
type_vec4.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 #ifndef glm_core_type_gentype4
-
30 #define glm_core_type_gentype4
-
31 
-
32 #include "type_vec.hpp"
-
33 #include "type_float.hpp"
-
34 #include "type_int.hpp"
-
35 #include "type_size.hpp"
-
36 #include "_swizzle.hpp"
-
37 
-
38 namespace glm{
-
39 namespace detail
-
40 {
-
41  template <typename T> struct tref2;
-
42  template <typename T> struct tref3;
-
43  template <typename T> struct tref4;
-
44  template <typename T> struct tvec2;
-
45  template <typename T> struct tvec3;
-
46 
-
47  template <typename T>
-
48  struct tvec4
-
49  {
-
50  enum ctor{null};
-
51 
-
52  typedef T value_type;
-
53  typedef std::size_t size_type;
-
54  typedef tvec4<T> type;
-
55  typedef tvec4<bool> bool_type;
-
56 
-
57  GLM_FUNC_DECL GLM_CONSTEXPR size_type length() const;
-
58 
-
60  // Data
-
61 
-
62 # if(GLM_COMPONENT == GLM_COMPONENT_CXX11)
-
63  union
-
64  {
-
65 # if(defined(GLM_SWIZZLE))
-
66  _GLM_SWIZZLE4_2_MEMBERS(value_type, glm::detail::tvec2<value_type>, x, y, z, w)
-
67  _GLM_SWIZZLE4_2_MEMBERS(value_type, glm::detail::tvec2<value_type>, r, g, b, a)
-
68  _GLM_SWIZZLE4_2_MEMBERS(value_type, glm::detail::tvec2<value_type>, s, t, p, q)
-
69  _GLM_SWIZZLE4_3_MEMBERS(value_type, glm::detail::tvec3<value_type>, x, y, z, w)
-
70  _GLM_SWIZZLE4_3_MEMBERS(value_type, glm::detail::tvec3<value_type>, r, g, b, a)
-
71  _GLM_SWIZZLE4_3_MEMBERS(value_type, glm::detail::tvec3<value_type>, s, t, p, q)
-
72  _GLM_SWIZZLE4_4_MEMBERS(value_type, glm::detail::tvec4<value_type>, x, y, z, w)
-
73  _GLM_SWIZZLE4_4_MEMBERS(value_type, glm::detail::tvec4<value_type>, r, g, b, a)
-
74  _GLM_SWIZZLE4_4_MEMBERS(value_type, glm::detail::tvec4<value_type>, s, t, p, q)
-
75 # endif//(defined(GLM_SWIZZLE))
-
76 
-
77  struct{value_type r, g, b, a;};
-
78  struct{value_type s, t, p, q;};
-
79  struct{value_type x, y, z, w;};
-
80  };
-
81 # elif(GLM_COMPONENT == GLM_COMPONENT_CXX98)
-
82  union {value_type x, r, s;};
-
83  union {value_type y, g, t;};
-
84  union {value_type z, b, p;};
-
85  union {value_type w, a, q;};
-
86 
-
87 # if(defined(GLM_SWIZZLE))
-
88  // Defines all he swizzle operator as functions
-
89  GLM_SWIZZLE_GEN_REF_FROM_VEC4(T, detail::tvec4, detail::tref2, detail::tref3, detail::tref4)
-
90  GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, detail::tvec4, detail::tvec2, detail::tvec3, detail::tvec4)
-
91 # endif//(defined(GLM_SWIZZLE))
-
92 # else //(GLM_COMPONENT == GLM_COMPONENT_ONLY_XYZW)
-
93  value_type x, y, z, w;
-
94 
-
95 # if(defined(GLM_SWIZZLE))
-
96  // Defines all he swizzle operator as functions
-
97  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, detail::tvec4, detail::tref2, detail::tref3, detail::tref4, x, y, z, w)
-
98  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, detail::tvec4, detail::tvec2, detail::tvec3, detail::tvec4, x, y, z, w)
-
99 # endif//(defined(GLM_SWIZZLE))
-
100 # endif//GLM_COMPONENT
-
101 
-
103  // Accesses
-
104 
-
105  GLM_FUNC_DECL value_type & operator[](size_type i);
-
106  GLM_FUNC_DECL value_type const & operator[](size_type i) const;
-
107 
-
109  // Implicit basic constructors
-
110 
-
111  GLM_FUNC_DECL tvec4();
-
112  GLM_FUNC_DECL tvec4(type const & v);
-
113 
-
115  // Explicit basic constructors
-
116 
-
117  GLM_FUNC_DECL explicit tvec4(
-
118  ctor);
-
119  GLM_FUNC_DECL explicit tvec4(
-
120  value_type const & s);
-
121  GLM_FUNC_DECL explicit tvec4(
-
122  value_type const & s0,
-
123  value_type const & s1,
-
124  value_type const & s2,
-
125  value_type const & s3);
-
126 
-
128  // Convertion scalar constructors
-
129 
-
131  template <typename U>
-
132  GLM_FUNC_DECL explicit tvec4(
-
133  U const & x);
-
135  template <typename A, typename B, typename C, typename D>
-
136  GLM_FUNC_DECL explicit tvec4(
-
137  A const & x,
-
138  B const & y,
-
139  C const & z,
-
140  D const & w);
-
141 
-
143  // Convertion vector constructors
-
144 
-
146  template <typename A, typename B, typename C>
-
147  GLM_FUNC_DECL explicit tvec4(tvec2<A> const & v, B const & s1, C const & s2);
-
149  template <typename A, typename B, typename C>
-
150  GLM_FUNC_DECL explicit tvec4(A const & s1, tvec2<B> const & v, C const & s2);
-
152  template <typename A, typename B, typename C>
-
153  GLM_FUNC_DECL explicit tvec4(A const & s1, B const & s2, tvec2<C> const & v);
-
155  template <typename A, typename B>
-
156  GLM_FUNC_DECL explicit tvec4(tvec3<A> const & v, B const & s);
-
158  template <typename A, typename B>
-
159  GLM_FUNC_DECL explicit tvec4(A const & s, tvec3<B> const & v);
-
161  template <typename A, typename B>
-
162  GLM_FUNC_DECL explicit tvec4(tvec2<A> const & v1, tvec2<B> const & v2);
-
164  template <typename U>
-
165  GLM_FUNC_DECL explicit tvec4(tvec4<U> const & v);
-
166 
-
167  template <int E0, int E1, int E2, int E3>
-
168  GLM_FUNC_DECL tvec4(glm::detail::swizzle<4, T, tvec4<T>, E0, E1, E2, E3> const & that)
-
169  {
-
170  *this = that();
-
171  }
-
172 
-
173  template <int E0, int E1, int F0, int F1>
-
174  GLM_FUNC_DECL tvec4(glm::detail::swizzle<2, T, tvec2<T>, E0, E1, -1, -2> const & v, glm::detail::swizzle<2, T, tvec2<T>, F0, F1, -1, -2> const & u)
-
175  {
-
176  *this = tvec4<T>(v(), u());
-
177  }
-
178 
-
179  template <int E0, int E1>
-
180  GLM_FUNC_DECL tvec4(T const & x, T const & y, glm::detail::swizzle<2, T, tvec2<T>, E0, E1, -1, -2> const & v)
-
181  {
-
182  *this = tvec4<T>(x, y, v());
-
183  }
-
184 
-
185  template <int E0, int E1>
-
186  GLM_FUNC_DECL tvec4(T const & x, glm::detail::swizzle<2, T, tvec2<T>, E0, E1, -1, -2> const & v, T const & w)
-
187  {
-
188  *this = tvec4<T>(x, v(), w);
-
189  }
-
190 
-
191  template <int E0, int E1>
-
192  GLM_FUNC_DECL tvec4(glm::detail::swizzle<2, T, tvec2<T>, E0, E1, -1, -2> const & v, T const & z, T const & w)
-
193  {
-
194  *this = tvec4<T>(v(), z, w);
-
195  }
-
196 
-
197  template <int E0, int E1, int E2>
-
198  GLM_FUNC_DECL tvec4(glm::detail::swizzle<3, T, tvec3<T>, E0, E1, E2, -1> const & v, T const & w)
-
199  {
-
200  *this = tvec4<T>(v(), w);
-
201  }
-
202 
-
203  template <int E0, int E1, int E2>
-
204  GLM_FUNC_DECL tvec4(T const & x, glm::detail::swizzle<3, T, tvec3<T>, E0, E1, E2, -1> const & v)
-
205  {
-
206  *this = tvec4<T>(x, v());
-
207  }
-
208 
-
210  // Swizzle constructors
-
211 
-
212  GLM_FUNC_DECL tvec4(tref4<T> const & r);
-
213 
-
215  template <typename A, typename B, typename C>
-
216  GLM_FUNC_DECL explicit tvec4(tref2<A> const & v, B const & s1, C const & s2);
-
218  template <typename A, typename B, typename C>
-
219  GLM_FUNC_DECL explicit tvec4(A const & s1, tref2<B> const & v, C const & s2);
-
221  template <typename A, typename B, typename C>
-
222  GLM_FUNC_DECL explicit tvec4(A const & s1, B const & s2, tref2<C> const & v);
-
224  template <typename A, typename B>
-
225  GLM_FUNC_DECL explicit tvec4(tref3<A> const & v, B const & s);
-
227  template <typename A, typename B>
-
228  GLM_FUNC_DECL explicit tvec4(A const & s, tref3<B> const & v);
-
230  template <typename A, typename B>
-
231  GLM_FUNC_DECL explicit tvec4(tref2<A> const & v1, tref2<B> const & v2);
-
233  template <typename A, typename B>
-
234  GLM_FUNC_DECL explicit tvec4(tvec2<A> const & v1, tref2<B> const & v2);
-
236  template <typename A, typename B>
-
237  GLM_FUNC_DECL explicit tvec4(tref2<A> const & v1, tvec2<B> const & v2);
-
238 
-
240  // Unary arithmetic operators
-
241 
-
242  GLM_FUNC_DECL tvec4<T> & operator= (tvec4<T> const & v);
-
243  template <typename U>
-
244  GLM_FUNC_DECL tvec4<T> & operator= (tvec4<U> const & v);
-
245 
-
246  template <typename U>
-
247  GLM_FUNC_DECL tvec4<T> & operator+=(U const & s);
-
248  template <typename U>
-
249  GLM_FUNC_DECL tvec4<T> & operator+=(tvec4<U> const & v);
-
250  template <typename U>
-
251  GLM_FUNC_DECL tvec4<T> & operator-=(U const & s);
-
252  template <typename U>
-
253  GLM_FUNC_DECL tvec4<T> & operator-=(tvec4<U> const & v);
-
254  template <typename U>
-
255  GLM_FUNC_DECL tvec4<T> & operator*=(U const & s);
-
256  template <typename U>
-
257  GLM_FUNC_DECL tvec4<T> & operator*=(tvec4<U> const & v);
-
258  template <typename U>
-
259  GLM_FUNC_DECL tvec4<T> & operator/=(U const & s);
-
260  template <typename U>
-
261  GLM_FUNC_DECL tvec4<T> & operator/=(tvec4<U> const & v);
-
262  GLM_FUNC_DECL tvec4<T> & operator++();
-
263  GLM_FUNC_DECL tvec4<T> & operator--();
-
264 
-
266  // Unary bit operators
-
267 
-
268  template <typename U>
-
269  GLM_FUNC_DECL tvec4<T> & operator%= (U const & s);
-
270  template <typename U>
-
271  GLM_FUNC_DECL tvec4<T> & operator%= (tvec4<U> const & v);
-
272  template <typename U>
-
273  GLM_FUNC_DECL tvec4<T> & operator&= (U const & s);
-
274  template <typename U>
-
275  GLM_FUNC_DECL tvec4<T> & operator&= (tvec4<U> const & v);
-
276  template <typename U>
-
277  GLM_FUNC_DECL tvec4<T> & operator|= (U const & s);
-
278  template <typename U>
-
279  GLM_FUNC_DECL tvec4<T> & operator|= (tvec4<U> const & v);
-
280  template <typename U>
-
281  GLM_FUNC_DECL tvec4<T> & operator^= (U const & s);
-
282  template <typename U>
-
283  GLM_FUNC_DECL tvec4<T> & operator^= (tvec4<U> const & v);
-
284  template <typename U>
-
285  GLM_FUNC_DECL tvec4<T> & operator<<=(U const & s);
-
286  template <typename U>
-
287  GLM_FUNC_DECL tvec4<T> & operator<<=(tvec4<U> const & v);
-
288  template <typename U>
-
289  GLM_FUNC_DECL tvec4<T> & operator>>=(U const & s);
-
290  template <typename U>
-
291  GLM_FUNC_DECL tvec4<T> & operator>>=(tvec4<U> const & v);
-
292 
-
294  // Swizzle operators
-
295 
-
296  GLM_FUNC_DECL value_type swizzle(comp X) const;
-
297  GLM_FUNC_DECL tvec2<T> swizzle(comp X, comp Y) const;
-
298  GLM_FUNC_DECL tvec3<T> swizzle(comp X, comp Y, comp Z) const;
-
299  GLM_FUNC_DECL tvec4<T> swizzle(comp X, comp Y, comp Z, comp W) const;
-
300  GLM_FUNC_DECL tref2<T> swizzle(comp X, comp Y);
-
301  GLM_FUNC_DECL tref3<T> swizzle(comp X, comp Y, comp Z);
-
302  GLM_FUNC_DECL tref4<T> swizzle(comp X, comp Y, comp Z, comp W);
-
303  };
-
304 
-
305  template <typename T>
-
306  struct tref4
-
307  {
-
308  GLM_FUNC_DECL tref4(T & x, T & y, T & z, T & w);
-
309  GLM_FUNC_DECL tref4(tref4<T> const & r);
-
310  GLM_FUNC_DECL explicit tref4(tvec4<T> const & v);
-
311 
-
312  GLM_FUNC_DECL tref4<T> & operator= (tref4<T> const & r);
-
313  GLM_FUNC_DECL tref4<T> & operator= (tvec4<T> const & v);
-
314 
-
315  GLM_FUNC_DECL tvec4<T> operator() ();
-
316 
-
317  T & x;
-
318  T & y;
-
319  T & z;
-
320  T & w;
-
321  };
-
322 
-
323  GLM_DETAIL_IS_VECTOR(tvec4);
-
324 }//namespace detail
-
325 
-
328 
-
334  typedef detail::tvec4<highp_float> highp_vec4;
-
335 
-
341  typedef detail::tvec4<mediump_float> mediump_vec4;
-
342 
-
348  typedef detail::tvec4<lowp_float> lowp_vec4;
-
349 
-
355  typedef detail::tvec4<highp_int> highp_ivec4;
-
356 
-
362  typedef detail::tvec4<mediump_int> mediump_ivec4;
-
363 
-
369  typedef detail::tvec4<lowp_int> lowp_ivec4;
-
370 
-
376  typedef detail::tvec4<highp_uint> highp_uvec4;
-
377 
-
383  typedef detail::tvec4<mediump_uint> mediump_uvec4;
-
384 
-
390  typedef detail::tvec4<lowp_uint> lowp_uvec4;
-
391 
-
393 }//namespace glm
-
394 
-
395 #ifndef GLM_EXTERNAL_TEMPLATE
-
396 #include "type_vec4.inl"
-
397 #endif//GLM_EXTERNAL_TEMPLATE
-
398 
-
399 #endif//glm_core_type_gentype4
-
- - - - + + + + + + +GLM: transform.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
transform.hpp
+
+
+Go to the documentation of this file.
1 
+
41 #ifndef GLM_GTX_transform
+
42 #define GLM_GTX_transform
+
43 
+
44 // Dependency:
+
45 #include "../glm.hpp"
+
46 #include "../gtc/matrix_transform.hpp"
+
47 
+
48 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
49 # pragma message("GLM: GLM_GTX_transform extension included")
+
50 #endif
+
51 
+
52 namespace glm
+
53 {
+
56 
+
60  template <typename T, precision P>
+
61  detail::tmat4x4<T, P> translate(
+
62  detail::tvec3<T, P> const & v);
+
63 
+
67  template <typename T, precision P>
+
68  detail::tmat4x4<T, P> rotate(
+
69  T angle,
+
70  detail::tvec3<T, P> const & v);
+
71 
+
75  template <typename T, precision P>
+
76  detail::tmat4x4<T, P> scale(
+
77  detail::tvec3<T, P> const & v);
+
78 
+
80 }// namespace glm
+
81 
+
82 #include "transform.inl"
+
83 
+
84 #endif//GLM_GTX_transform
+
GLM_FUNC_DECL detail::tmat4x4< T, P > rotate(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
+
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > scale(detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > translate(detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
Builds a translation 4 * 4 matrix created from a vector of 3 components.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00116.html glm-0.9.5.1/doc/api/a00116.html --- glm-0.9.4.6/doc/api/a00116.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00116.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,93 +1,116 @@ - - - - - -ulp.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
gtc/ulp.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
uint float_distance (T const &x, T const &y)
 
template<typename T , template< typename > class vecType>
vecType< uint > float_distance (vecType< T > const &x, vecType< T > const &y)
 
template<typename genType >
genType next_float (genType const &x)
 
template<typename genType >
genType next_float (genType const &x, uint const &Distance)
 
template<typename genType >
genType prev_float (genType const &x)
 
template<typename genType >
genType prev_float (genType const &x, uint const &Distance)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTC_ulp

-
Date
2011-02-21 / 2011-12-12
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file gtc/ulp.hpp.

-
- - - - + + + + + + +GLM: transform2.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
transform2.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat3x3< T, P > proj2D (const detail::tmat3x3< T, P > &m, const detail::tvec3< T, P > &normal)
 
template<typename T , precision P>
detail::tmat4x4< T, P > proj3D (const detail::tmat4x4< T, P > &m, const detail::tvec3< T, P > &normal)
 
template<typename valType , precision P>
detail::tmat4x4< valType, P > scaleBias (valType scale, valType bias)
 
template<typename valType , precision P>
detail::tmat4x4< valType, P > scaleBias (detail::tmat4x4< valType, P > const &m, valType scale, valType bias)
 
template<typename T , precision P>
detail::tmat3x3< T, P > shearX2D (detail::tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearX3D (const detail::tmat4x4< T, P > &m, T y, T z)
 
template<typename T , precision P>
detail::tmat3x3< T, P > shearY2D (detail::tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearY3D (const detail::tmat4x4< T, P > &m, T x, T z)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearZ3D (const detail::tmat4x4< T, P > &m, T x, T y)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_transform2

+
Date
2005-12-21 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_transform (dependence)
+ +

Definition in file transform2.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00116_source.html glm-0.9.5.1/doc/api/a00116_source.html --- glm-0.9.4.6/doc/api/a00116_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00116_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,131 +1,148 @@ - - - - - -ulp.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtc/ulp.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_GTC_ulp
-
40 #define GLM_GTC_ulp GLM_VERSION
-
41 
-
42 // Dependency:
-
43 #include "../glm.hpp"
-
44 
-
45 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
46 # pragma message("GLM: GLM_GTC_ulp extension included")
-
47 #endif
-
48 
-
49 namespace glm
-
50 {
-
53 
-
56  template <typename genType>
-
57  genType next_float(genType const & x);
-
58 
-
61  template <typename genType>
-
62  genType prev_float(genType const & x);
-
63 
-
66  template <typename genType>
-
67  genType next_float(genType const & x, uint const & Distance);
-
68 
-
71  template <typename genType>
-
72  genType prev_float(genType const & x, uint const & Distance);
-
73 
-
76  template <typename T>
-
77  uint float_distance(T const & x, T const & y);
-
78 
-
81  template<typename T, template<typename> class vecType>
-
82  vecType<uint> float_distance(vecType<T> const & x, vecType<T> const & y);
-
83 
-
85 }// namespace glm
-
86 
-
87 #include "ulp.inl"
-
88 
-
89 #endif//GLM_GTC_ulp
-
90 
-
- - - - + + + + + + +GLM: transform2.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
transform2.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTX_transform2
+
40 #define GLM_GTX_transform2
+
41 
+
42 // Dependency:
+
43 #include "../glm.hpp"
+
44 #include "../gtx/transform.hpp"
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_transform2 extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
+
54 
+
57  template <typename T, precision P>
+
58  detail::tmat3x3<T, P> shearX2D(
+
59  detail::tmat3x3<T, P> const & m,
+
60  T y);
+
61 
+
64  template <typename T, precision P>
+
65  detail::tmat3x3<T, P> shearY2D(
+
66  detail::tmat3x3<T, P> const & m,
+
67  T x);
+
68 
+
71  template <typename T, precision P>
+
72  detail::tmat4x4<T, P> shearX3D(
+
73  const detail::tmat4x4<T, P> & m,
+
74  T y,
+
75  T z);
+
76 
+
79  template <typename T, precision P>
+
80  detail::tmat4x4<T, P> shearY3D(
+
81  const detail::tmat4x4<T, P> & m,
+
82  T x,
+
83  T z);
+
84 
+
87  template <typename T, precision P>
+
88  detail::tmat4x4<T, P> shearZ3D(
+
89  const detail::tmat4x4<T, P> & m,
+
90  T x,
+
91  T y);
+
92 
+
93  //template <typename T> GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> shear(const detail::tmat4x4<T, P> & m, shearPlane, planePoint, angle)
+
94  // Identity + tan(angle) * cross(Normal, OnPlaneVector) 0
+
95  // - dot(PointOnPlane, normal) * OnPlaneVector 1
+
96 
+
97  // Reflect functions seem to don't work
+
98  //template <typename T> detail::tmat3x3<T, P> reflect2D(const detail::tmat3x3<T, P> & m, const detail::tvec3<T, P>& normal){return reflect2DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
+
99  //template <typename T> detail::tmat4x4<T, P> reflect3D(const detail::tmat4x4<T, P> & m, const detail::tvec3<T, P>& normal){return reflect3DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
+
100 
+
103  template <typename T, precision P>
+
104  detail::tmat3x3<T, P> proj2D(
+
105  const detail::tmat3x3<T, P> & m,
+
106  const detail::tvec3<T, P>& normal);
+
107 
+
110  template <typename T, precision P>
+
111  detail::tmat4x4<T, P> proj3D(
+
112  const detail::tmat4x4<T, P> & m,
+
113  const detail::tvec3<T, P>& normal);
+
114 
+
117  template <typename valType, precision P>
+
118  detail::tmat4x4<valType, P> scaleBias(
+
119  valType scale,
+
120  valType bias);
+
121 
+
124  template <typename valType, precision P>
+
125  detail::tmat4x4<valType, P> scaleBias(
+
126  detail::tmat4x4<valType, P> const & m,
+
127  valType scale,
+
128  valType bias);
+
129 
+
131 }// namespace glm
+
132 
+
133 #include "transform2.inl"
+
134 
+
135 #endif//GLM_GTX_transform2
+
detail::tmat4x4< valType, P > scaleBias(valType scale, valType bias)
Build a scale bias matrix.
+
detail::tmat3x3< T, P > shearX2D(detail::tmat3x3< T, P > const &m, T y)
Transforms a matrix with a shearing on X axis.
+
detail::tmat3x3< T, P > proj2D(const detail::tmat3x3< T, P > &m, const detail::tvec3< T, P > &normal)
Build planar projection matrix along normal axis.
+
GLM_FUNC_DECL detail::tmat4x4< T, P > scale(detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
+
detail::tmat4x4< T, P > shearY3D(const detail::tmat4x4< T, P > &m, T x, T z)
Transforms a matrix with a shearing on Y axis.
+
detail::tmat4x4< T, P > proj3D(const detail::tmat4x4< T, P > &m, const detail::tvec3< T, P > &normal)
Build planar projection matrix along normal axis.
+
detail::tmat4x4< T, P > shearZ3D(const detail::tmat4x4< T, P > &m, T x, T y)
Transforms a matrix with a shearing on Z axis.
+
detail::tmat3x3< T, P > shearY2D(detail::tmat3x3< T, P > const &m, T x)
Transforms a matrix with a shearing on Y axis.
+
detail::tmat4x4< T, P > shearX3D(const detail::tmat4x4< T, P > &m, T y, T z)
Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00117.html glm-0.9.5.1/doc/api/a00117.html --- glm-0.9.4.6/doc/api/a00117.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00117.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,74 @@ + + + + + + +GLM: trigonometric.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
trigonometric.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file trigonometric.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00117_source.html glm-0.9.5.1/doc/api/a00117_source.html --- glm-0.9.4.6/doc/api/a00117_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00117_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,85 +1,69 @@ - - - - - -ulp.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
gtx/ulp.hpp
-
-
-
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 #if(defined(GLM_MESSAGES))
-
25 # pragma message("GLM: GLM_GTX_ulp extension is deprecated, include GLM_GTC_ulp (glm/gtc/ulp.hpp) instead")
-
26 #endif
-
27 
-
28 // Promoted:
-
29 #include "../gtc/ulp.hpp"
-
- - - - + + + + + + +GLM: trigonometric.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
trigonometric.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_TRIGONOMETRIC_INCLUDED
+
30 #define GLM_TRIGONOMETRIC_INCLUDED
+
31 
+
32 #include "detail/func_trigonometric.hpp"
+
33 
+
34 #endif//GLM_TRIGONOMETRIC_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00118_source.html glm-0.9.5.1/doc/api/a00118_source.html --- glm-0.9.4.6/doc/api/a00118_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00118_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,82 +1,116 @@ - - - - - -unsigned_int.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
unsigned_int.hpp
-
-
-
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 #if(defined(GLM_MESSAGES))
-
25 # pragma message("GLM: GLM_GTX_unsigned_int extension is deprecated, include GLM_GTX_integer instead")
-
26 #endif
-
- - - - + + + + + + +GLM: type_float.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_float.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_float
+
30 #define glm_core_type_float
+
31 
+
32 #include "setup.hpp"
+
33 
+
34 namespace glm{
+
35 namespace detail
+
36 {
+
37  typedef float float32;
+
38  typedef double float64;
+
39 }//namespace detail
+
40 
+
41  typedef float lowp_float_t;
+
42  typedef float mediump_float_t;
+
43  typedef double highp_float_t;
+
44 
+
47 
+
53  typedef lowp_float_t lowp_float;
+
54 
+
60  typedef mediump_float_t mediump_float;
+
61 
+
67  typedef highp_float_t highp_float;
+
68 
+
69 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
70  typedef mediump_float float_t;
+
71 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
72  typedef highp_float float_t;
+
73 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
+
74  typedef mediump_float float_t;
+
75 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
+
76  typedef lowp_float float_t;
+
77 #else
+
78 # error "GLM error: multiple default precision requested for floating-point types"
+
79 #endif
+
80 
+
81  typedef float float32;
+
82  typedef double float64;
+
83 
+
85 // check type sizes
+
86 #ifndef GLM_STATIC_ASSERT_NULL
+
87  GLM_STATIC_ASSERT(sizeof(glm::float32) == 4, "float32 size isn't 4 bytes on this platform");
+
88  GLM_STATIC_ASSERT(sizeof(glm::float64) == 8, "float64 size isn't 8 bytes on this platform");
+
89 #endif//GLM_STATIC_ASSERT_NULL
+
90 
+
92 
+
93 }//namespace glm
+
94 
+
95 #endif//glm_core_type_float
+
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:81
+
highp_float_t highp_float
High precision floating-point numbers.
Definition: type_float.hpp:67
+
mediump_float_t mediump_float
Medium precision floating-point numbers.
Definition: type_float.hpp:60
+
lowp_float_t lowp_float
Low precision floating-point numbers.
Definition: type_float.hpp:53
+
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:82
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00119.html glm-0.9.5.1/doc/api/a00119.html --- glm-0.9.4.6/doc/api/a00119.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00119.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,101 +0,0 @@ - - - - - -vec1.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
vec1.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::tvec1< bool > bvec1
 
typedef detail::highp_ivec1_t highp_ivec1
 
typedef detail::highp_uvec1_t highp_uvec1
 
typedef detail::highp_vec1_t highp_vec1
 
typedef mediump_ivec1 ivec1
 
typedef detail::lowp_ivec1_t lowp_ivec1
 
typedef detail::lowp_uvec1_t lowp_uvec1
 
typedef detail::lowp_vec1_t lowp_vec1
 
typedef detail::mediump_ivec1_t mediump_ivec1
 
typedef detail::mediump_uvec1_t mediump_uvec1
 
typedef detail::mediump_vec1_t mediump_vec1
 
typedef mediump_uvec1 uvec1
 
typedef mediump_vec1 vec1
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_vec1

-
Date
2010-02-08 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file vec1.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00119_source.html glm-0.9.5.1/doc/api/a00119_source.html --- glm-0.9.4.6/doc/api/a00119_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00119_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,163 +1,252 @@ - - - - - -vec1.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
vec1.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 #ifndef GLM_GTX_vec1
-
38 #define GLM_GTX_vec1 GLM_VERSION
-
39 
-
40 // Dependency:
-
41 #include "../glm.hpp"
-
42 #include "../core/type_vec1.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_vec1 extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
53  typedef detail::highp_vec1_t highp_vec1;
-
57  typedef detail::mediump_vec1_t mediump_vec1;
-
61  typedef detail::lowp_vec1_t lowp_vec1;
-
62 
-
66  typedef detail::highp_ivec1_t highp_ivec1;
-
70  typedef detail::mediump_ivec1_t mediump_ivec1;
-
74  typedef detail::lowp_ivec1_t lowp_ivec1;
-
75 
-
79  typedef detail::highp_uvec1_t highp_uvec1;
-
83  typedef detail::mediump_uvec1_t mediump_uvec1;
-
87  typedef detail::lowp_uvec1_t lowp_uvec1;
-
88 
-
90  // vec1 definition
-
91 
-
94  typedef detail::tvec1<bool> bvec1;
-
95 
-
96 #if(defined(GLM_PRECISION_HIGHP_FLOAT))
-
97  typedef highp_vec1 vec1;
-
98 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
-
99  typedef mediump_vec1 vec1;
-
100 #elif(defined(GLM_PRECISION_LOWP_FLOAT))
-
101  typedef lowp_vec1 vec1;
-
102 #else
-
103 
-
104 
-
105  typedef mediump_vec1 vec1;
-
106 #endif//GLM_PRECISION
-
107 
-
108 #if(defined(GLM_PRECISION_HIGHP_INT))
-
109  typedef highp_ivec1 ivec1;
-
110 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
-
111  typedef mediump_ivec1 ivec1;
-
112 #elif(defined(GLM_PRECISION_LOWP_INT))
-
113  typedef lowp_ivec1 ivec1;
-
114 #else
-
115 
-
116 
-
117  typedef mediump_ivec1 ivec1;
-
118 #endif//GLM_PRECISION
-
119 
-
120 #if(defined(GLM_PRECISION_HIGHP_UINT))
-
121  typedef highp_uvec1 uvec1;
-
122 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
-
123  typedef mediump_uvec1 uvec1;
-
124 #elif(defined(GLM_PRECISION_LOWP_UINT))
-
125  typedef lowp_uvec1 uvec1;
-
126 #else
-
127 
-
128 
-
129  typedef mediump_uvec1 uvec1;
-
130 #endif//GLM_PRECISION
-
131 
-
132 }// namespace glm
-
133 
-
134 #include "vec1.inl"
-
135 
-
136 #endif//GLM_GTX_vec1
-
137 
-
- - - - + + + + + + +GLM: type_gentype.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_gentype.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_gentype
+
30 #define glm_core_type_gentype
+
31 
+
32 namespace glm
+
33 {
+
34  enum profile
+
35  {
+
36  nice,
+
37  fast,
+
38  simd
+
39  };
+
40 
+
41  typedef std::size_t sizeType;
+
42 
+
43 namespace detail
+
44 {
+
45  template
+
46  <
+
47  typename VALTYPE,
+
48  template <typename> class TYPE
+
49  >
+
50  struct genType
+
51  {
+
52  public:
+
53  enum ctor{null};
+
54 
+
55  typedef VALTYPE value_type;
+
56  typedef VALTYPE & value_reference;
+
57  typedef VALTYPE * value_pointer;
+
58  typedef VALTYPE const * value_const_pointer;
+
59  typedef TYPE<bool> bool_type;
+
60 
+
61  typedef sizeType size_type;
+
62  static bool is_vector();
+
63  static bool is_matrix();
+
64 
+
65  typedef TYPE<VALTYPE> type;
+
66  typedef TYPE<VALTYPE> * pointer;
+
67  typedef TYPE<VALTYPE> const * const_pointer;
+
68  typedef TYPE<VALTYPE> const * const const_pointer_const;
+
69  typedef TYPE<VALTYPE> * const pointer_const;
+
70  typedef TYPE<VALTYPE> & reference;
+
71  typedef TYPE<VALTYPE> const & const_reference;
+
72  typedef TYPE<VALTYPE> const & param_type;
+
73 
+
75  // Address (Implementation details)
+
76 
+
77  value_const_pointer value_address() const{return value_pointer(this);}
+
78  value_pointer value_address(){return value_pointer(this);}
+
79 
+
80  //protected:
+
81  // enum kind
+
82  // {
+
83  // GEN_TYPE,
+
84  // VEC_TYPE,
+
85  // MAT_TYPE
+
86  // };
+
87 
+
88  // typedef typename TYPE::kind kind;
+
89  };
+
90 
+
91  template
+
92  <
+
93  typename VALTYPE,
+
94  template <typename> class TYPE
+
95  >
+
96  bool genType<VALTYPE, TYPE>::is_vector()
+
97  {
+
98  return true;
+
99  }
+
100 /*
+
101  template <typename valTypeT, unsigned int colT, unsigned int rowT, profile proT = nice>
+
102  class base
+
103  {
+
104  public:
+
106  // Traits
+
107 
+
108  typedef sizeType size_type;
+
109  typedef valTypeT value_type;
+
110 
+
111  typedef base<value_type, colT, rowT> class_type;
+
112 
+
113  typedef base<bool, colT, rowT> bool_type;
+
114  typedef base<value_type, rowT, 1> col_type;
+
115  typedef base<value_type, colT, 1> row_type;
+
116  typedef base<value_type, rowT, colT> transpose_type;
+
117 
+
118  static size_type col_size();
+
119  static size_type row_size();
+
120  static size_type value_size();
+
121  static bool is_scalar();
+
122  static bool is_vector();
+
123  static bool is_matrix();
+
124 
+
125  private:
+
126  // Data
+
127  col_type value[colT];
+
128 
+
129  public:
+
131  // Constructors
+
132  base();
+
133  base(class_type const & m);
+
134 
+
135  explicit base(T const & x);
+
136  explicit base(value_type const * const x);
+
137  explicit base(col_type const * const x);
+
138 
+
140  // Conversions
+
141  template <typename vU, uint cU, uint rU, profile pU>
+
142  explicit base(base<vU, cU, rU, pU> const & m);
+
143 
+
145  // Accesses
+
146  col_type& operator[](size_type i);
+
147  col_type const & operator[](size_type i) const;
+
148 
+
150  // Unary updatable operators
+
151  class_type& operator= (class_type const & x);
+
152  class_type& operator+= (T const & x);
+
153  class_type& operator+= (class_type const & x);
+
154  class_type& operator-= (T const & x);
+
155  class_type& operator-= (class_type const & x);
+
156  class_type& operator*= (T const & x);
+
157  class_type& operator*= (class_type const & x);
+
158  class_type& operator/= (T const & x);
+
159  class_type& operator/= (class_type const & x);
+
160  class_type& operator++ ();
+
161  class_type& operator-- ();
+
162  };
+
163 */
+
164 
+
165  //template <typename T>
+
166  //struct traits
+
167  //{
+
168  // static const bool is_signed = false;
+
169  // static const bool is_float = false;
+
170  // static const bool is_vector = false;
+
171  // static const bool is_matrix = false;
+
172  // static const bool is_genType = false;
+
173  // static const bool is_genIType = false;
+
174  // static const bool is_genUType = false;
+
175  //};
+
176 
+
177  //template <>
+
178  //struct traits<half>
+
179  //{
+
180  // static const bool is_float = true;
+
181  // static const bool is_genType = true;
+
182  //};
+
183 
+
184  //template <>
+
185  //struct traits<float>
+
186  //{
+
187  // static const bool is_float = true;
+
188  // static const bool is_genType = true;
+
189  //};
+
190 
+
191  //template <>
+
192  //struct traits<double>
+
193  //{
+
194  // static const bool is_float = true;
+
195  // static const bool is_genType = true;
+
196  //};
+
197 
+
198  //template <typename genType>
+
199  //struct desc
+
200  //{
+
201  // typedef genType type;
+
202  // typedef genType * pointer;
+
203  // typedef genType const* const_pointer;
+
204  // typedef genType const *const const_pointer_const;
+
205  // typedef genType *const pointer_const;
+
206  // typedef genType & reference;
+
207  // typedef genType const& const_reference;
+
208  // typedef genType const& param_type;
+
209 
+
210  // typedef typename genType::value_type value_type;
+
211  // typedef typename genType::size_type size_type;
+
212  // static const typename size_type value_size;
+
213  //};
+
214 
+
215  //template <typename genType>
+
216  //const typename desc<genType>::size_type desc<genType>::value_size = genType::value_size();
+
217 
+
218 }//namespace detail
+
219 }//namespace glm
+
220 
+
221 //#include "type_gentype.inl"
+
222 
+
223 #endif//glm_core_type_gentype
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00120.html glm-0.9.5.1/doc/api/a00120.html --- glm-0.9.4.6/doc/api/a00120.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00120.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,84 +0,0 @@ - - - - - -vector_access.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
vector_access.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - -

-Functions

template<typename valType >
void set (detail::tvec2< valType > &v, valType const &x, valType const &y)
 
template<typename valType >
void set (detail::tvec3< valType > &v, valType const &x, valType const &y, valType const &z)
 
template<typename valType >
void set (detail::tvec4< valType > &v, valType const &x, valType const &y, valType const &z, valType const &w)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_vector_access

-
Date
2006-01-16 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file vector_access.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00120_source.html glm-0.9.5.1/doc/api/a00120_source.html --- glm-0.9.4.6/doc/api/a00120_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00120_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,132 +1,85 @@ - - - - - -vector_access.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
vector_access.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_vector_access
-
39 #define GLM_GTX_vector_access GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_vector_access extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename valType>
-
56  void set(
-
57  detail::tvec2<valType> & v,
-
58  valType const & x,
-
59  valType const & y);
-
60 
-
63  template <typename valType>
-
64  void set(
-
65  detail::tvec3<valType> & v,
-
66  valType const & x,
-
67  valType const & y,
-
68  valType const & z);
-
69 
-
72  template <typename valType>
-
73  void set(
-
74  detail::tvec4<valType> & v,
-
75  valType const & x,
-
76  valType const & y,
-
77  valType const & z,
-
78  valType const & w);
-
79 
-
81 }//namespace glm
-
82 
-
83 #include "vector_access.inl"
-
84 
-
85 #endif//GLM_GTX_vector_access
-
- - - - + + + + + + +GLM: type_half.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_half.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_half
+
30 #define glm_core_type_half
+
31 
+
32 #include "setup.hpp"
+
33 
+
34 namespace glm{
+
35 namespace detail
+
36 {
+
37  typedef short hdata;
+
38 
+
39  GLM_FUNC_DECL float toFloat32(hdata value);
+
40  GLM_FUNC_DECL hdata toFloat16(float const & value);
+
41 
+
42 }//namespace detail
+
43 
+
45  //typedef detail::hdata half;
+
46 
+
47 }//namespace glm
+
48 
+
49 #include "type_half.inl"
+
50 
+
51 #endif//glm_core_type_half
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00121.html glm-0.9.5.1/doc/api/a00121.html --- glm-0.9.4.6/doc/api/a00121.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00121.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ - - - - - -vector_angle.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
vector_angle.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - -

-Functions

template<typename vecType >
GLM_FUNC_QUALIFIER
-vecType::value_type 
angle (vecType const &x, vecType const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec2< T > const &x, detail::tvec2< T > const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec3< T > const &x, detail::tvec3< T > const &y, detail::tvec3< T > const &ref)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_vector_angle

-
Date
2005-12-30 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
-
-GLM_GTX_quaternion (dependence)
-
-gtx_epsilon (dependence)
- -

Definition in file vector_angle.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00121_source.html glm-0.9.5.1/doc/api/a00121_source.html --- glm-0.9.4.6/doc/api/a00121_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00121_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,132 +1,212 @@ - - - - - -vector_angle.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
vector_angle.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 
-
40 #ifndef GLM_GTX_vector_angle
-
41 #define GLM_GTX_vector_angle GLM_VERSION
-
42 
-
43 // Dependency:
-
44 #include "../glm.hpp"
-
45 #include "../gtc/epsilon.hpp"
-
46 #include "../gtx/quaternion.hpp"
-
47 #include "../gtx/rotate_vector.hpp"
-
48 
-
49 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
50 # pragma message("GLM: GLM_GTX_vector_angle extension included")
-
51 #endif
-
52 
-
53 namespace glm
-
54 {
-
57 
-
61  template <typename vecType>
-
62  GLM_FUNC_QUALIFIER typename vecType::value_type angle(
-
63  vecType const & x,
-
64  vecType const & y);
-
65 
-
69  template <typename T>
-
70  GLM_FUNC_QUALIFIER T orientedAngle(
-
71  detail::tvec2<T> const & x,
-
72  detail::tvec2<T> const & y);
-
73 
-
77  template <typename T>
-
78  GLM_FUNC_QUALIFIER T orientedAngle(
-
79  detail::tvec3<T> const & x,
-
80  detail::tvec3<T> const & y,
-
81  detail::tvec3<T> const & ref);
-
82 
-
84 }// namespace glm
-
85 
-
86 #include "vector_angle.inl"
-
87 
-
88 #endif//GLM_GTX_vector_angle
-
- - - - + + + + + + +GLM: type_int.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_int.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_int
+
30 #define glm_core_type_int
+
31 
+
32 #include "setup.hpp"
+
33 
+
34 #if GLM_HAS_EXTENDED_INTEGER_TYPE
+
35 # include <cstdint>
+
36 #endif
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41 # if GLM_HAS_EXTENDED_INTEGER_TYPE
+
42  typedef std::int8_t int8;
+
43  typedef std::int16_t int16;
+
44  typedef std::int32_t int32;
+
45  typedef std::int64_t int64;
+
46 
+
47  typedef std::uint8_t uint8;
+
48  typedef std::uint16_t uint16;
+
49  typedef std::uint32_t uint32;
+
50  typedef std::uint64_t uint64;
+
51 # else
+
52 # if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available
+
53  typedef int64_t sint64;
+
54  typedef uint64_t uint64;
+
55 # elif(GLM_COMPILER & GLM_COMPILER_VC)
+
56  typedef signed __int64 sint64;
+
57  typedef unsigned __int64 uint64;
+
58 # elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC | GLM_COMPILER_CLANG))
+
59  __extension__ typedef signed long long sint64;
+
60  __extension__ typedef unsigned long long uint64;
+
61 # elif(GLM_COMPILER & GLM_COMPILER_BC)
+
62  typedef Int64 sint64;
+
63  typedef Uint64 uint64;
+
64 # else//unknown compiler
+
65  typedef signed long long sint64;
+
66  typedef unsigned long long uint64;
+
67 # endif//GLM_COMPILER
+
68 
+
69  typedef signed char int8;
+
70  typedef signed short int16;
+
71  typedef signed int int32;
+
72  typedef sint64 int64;
+
73 
+
74  typedef unsigned char uint8;
+
75  typedef unsigned short uint16;
+
76  typedef unsigned int uint32;
+
77  typedef uint64 uint64;
+
78 #endif//
+
79 
+
80  typedef signed int lowp_int_t;
+
81  typedef signed int mediump_int_t;
+
82  typedef signed int highp_int_t;
+
83 
+
84  typedef unsigned int lowp_uint_t;
+
85  typedef unsigned int mediump_uint_t;
+
86  typedef unsigned int highp_uint_t;
+
87 }//namespace detail
+
88 
+
89  typedef detail::int8 int8;
+
90  typedef detail::int16 int16;
+
91  typedef detail::int32 int32;
+
92  typedef detail::int64 int64;
+
93 
+
94  typedef detail::uint8 uint8;
+
95  typedef detail::uint16 uint16;
+
96  typedef detail::uint32 uint32;
+
97  typedef detail::uint64 uint64;
+
98 
+
101 
+
107  typedef detail::lowp_int_t lowp_int;
+
108 
+
114  typedef detail::mediump_int_t mediump_int;
+
115 
+
121  typedef detail::highp_int_t highp_int;
+
122 
+
128  typedef detail::lowp_uint_t lowp_uint;
+
129 
+
135  typedef detail::mediump_uint_t mediump_uint;
+
136 
+
142  typedef detail::highp_uint_t highp_uint;
+
143 
+
144 #if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
+
145  typedef mediump_int int_t;
+
146 #elif(defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
+
147  typedef highp_int int_t;
+
148 #elif(!defined(GLM_PRECISION_HIGHP_INT) && defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
+
149  typedef mediump_int int_t;
+
150 #elif(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && defined(GLM_PRECISION_LOWP_INT))
+
151  typedef lowp_int int_t;
+
152 #else
+
153 # error "GLM error: multiple default precision requested for signed interger types"
+
154 #endif
+
155 
+
156 #if(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
+
157  typedef mediump_uint uint_t;
+
158 #elif(defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
+
159  typedef highp_uint uint_t;
+
160 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && defined(GLM_PRECISION_MEDIUMP_UINT) && !defined(GLM_PRECISION_LOWP_UINT))
+
161  typedef mediump_uint uint_t;
+
162 #elif(!defined(GLM_PRECISION_HIGHP_UINT) && !defined(GLM_PRECISION_MEDIUMP_UINT) && defined(GLM_PRECISION_LOWP_UINT))
+
163  typedef lowp_uint uint_t;
+
164 #else
+
165 # error "GLM error: multiple default precision requested for unsigned interger types"
+
166 #endif
+
167 
+
171  typedef unsigned int uint;
+
172 
+
174 
+
176 // check type sizes
+
177 #ifndef GLM_STATIC_ASSERT_NULL
+
178  GLM_STATIC_ASSERT(sizeof(glm::int8) == 1, "int8 size isn't 1 byte on this platform");
+
179  GLM_STATIC_ASSERT(sizeof(glm::int16) == 2, "int16 size isn't 2 bytes on this platform");
+
180  GLM_STATIC_ASSERT(sizeof(glm::int32) == 4, "int32 size isn't 4 bytes on this platform");
+
181  GLM_STATIC_ASSERT(sizeof(glm::int64) == 8, "int64 size isn't 8 bytes on this platform");
+
182 
+
183  GLM_STATIC_ASSERT(sizeof(glm::uint8) == 1, "uint8 size isn't 1 byte on this platform");
+
184  GLM_STATIC_ASSERT(sizeof(glm::uint16) == 2, "uint16 size isn't 2 bytes on this platform");
+
185  GLM_STATIC_ASSERT(sizeof(glm::uint32) == 4, "uint32 size isn't 4 bytes on this platform");
+
186  GLM_STATIC_ASSERT(sizeof(glm::uint64) == 8, "uint64 size isn't 8 bytes on this platform");
+
187 #endif//GLM_STATIC_ASSERT_NULL
+
188 
+
189 }//namespace glm
+
190 
+
191 #endif//glm_core_type_int
+
detail::highp_int_t highp_int
High precision signed integer.
Definition: type_int.hpp:121
+
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:89
+
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:96
+
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:90
+
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:895
+
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:305
+
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:903
+
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:92
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:171
+
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:907
+
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:297
+
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:97
+
detail::lowp_uint_t lowp_uint
Low precision unsigned integer.
Definition: type_int.hpp:128
+
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:293
+
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:899
+
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:91
+
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:301
+
detail::mediump_uint_t mediump_uint
Medium precision unsigned integer.
Definition: type_int.hpp:135
+
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:94
+
detail::mediump_int_t mediump_int
Medium precision signed integer.
Definition: type_int.hpp:114
+
detail::highp_uint_t highp_uint
High precision unsigned integer.
Definition: type_int.hpp:142
+
detail::lowp_int_t lowp_int
Low precision signed integer.
Definition: type_int.hpp:107
+
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:95
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00122.html glm-0.9.5.1/doc/api/a00122.html --- glm-0.9.4.6/doc/api/a00122.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00122.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,96 +0,0 @@ - - - - - -vector_query.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
vector_query.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
bool areCollinear (genType const &v0, genType const &v1, typename genType::value_type const &epsilon)
 
template<typename genType >
bool areOrthogonal (genType const &v0, genType const &v1, typename genType::value_type const &epsilon)
 
template<typename genType >
bool areOrthonormal (genType const &v0, genType const &v1, typename genType::value_type const &epsilon)
 
template<typename genType , template< typename > class vecType>
bool isNormalized (vecType< genType > const &v, genType const &epsilon)
 
template<typename valType >
bool isNull (detail::tvec2< valType > const &v, valType const &epsilon)
 
template<typename valType >
bool isNull (detail::tvec3< valType > const &v, valType const &epsilon)
 
template<typename valType >
bool isNull (detail::tvec4< valType > const &v, valType const &epsilon)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_vector_query

-
Date
2008-03-10 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file vector_query.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00122_source.html glm-0.9.5.1/doc/api/a00122_source.html --- glm-0.9.4.6/doc/api/a00122_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00122_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,151 +1,471 @@ - - - - - -vector_query.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
vector_query.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_vector_query
-
39 #define GLM_GTX_vector_query GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 #include <cfloat>
-
44 #include <limits>
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_GTX_vector_query extension included")
-
48 #endif
-
49 
-
50 namespace glm
-
51 {
-
54 
-
57  template <typename genType>
-
58  bool areCollinear(
-
59  genType const & v0,
-
60  genType const & v1,
-
61  typename genType::value_type const & epsilon/* = std::numeric_limits<typename genType::value_type>::epsilon()*/);
-
62 
-
65  template <typename genType>
-
66  bool areOrthogonal(
-
67  genType const & v0,
-
68  genType const & v1,
-
69  typename genType::value_type const & epsilon/* = std::numeric_limits<typename genType::value_type>::epsilon()*/);
-
70 
-
73  template <typename genType, template <typename> class vecType>
-
74  bool isNormalized(
-
75  vecType<genType> const & v,
-
76  genType const & epsilon/* = std::numeric_limits<genType>::epsilon()*/);
-
77 
-
80  template <typename valType>
-
81  bool isNull(
-
82  detail::tvec2<valType> const & v,
-
83  valType const & epsilon/* = std::numeric_limits<typename genType::value_type>::epsilon()*/);
-
84 
-
87  template <typename valType>
-
88  bool isNull(
-
89  detail::tvec3<valType> const & v,
-
90  valType const & epsilon/* = std::numeric_limits<typename genType::value_type>::epsilon()*/);
-
91 
-
94  template <typename valType>
-
95  bool isNull(
-
96  detail::tvec4<valType> const & v,
-
97  valType const & epsilon/* = std::numeric_limits<typename genType::value_type>::epsilon()*/);
-
98 
-
101  template <typename genType>
-
102  bool areOrthonormal(
-
103  genType const & v0,
-
104  genType const & v1,
-
105  typename genType::value_type const & epsilon/* = std::numeric_limits<typename genType::value_type>::epsilon()*/);
-
106 
-
108 }// namespace glm
-
109 
-
110 #include "vector_query.inl"
-
111 
-
112 #endif//GLM_GTX_vector_query
-
- - - - + + + + + + +GLM: type_mat.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_mat.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_mat
+
30 #define glm_core_type_mat
+
31 
+
32 #include "precision.hpp"
+
33 
+
34 namespace glm{
+
35 namespace detail
+
36 {
+
37  template <typename T, precision P> struct tvec2;
+
38  template <typename T, precision P> struct tvec3;
+
39  template <typename T, precision P> struct tvec4;
+
40  template <typename T, precision P> struct tmat2x2;
+
41  template <typename T, precision P> struct tmat2x3;
+
42  template <typename T, precision P> struct tmat2x4;
+
43  template <typename T, precision P> struct tmat3x2;
+
44  template <typename T, precision P> struct tmat3x3;
+
45  template <typename T, precision P> struct tmat3x4;
+
46  template <typename T, precision P> struct tmat4x2;
+
47  template <typename T, precision P> struct tmat4x3;
+
48  template <typename T, precision P> struct tmat4x4;
+
49 
+
50  template <typename T, precision P, template <class, precision> class colType, template <class, precision> class rowType>
+
51  struct outerProduct_trait{};
+
52 
+
53  template <template <class, precision> class matType, typename T, precision P>
+
54  struct compute_inverse{};
+
55 }//namespace detail
+
56 
+
59 
+
65  typedef detail::tmat2x2<float, lowp> lowp_mat2;
+
66 
+
72  typedef detail::tmat2x2<float, mediump> mediump_mat2;
+
73 
+
79  typedef detail::tmat2x2<float, highp> highp_mat2;
+
80 
+
86  typedef detail::tmat2x2<float, lowp> lowp_mat2x2;
+
87 
+
93  typedef detail::tmat2x2<float, mediump> mediump_mat2x2;
+
94 
+
100  typedef detail::tmat2x2<float, highp> highp_mat2x2;
+
101 
+
103 
+
106 
+
112  typedef detail::tmat2x3<float, lowp> lowp_mat2x3;
+
113 
+
119  typedef detail::tmat2x3<float, mediump> mediump_mat2x3;
+
120 
+
126  typedef detail::tmat2x3<float, highp> highp_mat2x3;
+
127 
+
129 
+
132 
+
138  typedef detail::tmat2x4<float, lowp> lowp_mat2x4;
+
139 
+
145  typedef detail::tmat2x4<float, mediump> mediump_mat2x4;
+
146 
+
152  typedef detail::tmat2x4<float, highp> highp_mat2x4;
+
153 
+
155 
+
158 
+
164  typedef detail::tmat3x2<float, lowp> lowp_mat3x2;
+
165 
+
171  typedef detail::tmat3x2<float, mediump> mediump_mat3x2;
+
172 
+
178  typedef detail::tmat3x2<float, highp> highp_mat3x2;
+
179 
+
181 
+
184 
+
190  typedef detail::tmat3x3<float, lowp> lowp_mat3;
+
191 
+
197  typedef detail::tmat3x3<float, mediump> mediump_mat3;
+
198 
+
204  typedef detail::tmat3x3<float, highp> highp_mat3;
+
205 
+
211  typedef detail::tmat3x3<float, lowp> lowp_mat3x3;
+
212 
+
218  typedef detail::tmat3x3<float, mediump> mediump_mat3x3;
+
219 
+
225  typedef detail::tmat3x3<float, highp> highp_mat3x3;
+
226 
+
228 
+
231 
+
237  typedef detail::tmat3x4<float, lowp> lowp_mat3x4;
+
238 
+
244  typedef detail::tmat3x4<float, mediump> mediump_mat3x4;
+
245 
+
251  typedef detail::tmat3x4<float, highp> highp_mat3x4;
+
252 
+
254 
+
257 
+
263  typedef detail::tmat4x2<float, lowp> lowp_mat4x2;
+
264 
+
270  typedef detail::tmat4x2<float, mediump> mediump_mat4x2;
+
271 
+
277  typedef detail::tmat4x2<float, highp> highp_mat4x2;
+
278 
+
280 
+
283 
+
289  typedef detail::tmat4x3<float, lowp> lowp_mat4x3;
+
290 
+
296  typedef detail::tmat4x3<float, mediump> mediump_mat4x3;
+
297 
+
303  typedef detail::tmat4x3<float, highp> highp_mat4x3;
+
304 
+
306 
+
307 
+
310 
+
316  typedef detail::tmat4x4<float, lowp> lowp_mat4;
+
317 
+
323  typedef detail::tmat4x4<float, mediump> mediump_mat4;
+
324 
+
330  typedef detail::tmat4x4<float, highp> highp_mat4;
+
331 
+
337  typedef detail::tmat4x4<float, lowp> lowp_mat4x4;
+
338 
+
344  typedef detail::tmat4x4<float, mediump> mediump_mat4x4;
+
345 
+
351  typedef detail::tmat4x4<float, highp> highp_mat4x4;
+
352 
+
354 
+
357 
+
359  // Float definition
+
360 
+
361 #if(defined(GLM_PRECISION_LOWP_FLOAT))
+
362  typedef lowp_mat2x2 mat2x2;
+
363  typedef lowp_mat2x3 mat2x3;
+
364  typedef lowp_mat2x4 mat2x4;
+
365  typedef lowp_mat3x2 mat3x2;
+
366  typedef lowp_mat3x3 mat3x3;
+
367  typedef lowp_mat3x4 mat3x4;
+
368  typedef lowp_mat4x2 mat4x2;
+
369  typedef lowp_mat4x3 mat4x3;
+
370  typedef lowp_mat4x4 mat4x4;
+
371 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
372  typedef mediump_mat2x2 mat2x2;
+
373  typedef mediump_mat2x3 mat2x3;
+
374  typedef mediump_mat2x4 mat2x4;
+
375  typedef mediump_mat3x2 mat3x2;
+
376  typedef mediump_mat3x3 mat3x3;
+
377  typedef mediump_mat3x4 mat3x4;
+
378  typedef mediump_mat4x2 mat4x2;
+
379  typedef mediump_mat4x3 mat4x3;
+
380  typedef mediump_mat4x4 mat4x4;
+
381 #else
+
382  typedef highp_mat2x2 mat2x2;
+
386 
+ +
391 
+ +
396 
+ +
401 
+ +
406 
+ +
411 
+ +
416 
+ +
421 
+ +
426 
+
427 #endif//GLM_PRECISION
+
428 
+
432  typedef mat2x2 mat2;
+
433 
+
437  typedef mat3x3 mat3;
+
438 
+
442  typedef mat4x4 mat4;
+
443 
+
445  // Double definition
+
446 
+
449 
+
454  typedef detail::tmat2x2<double, lowp> lowp_dmat2;
+
455 
+
460  typedef detail::tmat2x2<double, mediump> mediump_dmat2;
+
461 
+
466  typedef detail::tmat2x2<double, highp> highp_dmat2;
+
467 
+
472  typedef detail::tmat2x2<double, lowp> lowp_dmat2x2;
+
473 
+
478  typedef detail::tmat2x2<double, mediump> mediump_dmat2x2;
+
479 
+
484  typedef detail::tmat2x2<double, highp> highp_dmat2x2;
+
485 
+
487 
+
490 
+
495  typedef detail::tmat2x3<double, lowp> lowp_dmat2x3;
+
496 
+
501  typedef detail::tmat2x3<double, mediump> mediump_dmat2x3;
+
502 
+
507  typedef detail::tmat2x3<double, highp> highp_dmat2x3;
+
508 
+
510 
+
513 
+
518  typedef detail::tmat2x4<double, lowp> lowp_dmat2x4;
+
519 
+
524  typedef detail::tmat2x4<double, mediump> mediump_dmat2x4;
+
525 
+
530  typedef detail::tmat2x4<double, highp> highp_dmat2x4;
+
531 
+
533 
+
536 
+
541  typedef detail::tmat3x2<double, lowp> lowp_dmat3x2;
+
542 
+
547  typedef detail::tmat3x2<double, mediump> mediump_dmat3x2;
+
548 
+
553  typedef detail::tmat3x2<double, highp> highp_dmat3x2;
+
554 
+
556 
+
559 
+
564  typedef detail::tmat3x3<float, lowp> lowp_dmat3;
+
565 
+
570  typedef detail::tmat3x3<double, mediump> mediump_dmat3;
+
571 
+
576  typedef detail::tmat3x3<double, highp> highp_dmat3;
+
577 
+
582  typedef detail::tmat3x3<double, lowp> lowp_dmat3x3;
+
583 
+
588  typedef detail::tmat3x3<double, mediump> mediump_dmat3x3;
+
589 
+
594  typedef detail::tmat3x3<double, highp> highp_dmat3x3;
+
595 
+
597 
+
600 
+
605  typedef detail::tmat3x4<double, lowp> lowp_dmat3x4;
+
606 
+
611  typedef detail::tmat3x4<double, mediump> mediump_dmat3x4;
+
612 
+
617  typedef detail::tmat3x4<double, highp> highp_dmat3x4;
+
618 
+
620 
+
623 
+
628  typedef detail::tmat4x2<double, lowp> lowp_dmat4x2;
+
629 
+
634  typedef detail::tmat4x2<double, mediump> mediump_dmat4x2;
+
635 
+
640  typedef detail::tmat4x2<double, highp> highp_dmat4x2;
+
641 
+
643 
+
646 
+
651  typedef detail::tmat4x3<double, lowp> lowp_dmat4x3;
+
652 
+
657  typedef detail::tmat4x3<double, mediump> mediump_dmat4x3;
+
658 
+
663  typedef detail::tmat4x3<double, highp> highp_dmat4x3;
+
664 
+
666 
+
669 
+
674  typedef detail::tmat4x4<double, lowp> lowp_dmat4;
+
675 
+
680  typedef detail::tmat4x4<double, mediump> mediump_dmat4;
+
681 
+
686  typedef detail::tmat4x4<double, highp> highp_dmat4;
+
687 
+
692  typedef detail::tmat4x4<double, lowp> lowp_dmat4x4;
+
693 
+
698  typedef detail::tmat4x4<double, mediump> mediump_dmat4x4;
+
699 
+
704  typedef detail::tmat4x4<double, highp> highp_dmat4x4;
+
705 
+
707 
+
708 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
+
709  typedef lowp_dmat2x2 dmat2x2;
+
710  typedef lowp_dmat2x3 dmat2x3;
+
711  typedef lowp_dmat2x4 dmat2x4;
+
712  typedef lowp_dmat3x2 dmat3x2;
+
713  typedef lowp_dmat3x3 dmat3x3;
+
714  typedef lowp_dmat3x4 dmat3x4;
+
715  typedef lowp_dmat4x2 dmat4x2;
+
716  typedef lowp_dmat4x3 dmat4x3;
+
717  typedef lowp_dmat4x4 dmat4x4;
+
718 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+
719  typedef mediump_dmat2x2 dmat2x2;
+
720  typedef mediump_dmat2x3 dmat2x3;
+
721  typedef mediump_dmat2x4 dmat2x4;
+
722  typedef mediump_dmat3x2 dmat3x2;
+
723  typedef mediump_dmat3x3 dmat3x3;
+
724  typedef mediump_dmat3x4 dmat3x4;
+
725  typedef mediump_dmat4x2 dmat4x2;
+
726  typedef mediump_dmat4x3 dmat4x3;
+
727  typedef mediump_dmat4x4 dmat4x4;
+
728 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+
729 
+ +
734 
+ +
739 
+ +
744 
+ +
749 
+ +
754 
+ +
759 
+ +
764 
+ +
769 
+ +
774 
+ +
779 
+ +
784 
+ +
789 
+
790 #endif//GLM_PRECISION
+
791 
+
793 }//namespace glm
+
794 
+
795 #endif//glm_core_type_mat
+
highp_mat4x4 mat4x4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:425
+
detail::tmat4x4< double, highp > highp_dmat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:704
+
highp_mat4x2 mat4x2
4 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:415
+
detail::tmat2x2< float, highp > highp_mat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:79
+
detail::tmat3x3< double, mediump > mediump_dmat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:570
+
detail::tmat2x4< float, lowp > lowp_mat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:138
+
highp_dmat3x2 dmat3x2
3 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:763
+
detail::tmat3x3< float, mediump > mediump_mat3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:197
+
detail::tmat3x3< float, lowp > lowp_mat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:211
+
detail::tmat2x2< double, lowp > lowp_dmat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:472
+
highp_dmat2x4 dmat2x4
2 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:758
+
detail::tmat3x4< double, highp > highp_dmat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:617
+
detail::tmat3x4< double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:605
+
highp_mat3x3 mat3x3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:405
+
detail::tmat2x2< float, mediump > mediump_mat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:72
+
highp_mat4x3 mat4x3
4 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:420
+
detail::tmat4x4< float, highp > highp_mat4x4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:351
+
detail::tmat4x2< double, mediump > mediump_dmat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:634
+
detail::tmat4x3< float, mediump > mediump_mat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:296
+
detail::tmat4x4< float, lowp > lowp_mat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:316
+
detail::tmat3x2< float, lowp > lowp_mat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:164
+
detail::tmat3x4< float, highp > highp_mat3x4
3 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:251
+
detail::tmat2x2< float, lowp > lowp_mat2x2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:86
+
highp_dmat4x4 dmat4
4 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:743
+
highp_dmat4x4 dmat4x4
4 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:788
+
detail::tmat2x3< double, mediump > mediump_dmat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:501
+
detail::tmat4x4< float, highp > highp_mat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:330
+
highp_dmat4x2 dmat4x2
4 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:778
+
detail::tmat3x3< float, highp > highp_mat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:204
+
mat4x4 mat4
4 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:442
+
detail::tmat2x2< double, mediump > mediump_dmat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:478
+
detail::tmat4x3< float, highp > highp_mat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:303
+
highp_dmat3x3 dmat3x3
3 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:768
+
detail::tmat2x4< double, mediump > mediump_dmat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:524
+
detail::tmat3x4< double, mediump > mediump_dmat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:611
+
detail::tmat2x2< double, highp > highp_dmat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:484
+
detail::tmat4x2< float, mediump > mediump_mat4x2
4 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:270
+
highp_dmat3x3 dmat3
3 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:738
+
detail::tmat4x4< float, mediump > mediump_mat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:344
+
detail::tmat2x2< float, lowp > lowp_mat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:65
+
detail::tmat3x3< float, lowp > lowp_mat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:190
+
highp_dmat2x2 dmat2x2
2 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:748
+
detail::tmat3x3< double, highp > highp_dmat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:594
+
detail::tmat2x2< float, mediump > mediump_mat2x2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:93
+
highp_dmat4x3 dmat4x3
4 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:783
+
detail::tmat4x3< float, lowp > lowp_mat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:289
+
detail::tmat2x3< float, mediump > mediump_mat2x3
2 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:119
+
detail::tmat4x3< double, highp > highp_dmat4x3
4 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:663
+
detail::tmat2x4< double, lowp > lowp_dmat2x4
2 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:518
+
detail::tmat3x3< float, mediump > mediump_mat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:218
+
detail::tmat3x2< float, highp > highp_mat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:178
+
detail::tmat2x3< double, lowp > lowp_dmat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:495
+
detail::tmat3x3< float, highp > highp_mat3x3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:225
+
detail::tmat2x3< double, highp > highp_dmat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:507
+
detail::tmat3x3< double, highp > highp_dmat3
3 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:576
+
detail::tmat4x4< double, lowp > lowp_dmat4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:674
+
detail::tmat4x4< double, mediump > mediump_dmat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:680
+
detail::tmat3x2< double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:547
+
detail::tmat3x2< double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:541
+
highp_mat3x4 mat3x4
3 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:410
+
detail::tmat3x4< float, lowp > lowp_mat3x4
3 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:237
+
detail::tmat2x4< float, highp > highp_mat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:152
+
highp_dmat3x4 dmat3x4
3 * 4 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:773
+
detail::tmat4x4< double, lowp > lowp_dmat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:692
+
highp_mat2x2 mat2x2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:385
+
detail::tmat2x4< float, mediump > mediump_mat2x4
2 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:145
+
highp_mat2x3 mat2x3
2 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:390
+
highp_mat2x4 mat2x4
2 columns of 4 components matrix of floating-point numbers.
Definition: type_mat.hpp:395
+
detail::tmat4x2< float, highp > highp_mat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:277
+
highp_mat3x2 mat3x2
3 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:400
+
detail::tmat4x2< float, lowp > lowp_mat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:263
+
detail::tmat3x3< double, lowp > lowp_dmat3x3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:582
+
detail::tmat3x3< float, lowp > lowp_dmat3
3 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:564
+
detail::tmat2x2< float, highp > highp_mat2x2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:100
+
detail::tmat4x4< float, mediump > mediump_mat4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:323
+
detail::tmat4x2< double, lowp > lowp_dmat4x2
4 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:628
+
highp_dmat2x2 dmat2
2 * 2 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:733
+
mat3x3 mat3
3 columns of 3 components matrix of floating-point numbers.
Definition: type_mat.hpp:437
+
detail::tmat3x2< double, highp > highp_dmat3x2
3 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:553
+
detail::tmat2x3< float, highp > highp_mat2x3
2 columns of 3 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:126
+
mat2x2 mat2
2 columns of 2 components matrix of floating-point numbers.
Definition: type_mat.hpp:432
+
detail::tmat4x4< double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:698
+
detail::tmat2x3< float, lowp > lowp_mat2x3
2 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:112
+
detail::tmat4x4< float, lowp > lowp_mat4x4
4 columns of 4 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:337
+
detail::tmat3x4< float, mediump > mediump_mat3x4
3 columns of 4 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:244
+
detail::tmat4x2< double, highp > highp_dmat4x2
4 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:640
+
detail::tmat3x3< double, mediump > mediump_dmat3x3
3 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:588
+
detail::tmat2x2< double, highp > highp_dmat2
2 columns of 2 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:466
+
detail::tmat2x2< double, mediump > mediump_dmat2
2 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:460
+
detail::tmat4x3< double, mediump > mediump_dmat4x3
4 columns of 3 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:657
+
detail::tmat2x4< double, highp > highp_dmat2x4
2 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:530
+
detail::tmat4x3< double, lowp > lowp_dmat4x3
4 columns of 3 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:651
+
detail::tmat3x2< float, mediump > mediump_mat3x2
3 columns of 2 components matrix of medium precision floating-point numbers.
Definition: type_mat.hpp:171
+
detail::tmat2x2< double, lowp > lowp_dmat2
2 columns of 2 components matrix of low precision floating-point numbers.
Definition: type_mat.hpp:454
+
detail::tmat4x4< double, highp > highp_dmat4
4 columns of 4 components matrix of high precision floating-point numbers.
Definition: type_mat.hpp:686
+
highp_dmat2x3 dmat2x3
2 * 3 matrix of double-precision floating-point numbers.
Definition: type_mat.hpp:753
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00123.html glm-0.9.5.1/doc/api/a00123.html --- glm-0.9.4.6/doc/api/a00123.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00123.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,90 +0,0 @@ - - - - - -verbose_operator.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
verbose_operator.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - -

-Functions

template<typename genTypeT , typename genTypeU >
genTypeT add (genTypeT const &a, genTypeU const &b)
 
template<typename genTypeT , typename genTypeU >
genTypeT div (genTypeT const &a, genTypeU const &b)
 
template<typename genTypeT , typename genTypeU , typename genTypeV >
genTypeT mad (genTypeT const &a, genTypeU const &b, genTypeV const &c)
 
template<typename genTypeT , typename genTypeU >
genTypeT mul (genTypeT const &a, genTypeU const &b)
 
template<typename genTypeT , typename genTypeU >
genTypeT sub (genTypeT const &a, genTypeU const &b)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_verbose_operator

-
Date
2007-05-21 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file verbose_operator.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00123_source.html glm-0.9.5.1/doc/api/a00123_source.html --- glm-0.9.4.6/doc/api/a00123_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00123_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,126 +1,285 @@ - - - - - -verbose_operator.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
verbose_operator.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_verbose_operator
-
39 #define GLM_GTX_verbose_operator GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_verbose_operator extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename genTypeT, typename genTypeU>
-
56  genTypeT add(genTypeT const & a, genTypeU const & b);
-
57 
-
60  template <typename genTypeT, typename genTypeU>
-
61  genTypeT sub(genTypeT const & a, genTypeU const & b);
-
62 
-
65  template <typename genTypeT, typename genTypeU>
-
66  genTypeT mul(genTypeT const & a, genTypeU const & b);
-
67 
-
70  template <typename genTypeT, typename genTypeU>
-
71  genTypeT div(genTypeT const & a, genTypeU const & b);
-
72 
-
75  template <typename genTypeT, typename genTypeU, typename genTypeV>
-
76  genTypeT mad(genTypeT const & a, genTypeU const & b, genTypeV const & c);
-
77 
-
79 }// namespace glm
-
80 
-
81 #include "verbose_operator.inl"
-
82 
-
83 #endif//GLM_GTX_verbose_operator
-
- - - - + + + + + + +GLM: type_mat2x2.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_mat2x2.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_mat2x2
+
30 #define glm_core_type_mat2x2
+
31 
+
32 #include "../fwd.hpp"
+
33 #include "type_vec2.hpp"
+
34 #include "type_mat.hpp"
+
35 #include <limits>
+
36 
+
37 namespace glm{
+
38 namespace detail
+
39 {
+
40  template <typename T, precision P>
+
41  struct tmat2x2
+
42  {
+
43  enum ctor{_null};
+
44  typedef T value_type;
+
45  typedef std::size_t size_type;
+
46  typedef tvec2<T, P> col_type;
+
47  typedef tvec2<T, P> row_type;
+
48  typedef tmat2x2<T, P> type;
+
49  typedef tmat2x2<T, P> transpose_type;
+
50 
+
51  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
52 
+
53  template <typename U, precision Q>
+
54  friend tvec2<U, Q> operator/(tmat2x2<U, Q> const & m, tvec2<U, Q> const & v);
+
55  template <typename U, precision Q>
+
56  friend tvec2<U, Q> operator/(tvec2<U, Q> const & v, tmat2x2<U, Q> const & m);
+
57 
+
58  private:
+
60  col_type value[2];
+
62 
+
63  public:
+
65  // Constructors
+
66  GLM_FUNC_DECL tmat2x2();
+
67  GLM_FUNC_DECL tmat2x2(tmat2x2<T, P> const & m);
+
68  template <precision Q>
+
69  GLM_FUNC_DECL tmat2x2(tmat2x2<T, Q> const & m);
+
70 
+
71  GLM_FUNC_DECL explicit tmat2x2(
+
72  ctor Null);
+
73  GLM_FUNC_DECL explicit tmat2x2(
+
74  T const & x);
+
75  GLM_FUNC_DECL explicit tmat2x2(
+
76  T const & x1, T const & y1,
+
77  T const & x2, T const & y2);
+
78  GLM_FUNC_DECL explicit tmat2x2(
+
79  col_type const & v1,
+
80  col_type const & v2);
+
81 
+
82 #if(GLM_HAS_INITIALIZER_LISTS)
+
83  template <typename U>
+
84  GLM_FUNC_DECL tmat2x2(std::initializer_list<U> m);
+
85 
+
86  GLM_FUNC_DECL tmat2x2(std::initializer_list<tvec2<T, P> > m);
+
87 #endif//GLM_HAS_INITIALIZER_LISTS
+
88 
+
90  // Conversions
+
91  template <typename U, typename V, typename M, typename N>
+
92  GLM_FUNC_DECL explicit tmat2x2(
+
93  U const & x1, V const & y1,
+
94  M const & x2, N const & y2);
+
95 
+
96  template <typename U, typename V>
+
97  GLM_FUNC_DECL explicit tmat2x2(
+
98  tvec2<U, P> const & v1,
+
99  tvec2<V, P> const & v2);
+
100 
+
102  // Matrix conversions
+
103  template <typename U, precision Q>
+
104  GLM_FUNC_DECL explicit tmat2x2(tmat2x2<U, Q> const & m);
+
105 
+
106  GLM_FUNC_DECL explicit tmat2x2(tmat3x3<T, P> const & x);
+
107  GLM_FUNC_DECL explicit tmat2x2(tmat4x4<T, P> const & x);
+
108  GLM_FUNC_DECL explicit tmat2x2(tmat2x3<T, P> const & x);
+
109  GLM_FUNC_DECL explicit tmat2x2(tmat3x2<T, P> const & x);
+
110  GLM_FUNC_DECL explicit tmat2x2(tmat2x4<T, P> const & x);
+
111  GLM_FUNC_DECL explicit tmat2x2(tmat4x2<T, P> const & x);
+
112  GLM_FUNC_DECL explicit tmat2x2(tmat3x4<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat2x2(tmat4x3<T, P> const & x);
+
114 
+
116  // Accesses
+
117 
+
118  GLM_FUNC_DECL col_type & operator[](length_t i);
+
119  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
120 
+
121  // Unary updatable operators
+
122  GLM_FUNC_DECL tmat2x2<T, P> & operator=(tmat2x2<T, P> const & m);
+
123  template <typename U>
+
124  GLM_FUNC_DECL tmat2x2<T, P> & operator=(tmat2x2<U, P> const & m);
+
125  template <typename U>
+
126  GLM_FUNC_DECL tmat2x2<T, P> & operator+=(U s);
+
127  template <typename U>
+
128  GLM_FUNC_DECL tmat2x2<T, P> & operator+=(tmat2x2<U, P> const & m);
+
129  template <typename U>
+
130  GLM_FUNC_DECL tmat2x2<T, P> & operator-=(U s);
+
131  template <typename U>
+
132  GLM_FUNC_DECL tmat2x2<T, P> & operator-=(tmat2x2<U, P> const & m);
+
133  template <typename U>
+
134  GLM_FUNC_DECL tmat2x2<T, P> & operator*=(U s);
+
135  template <typename U>
+
136  GLM_FUNC_DECL tmat2x2<T, P> & operator*=(tmat2x2<U, P> const & m);
+
137  template <typename U>
+
138  GLM_FUNC_DECL tmat2x2<T, P> & operator/=(U s);
+
139  template <typename U>
+
140  GLM_FUNC_DECL tmat2x2<T, P> & operator/=(tmat2x2<U, P> const & m);
+
141 
+
143  // Increment and decrement operators
+
144 
+
145  GLM_FUNC_DECL tmat2x2<T, P> & operator++ ();
+
146  GLM_FUNC_DECL tmat2x2<T, P> & operator-- ();
+
147  GLM_FUNC_DECL tmat2x2<T, P> operator++(int);
+
148  GLM_FUNC_DECL tmat2x2<T, P> operator--(int);
+
149  };
+
150 
+
151  template <typename T, precision P>
+
152  GLM_FUNC_DECL tmat2x2<T, P> compute_inverse_mat2(tmat2x2<T, P> const & m);
+
153 
+
154  // Binary operators
+
155  template <typename T, precision P>
+
156  GLM_FUNC_DECL tmat2x2<T, P> operator+ (
+
157  tmat2x2<T, P> const & m,
+
158  T const & s);
+
159 
+
160  template <typename T, precision P>
+
161  GLM_FUNC_DECL tmat2x2<T, P> operator+ (
+
162  T const & s,
+
163  tmat2x2<T, P> const & m);
+
164 
+
165  template <typename T, precision P>
+
166  GLM_FUNC_DECL tmat2x2<T, P> operator+ (
+
167  tmat2x2<T, P> const & m1,
+
168  tmat2x2<T, P> const & m2);
+
169 
+
170  template <typename T, precision P>
+
171  GLM_FUNC_DECL tmat2x2<T, P> operator- (
+
172  tmat2x2<T, P> const & m,
+
173  T const & s);
+
174 
+
175  template <typename T, precision P>
+
176  GLM_FUNC_DECL tmat2x2<T, P> operator- (
+
177  T const & s,
+
178  tmat2x2<T, P> const & m);
+
179 
+
180  template <typename T, precision P>
+
181  GLM_FUNC_DECL tmat2x2<T, P> operator- (
+
182  tmat2x2<T, P> const & m1,
+
183  tmat2x2<T, P> const & m2);
+
184 
+
185  template <typename T, precision P>
+
186  GLM_FUNC_DECL tmat2x2<T, P> operator* (
+
187  tmat2x2<T, P> const & m,
+
188  T const & s);
+
189 
+
190  template <typename T, precision P>
+
191  GLM_FUNC_DECL tmat2x2<T, P> operator* (
+
192  T const & s,
+
193  tmat2x2<T, P> const & m);
+
194 
+
195  template <typename T, precision P>
+
196  GLM_FUNC_DECL typename tmat2x2<T, P>::col_type operator* (
+
197  tmat2x2<T, P> const & m,
+
198  typename tmat2x2<T, P>::row_type const & v);
+
199 
+
200  template <typename T, precision P>
+
201  GLM_FUNC_DECL typename tmat2x2<T, P>::row_type operator* (
+
202  typename tmat2x2<T, P>::col_type const & v,
+
203  tmat2x2<T, P> const & m);
+
204 
+
205  template <typename T, precision P>
+
206  GLM_FUNC_DECL tmat2x2<T, P> operator* (
+
207  tmat2x2<T, P> const & m1,
+
208  tmat2x2<T, P> const & m2);
+
209 
+
210  template <typename T, precision P>
+
211  GLM_FUNC_DECL tmat3x2<T, P> operator* (
+
212  tmat2x2<T, P> const & m1,
+
213  tmat3x2<T, P> const & m2);
+
214 
+
215  template <typename T, precision P>
+
216  GLM_FUNC_DECL tmat4x2<T, P> operator* (
+
217  tmat2x2<T, P> const & m1,
+
218  tmat4x2<T, P> const & m2);
+
219 
+
220  template <typename T, precision P>
+
221  GLM_FUNC_DECL tmat2x2<T, P> operator/ (
+
222  tmat2x2<T, P> const & m,
+
223  T const & s);
+
224 
+
225  template <typename T, precision P>
+
226  GLM_FUNC_DECL tmat2x2<T, P> operator/ (
+
227  T const & s,
+
228  tmat2x2<T, P> const & m);
+
229 
+
230  template <typename T, precision P>
+
231  GLM_FUNC_DECL typename tmat2x2<T, P>::col_type operator/ (
+
232  tmat2x2<T, P> const & m,
+
233  typename tmat2x2<T, P>::row_type const & v);
+
234 
+
235  template <typename T, precision P>
+
236  GLM_FUNC_DECL typename tmat2x2<T, P>::row_type operator/ (
+
237  typename tmat2x2<T, P>::col_type const & v,
+
238  tmat2x2<T, P> const & m);
+
239 
+
240  template <typename T, precision P>
+
241  GLM_FUNC_DECL tmat2x2<T, P> operator/ (
+
242  tmat2x2<T, P> const & m1,
+
243  tmat2x2<T, P> const & m2);
+
244 
+
245  // Unary constant operators
+
246  template <typename T, precision P>
+
247  GLM_FUNC_DECL tmat2x2<T, P> const operator-(
+
248  tmat2x2<T, P> const & m);
+
249 } //namespace detail
+
250 } //namespace glm
+
251 
+
252 #ifndef GLM_EXTERNAL_TEMPLATE
+
253 #include "type_mat2x2.inl"
+
254 #endif
+
255 
+
256 #endif //glm_core_type_mat2x2
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00124.html glm-0.9.5.1/doc/api/a00124.html --- glm-0.9.4.6/doc/api/a00124.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00124.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,84 +0,0 @@ - - - - - -wrap.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
- -
-
wrap.hpp File Reference
-
-
- -

Go to the source code of this file.

- - - - - - - - - - - -

-Functions

template<typename genType >
genType clamp (genType const &Texcoord)
 
template<typename genType >
genType mirrorRepeat (genType const &Texcoord)
 
template<typename genType >
genType repeat (genType const &Texcoord)
 
-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_GTX_wrap

-
Date
2009-11-25 / 2011-06-07
-
Author
Christophe Riccio
-
See Also
GLM Core (dependence)
- -

Definition in file wrap.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00124_source.html glm-0.9.5.1/doc/api/a00124_source.html --- glm-0.9.4.6/doc/api/a00124_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00124_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,120 +1,251 @@ - - - - - -wrap.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
wrap.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 #ifndef GLM_GTX_wrap
-
39 #define GLM_GTX_wrap GLM_VERSION
-
40 
-
41 // Dependency:
-
42 #include "../glm.hpp"
-
43 
-
44 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
45 # pragma message("GLM: GLM_GTX_wrap extension included")
-
46 #endif
-
47 
-
48 namespace glm
-
49 {
-
52 
-
55  template <typename genType>
-
56  genType clamp(genType const & Texcoord);
-
57 
-
60  template <typename genType>
-
61  genType repeat(genType const & Texcoord);
-
62 
-
65  template <typename genType>
-
66  genType mirrorRepeat(genType const & Texcoord);
-
67 
-
69 }// namespace glm
-
70 
-
71 #include "wrap.inl"
-
72 
-
73 #endif//GLM_GTX_wrap
-
- - - - + + + + + + +GLM: type_mat2x3.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_mat2x3.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_mat2x3
+
30 #define glm_core_type_mat2x3
+
31 
+
32 #include "../fwd.hpp"
+
33 #include "type_vec2.hpp"
+
34 #include "type_vec3.hpp"
+
35 #include "type_mat.hpp"
+
36 #include <limits>
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41  template <typename T, precision P>
+
42  struct tmat2x3
+
43  {
+
44  enum ctor{_null};
+
45  typedef T value_type;
+
46  typedef std::size_t size_type;
+
47  typedef tvec3<T, P> col_type;
+
48  typedef tvec2<T, P> row_type;
+
49  typedef tmat2x3<T, P> type;
+
50  typedef tmat3x2<T, P> transpose_type;
+
51 
+
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
53 
+
54  private:
+
55  // Data
+
56  col_type value[2];
+
57 
+
58  public:
+
59  // Constructors
+
60  GLM_FUNC_DECL tmat2x3();
+
61  GLM_FUNC_DECL tmat2x3(tmat2x3<T, P> const & m);
+
62  template <precision Q>
+
63  GLM_FUNC_DECL tmat2x3(tmat2x3<T, Q> const & m);
+
64 
+
65  GLM_FUNC_DECL explicit tmat2x3(
+
66  ctor);
+
67  GLM_FUNC_DECL explicit tmat2x3(
+
68  T const & s);
+
69  GLM_FUNC_DECL explicit tmat2x3(
+
70  T const & x0, T const & y0, T const & z0,
+
71  T const & x1, T const & y1, T const & z1);
+
72  GLM_FUNC_DECL explicit tmat2x3(
+
73  col_type const & v0,
+
74  col_type const & v1);
+
75 
+
76 #if(GLM_HAS_INITIALIZER_LISTS)
+
77  template <typename U>
+
78  GLM_FUNC_DECL tmat2x3(std::initializer_list<U> m);
+
79 
+
80  GLM_FUNC_DECL tmat2x3(std::initializer_list<tvec3<T, P> > m);
+
81 #endif//GLM_HAS_INITIALIZER_LISTS
+
82 
+
84  // Conversions
+
85  template <typename X1, typename Y1, typename Z1, typename X2, typename Y2, typename Z2>
+
86  GLM_FUNC_DECL explicit tmat2x3(
+
87  X1 const & x1, Y1 const & y1, Z1 const & z1,
+
88  X2 const & x2, Y2 const & y2, Z2 const & z2);
+
89 
+
90  template <typename U, typename V>
+
91  GLM_FUNC_DECL explicit tmat2x3(
+
92  tvec3<U, P> const & v1,
+
93  tvec3<V, P> const & v2);
+
94 
+
96  // Matrix conversion
+
97  template <typename U, precision Q>
+
98  GLM_FUNC_DECL explicit tmat2x3(tmat2x3<U, Q> const & m);
+
99 
+
100  GLM_FUNC_DECL explicit tmat2x3(tmat2x2<T, P> const & x);
+
101  GLM_FUNC_DECL explicit tmat2x3(tmat3x3<T, P> const & x);
+
102  GLM_FUNC_DECL explicit tmat2x3(tmat4x4<T, P> const & x);
+
103  GLM_FUNC_DECL explicit tmat2x3(tmat2x4<T, P> const & x);
+
104  GLM_FUNC_DECL explicit tmat2x3(tmat3x2<T, P> const & x);
+
105  GLM_FUNC_DECL explicit tmat2x3(tmat3x4<T, P> const & x);
+
106  GLM_FUNC_DECL explicit tmat2x3(tmat4x2<T, P> const & x);
+
107  GLM_FUNC_DECL explicit tmat2x3(tmat4x3<T, P> const & x);
+
108 
+
109  // Accesses
+
110  GLM_FUNC_DECL col_type & operator[](length_t i);
+
111  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
112 
+
113  // Unary updatable operators
+
114  GLM_FUNC_DECL tmat2x3<T, P> & operator= (tmat2x3<T, P> const & m);
+
115  template <typename U>
+
116  GLM_FUNC_DECL tmat2x3<T, P> & operator= (tmat2x3<U, P> const & m);
+
117  template <typename U>
+
118  GLM_FUNC_DECL tmat2x3<T, P> & operator+= (U s);
+
119  template <typename U>
+
120  GLM_FUNC_DECL tmat2x3<T, P> & operator+= (tmat2x3<U, P> const & m);
+
121  template <typename U>
+
122  GLM_FUNC_DECL tmat2x3<T, P> & operator-= (U s);
+
123  template <typename U>
+
124  GLM_FUNC_DECL tmat2x3<T, P> & operator-= (tmat2x3<U, P> const & m);
+
125  template <typename U>
+
126  GLM_FUNC_DECL tmat2x3<T, P> & operator*= (U s);
+
127  template <typename U>
+
128  GLM_FUNC_DECL tmat2x3<T, P> & operator/= (U s);
+
129 
+
131  // Increment and decrement operators
+
132 
+
133  GLM_FUNC_DECL tmat2x3<T, P> & operator++ ();
+
134  GLM_FUNC_DECL tmat2x3<T, P> & operator-- ();
+
135  GLM_FUNC_DECL tmat2x3<T, P> operator++(int);
+
136  GLM_FUNC_DECL tmat2x3<T, P> operator--(int);
+
137  };
+
138 
+
139  // Binary operators
+
140 
+
141  template <typename T, precision P>
+
142  GLM_FUNC_DECL tmat2x3<T, P> operator+ (
+
143  tmat2x3<T, P> const & m,
+
144  T const & s);
+
145 
+
146  template <typename T, precision P>
+
147  tmat2x3<T, P> operator+ (
+
148  tmat2x3<T, P> const & m1,
+
149  tmat2x3<T, P> const & m2);
+
150 
+
151  template <typename T, precision P>
+
152  GLM_FUNC_DECL tmat2x3<T, P> operator- (
+
153  tmat2x3<T, P> const & m,
+
154  T const & s);
+
155 
+
156  template <typename T, precision P>
+
157  GLM_FUNC_DECL tmat2x3<T, P> operator- (
+
158  tmat2x3<T, P> const & m1,
+
159  tmat2x3<T, P> const & m2);
+
160 
+
161  template <typename T, precision P>
+
162  GLM_FUNC_DECL tmat2x3<T, P> operator* (
+
163  tmat2x3<T, P> const & m,
+
164  T const & s);
+
165 
+
166  template <typename T, precision P>
+
167  GLM_FUNC_DECL tmat2x3<T, P> operator* (
+
168  T const & s,
+
169  tmat2x3<T, P> const & m);
+
170 
+
171  template <typename T, precision P>
+
172  GLM_FUNC_DECL typename tmat2x3<T, P>::col_type operator* (
+
173  tmat2x3<T, P> const & m,
+
174  typename tmat2x3<T, P>::row_type const & v);
+
175 
+
176  template <typename T, precision P>
+
177  GLM_FUNC_DECL typename tmat2x3<T, P>::row_type operator* (
+
178  typename tmat2x3<T, P>::col_type const & v,
+
179  tmat2x3<T, P> const & m);
+
180 
+
181  template <typename T, precision P>
+
182  GLM_FUNC_DECL tmat2x3<T, P> operator* (
+
183  tmat2x3<T, P> const & m1,
+
184  tmat2x2<T, P> const & m2);
+
185 
+
186  template <typename T, precision P>
+
187  GLM_FUNC_DECL tmat3x3<T, P> operator* (
+
188  tmat2x3<T, P> const & m1,
+
189  tmat3x2<T, P> const & m2);
+
190 
+
191  template <typename T, precision P>
+
192  GLM_FUNC_DECL tmat4x3<T, P> operator* (
+
193  tmat2x3<T, P> const & m1,
+
194  tmat4x2<T, P> const & m2);
+
195 
+
196  template <typename T, precision P>
+
197  GLM_FUNC_DECL tmat2x3<T, P> operator/ (
+
198  tmat2x3<T, P> const & m,
+
199  T const & s);
+
200 
+
201  template <typename T, precision P>
+
202  GLM_FUNC_DECL tmat2x3<T, P> operator/ (
+
203  T const & s,
+
204  tmat2x3<T, P> const & m);
+
205 
+
206  // Unary constant operators
+
207  template <typename T, precision P>
+
208  GLM_FUNC_DECL tmat2x3<T, P> const operator- (
+
209  tmat2x3<T, P> const & m);
+
210 
+
211 }//namespace detail
+
212 }//namespace glm
+
213 
+
214 #ifndef GLM_EXTERNAL_TEMPLATE
+
215 #include "type_mat2x3.inl"
+
216 #endif
+
217 
+
218 #endif //glm_core_type_mat2x3
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00125.html glm-0.9.5.1/doc/api/a00125.html --- glm-0.9.4.6/doc/api/a00125.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00125.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ - - - - - -xstream.hpp File Reference - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
xstream.hpp File Reference
-
-
- -

Go to the source code of this file.

-

Detailed Description

-

OpenGL Mathematics (glm.g-truc.net)

-

Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net) 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.

-

GLM_VIRTREV_xstream: xml like output

-
Date
2008-05-24 / 2008-05-26
-
Author
Mathieu Roumillac (matrem84.free.fr)
-
See Also
GLM Core (dependence)
-
-GLM_GTC_matrix_access (dependence)
- -

Definition in file xstream.hpp.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00125_source.html glm-0.9.5.1/doc/api/a00125_source.html --- glm-0.9.4.6/doc/api/a00125_source.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00125_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,222 +1,253 @@ - - - - - -xstream.hpp Source File - - - - - - -
-
- - - - - - -
-
- - - - - -
-
-
-
xstream.hpp
-
-
-Go to the documentation of this file.
1 
-
2 
-
3 
-
4 
-
5 
-
6 
-
7 
-
8 
-
9 
-
10 
-
11 
-
12 
-
13 
-
14 
-
15 
-
16 
-
17 
-
18 
-
19 
-
20 
-
21 
-
22 
-
23 
-
24 
-
25 
-
26 
-
27 
-
28 
-
29 
-
30 
-
31 
-
32 
-
33 
-
34 
-
35 
-
36 
-
37 
-
38 
-
39 #ifndef GLM_VIRTREV_xstream
-
40 #define GLM_VIRTREV_xstream GLM_VERSION
-
41 
-
42 #include "../glm.hpp"
-
43 #include "../gtc/matrix_access.hpp"
-
44 #include <iostream>
-
45 
-
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
-
47 # pragma message("GLM: GLM_VIRTREV_xstream extension included")
-
48 #endif
-
49 /*
-
50 namespace glm{
-
51 namespace detail
-
52 {
-
53  template<typename T>
-
54  std::ostream & operator << (std::ostream & stream, glm::detail::tvec2<T> const & vec)
-
55  {
-
56  stream << "<glm_vec2 ";
-
57  stream << "x=\"" << vec.x << "\" ";
-
58  stream << "y=\"" << vec.y << "\" ";
-
59  stream << "/>";
-
60 
-
61  return stream;
-
62  }
-
63 
-
64  template<typename T>
-
65  std::ostream & operator << (std::ostream & stream, glm::detail::tvec3<T> const & vec)
-
66  {
-
67  stream << "<glm_vec3 ";
-
68  stream << "x=\"" << vec.x << "\" ";
-
69  stream << "y=\"" << vec.y << "\" ";
-
70  stream << "z=\"" << vec.z << "\" ";
-
71  stream << "/>";
-
72 
-
73  return stream;
-
74  }
-
75 
-
76  template<typename T>
-
77  std::ostream & operator << (std::ostream & stream, glm::detail::tvec4<T> const & vec)
-
78  {
-
79  stream << "<glm_vec4 ";
-
80  stream << "x=\"" << vec.x << "\" ";
-
81  stream << "y=\"" << vec.y << "\" ";
-
82  stream << "z=\"" << vec.z << "\" ";
-
83  stream << "w=\"" << vec.w << "\" ";
-
84  stream << "/>";
-
85 
-
86  return stream;
-
87  }
-
88 
-
89  template<typename T>
-
90  std::ostream & operator << (std::ostream & stream, glm::detail::tmat2x2<T> const & mat)
-
91  {
-
92  stream << "<glm_mat2>" << std::endl;
-
93  stream << "<row ";
-
94  stream << "x=\"" << glm::row(mat, 0)[0] << "\" ";
-
95  stream << "y=\"" << glm::row(mat, 0)[1] << "\" ";
-
96  stream << "/>" << std::endl;
-
97  stream << "<row ";
-
98  stream << "x=\"" << glm::row(mat, 1)[0] << "\" ";
-
99  stream << "y=\"" << glm::row(mat, 1)[1] << "\" ";
-
100  stream << "/>" << std::endl;
-
101  stream << "</glm_mat2>";
-
102 
-
103  return stream;
-
104  }
-
105 
-
106  template<typename T>
-
107  std::ostream & operator << (std::ostream & stream, glm::detail::tmat3x3<T> const & mat)
-
108  {
-
109  stream << "<glm_mat3>" << std::endl;
-
110  stream << "<row ";
-
111  stream << "x=\"" << glm::row(mat, 0)[0] << "\" ";
-
112  stream << "y=\"" << glm::row(mat, 0)[1] << "\" ";
-
113  stream << "z=\"" << glm::row(mat, 0)[2] << "\" ";
-
114  stream << "/>" << std::endl;
-
115  stream << "<row ";
-
116  stream << "x=\"" << glm::row(mat, 1)[0] << "\" ";
-
117  stream << "y=\"" << glm::row(mat, 1)[1] << "\" ";
-
118  stream << "z=\"" << glm::row(mat, 1)[2] << "\" ";
-
119  stream << "/>" << std::endl;
-
120  stream << "<row ";
-
121  stream << "x=\"" << glm::row(mat, 2)[0] << "\" ";
-
122  stream << "y=\"" << glm::row(mat, 2)[1] << "\" ";
-
123  stream << "z=\"" << glm::row(mat, 2)[2] << "\" ";
-
124  stream << "/>" << std::endl;
-
125  stream << "</glm_mat3>";
-
126 
-
127  return stream;
-
128  }
-
129 
-
130  template<typename T>
-
131  std::ostream & operator << (std::ostream & stream, glm::detail::tmat4x4<T> const & mat)
-
132  {
-
133  stream << "<glm_mat4>" << std::endl;
-
134  stream << "<row ";
-
135  stream << "x=\"" << glm::row(mat, 0)[0] << "\" ";
-
136  stream << "y=\"" << glm::row(mat, 0)[1] << "\" ";
-
137  stream << "z=\"" << glm::row(mat, 0)[2] << "\" ";
-
138  stream << "w=\"" << glm::row(mat, 0)[3] << "\" ";
-
139  stream << "/>" << std::endl;
-
140  stream << "<row ";
-
141  stream << "x=\"" << glm::row(mat, 1)[0] << "\" ";
-
142  stream << "y=\"" << glm::row(mat, 1)[1] << "\" ";
-
143  stream << "z=\"" << glm::row(mat, 1)[2] << "\" ";
-
144  stream << "w=\"" << glm::row(mat, 1)[3] << "\" ";
-
145  stream << "/>" << std::endl;
-
146  stream << "<row ";
-
147  stream << "x=\"" << glm::row(mat, 2)[0] << "\" ";
-
148  stream << "y=\"" << glm::row(mat, 2)[1] << "\" ";
-
149  stream << "z=\"" << glm::row(mat, 2)[2] << "\" ";
-
150  stream << "w=\"" << glm::row(mat, 2)[3] << "\" ";
-
151  stream << "/>" << std::endl;
-
152  stream << "<row ";
-
153  stream << "x=\"" << glm::row(mat, 3)[0] << "\" ";
-
154  stream << "y=\"" << glm::row(mat, 3)[1] << "\" ";
-
155  stream << "z=\"" << glm::row(mat, 3)[2] << "\" ";
-
156  stream << "w=\"" << glm::row(mat, 3)[3] << "\" ";
-
157  stream << "/>" << std::endl;
-
158  stream << "</glm_mat4>";
-
159 
-
160  return stream;
-
161  }
-
162 
-
163 }//namespace detail
-
164 }//namespace glm
-
165 */
-
166 #endif//GLM_VIRTREV_xstream
-
- - - - + + + + + + +GLM: type_mat2x4.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_mat2x4.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_mat2x4
+
30 #define glm_core_type_mat2x4
+
31 
+
32 #include "../fwd.hpp"
+
33 #include "type_vec2.hpp"
+
34 #include "type_vec4.hpp"
+
35 #include "type_mat.hpp"
+
36 #include <limits>
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41  template <typename T, precision P>
+
42  struct tmat2x4
+
43  {
+
44  enum ctor{_null};
+
45  typedef T value_type;
+
46  typedef std::size_t size_type;
+
47  typedef tvec4<T, P> col_type;
+
48  typedef tvec2<T, P> row_type;
+
49  typedef tmat2x4<T, P> type;
+
50  typedef tmat4x2<T, P> transpose_type;
+
51 
+
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
53 
+
54  private:
+
55  // Data
+
56  col_type value[2];
+
57 
+
58  public:
+
59  // Constructors
+
60  GLM_FUNC_DECL tmat2x4();
+
61  GLM_FUNC_DECL tmat2x4(tmat2x4<T, P> const & m);
+
62  template <precision Q>
+
63  GLM_FUNC_DECL tmat2x4(tmat2x4<T, Q> const & m);
+
64 
+
65  GLM_FUNC_DECL explicit tmat2x4(
+
66  ctor);
+
67  GLM_FUNC_DECL explicit tmat2x4(
+
68  T const & s);
+
69  GLM_FUNC_DECL explicit tmat2x4(
+
70  T const & x0, T const & y0, T const & z0, T const & w0,
+
71  T const & x1, T const & y1, T const & z1, T const & w1);
+
72  GLM_FUNC_DECL explicit tmat2x4(
+
73  col_type const & v0,
+
74  col_type const & v1);
+
75 
+
76 #if(GLM_HAS_INITIALIZER_LISTS)
+
77  template <typename U>
+
78  GLM_FUNC_DECL tmat2x4(std::initializer_list<U> m);
+
79 
+
80  GLM_FUNC_DECL tmat2x4(std::initializer_list<tvec4<T, P> > m);
+
81 #endif//GLM_HAS_INITIALIZER_LISTS
+
82 
+
84  // Conversions
+
85  template <
+
86  typename X1, typename Y1, typename Z1, typename W1,
+
87  typename X2, typename Y2, typename Z2, typename W2>
+
88  GLM_FUNC_DECL explicit tmat2x4(
+
89  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
+
90  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2);
+
91 
+
92  template <typename U, typename V>
+
93  GLM_FUNC_DECL explicit tmat2x4(
+
94  tvec4<U, P> const & v1,
+
95  tvec4<V, P> const & v2);
+
96 
+
98  // Matrix conversions
+
99  template <typename U, precision Q>
+
100  GLM_FUNC_DECL explicit tmat2x4(tmat2x4<U, Q> const & m);
+
101 
+
102  GLM_FUNC_DECL explicit tmat2x4(tmat2x2<T, P> const & x);
+
103  GLM_FUNC_DECL explicit tmat2x4(tmat3x3<T, P> const & x);
+
104  GLM_FUNC_DECL explicit tmat2x4(tmat4x4<T, P> const & x);
+
105  GLM_FUNC_DECL explicit tmat2x4(tmat2x3<T, P> const & x);
+
106  GLM_FUNC_DECL explicit tmat2x4(tmat3x2<T, P> const & x);
+
107  GLM_FUNC_DECL explicit tmat2x4(tmat3x4<T, P> const & x);
+
108  GLM_FUNC_DECL explicit tmat2x4(tmat4x2<T, P> const & x);
+
109  GLM_FUNC_DECL explicit tmat2x4(tmat4x3<T, P> const & x);
+
110 
+
111  // Accesses
+
112  GLM_FUNC_DECL col_type & operator[](length_t i);
+
113  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
114 
+
115  // Unary updatable operators
+
116  GLM_FUNC_DECL tmat2x4<T, P>& operator= (tmat2x4<T, P> const & m);
+
117  template <typename U>
+
118  GLM_FUNC_DECL tmat2x4<T, P>& operator= (tmat2x4<U, P> const & m);
+
119  template <typename U>
+
120  GLM_FUNC_DECL tmat2x4<T, P>& operator+= (U s);
+
121  template <typename U>
+
122  GLM_FUNC_DECL tmat2x4<T, P>& operator+= (tmat2x4<U, P> const & m);
+
123  template <typename U>
+
124  GLM_FUNC_DECL tmat2x4<T, P>& operator-= (U s);
+
125  template <typename U>
+
126  GLM_FUNC_DECL tmat2x4<T, P>& operator-= (tmat2x4<U, P> const & m);
+
127  template <typename U>
+
128  GLM_FUNC_DECL tmat2x4<T, P>& operator*= (U s);
+
129  template <typename U>
+
130  GLM_FUNC_DECL tmat2x4<T, P>& operator/= (U s);
+
131 
+
133  // Increment and decrement operators
+
134 
+
135  GLM_FUNC_DECL tmat2x4<T, P> & operator++ ();
+
136  GLM_FUNC_DECL tmat2x4<T, P> & operator-- ();
+
137  GLM_FUNC_DECL tmat2x4<T, P> operator++(int);
+
138  GLM_FUNC_DECL tmat2x4<T, P> operator--(int);
+
139  };
+
140 
+
141  // Binary operators
+
142 
+
143  template <typename T, precision P>
+
144  GLM_FUNC_DECL tmat2x4<T, P> operator+ (
+
145  tmat2x4<T, P> const & m,
+
146  T const & s);
+
147 
+
148  template <typename T, precision P>
+
149  GLM_FUNC_DECL tmat2x4<T, P> operator+ (
+
150  tmat2x4<T, P> const & m1,
+
151  tmat2x4<T, P> const & m2);
+
152 
+
153  template <typename T, precision P>
+
154  GLM_FUNC_DECL tmat2x4<T, P> operator- (
+
155  tmat2x4<T, P> const & m,
+
156  T const & s);
+
157 
+
158  template <typename T, precision P>
+
159  GLM_FUNC_DECL tmat2x4<T, P> operator- (
+
160  tmat2x4<T, P> const & m1,
+
161  tmat2x4<T, P> const & m2);
+
162 
+
163  template <typename T, precision P>
+
164  GLM_FUNC_DECL tmat2x4<T, P> operator* (
+
165  tmat2x4<T, P> const & m,
+
166  T const & s);
+
167 
+
168  template <typename T, precision P>
+
169  GLM_FUNC_DECL tmat2x4<T, P> operator* (
+
170  T const & s,
+
171  tmat2x4<T, P> const & m);
+
172 
+
173  template <typename T, precision P>
+
174  GLM_FUNC_DECL typename tmat2x4<T, P>::col_type operator* (
+
175  tmat2x4<T, P> const & m,
+
176  typename tmat2x4<T, P>::row_type const & v);
+
177 
+
178  template <typename T, precision P>
+
179  GLM_FUNC_DECL typename tmat2x4<T, P>::row_type operator* (
+
180  typename tmat2x4<T, P>::col_type const & v,
+
181  tmat2x4<T, P> const & m);
+
182 
+
183  template <typename T, precision P>
+
184  GLM_FUNC_DECL tmat4x4<T, P> operator* (
+
185  tmat2x4<T, P> const & m1,
+
186  tmat4x2<T, P> const & m2);
+
187 
+
188  template <typename T, precision P>
+
189  GLM_FUNC_DECL tmat2x4<T, P> operator* (
+
190  tmat2x4<T, P> const & m1,
+
191  tmat2x2<T, P> const & m2);
+
192 
+
193  template <typename T, precision P>
+
194  GLM_FUNC_DECL tmat3x4<T, P> operator* (
+
195  tmat2x4<T, P> const & m1,
+
196  tmat3x2<T, P> const & m2);
+
197 
+
198  template <typename T, precision P>
+
199  GLM_FUNC_DECL tmat2x4<T, P> operator/ (
+
200  tmat2x4<T, P> const & m,
+
201  T const & s);
+
202 
+
203  template <typename T, precision P>
+
204  GLM_FUNC_DECL tmat2x4<T, P> operator/ (
+
205  T const & s,
+
206  tmat2x4<T, P> const & m);
+
207 
+
208  // Unary constant operators
+
209  template <typename T, precision P>
+
210  GLM_FUNC_DECL tmat2x4<T, P> const operator- (
+
211  tmat2x4<T, P> const & m);
+
212 
+
213 }//namespace detail
+
214 }//namespace glm
+
215 
+
216 #ifndef GLM_EXTERNAL_TEMPLATE
+
217 #include "type_mat2x4.inl"
+
218 #endif
+
219 
+
220 #endif //glm_core_type_mat2x4
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00126_source.html glm-0.9.5.1/doc/api/a00126_source.html --- glm-0.9.4.6/doc/api/a00126_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00126_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,257 @@ + + + + + + +GLM: type_mat3x2.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_mat3x2.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_mat3x2
+
30 #define glm_core_type_mat3x2
+
31 
+
32 #include "../fwd.hpp"
+
33 #include "type_vec2.hpp"
+
34 #include "type_vec3.hpp"
+
35 #include "type_mat.hpp"
+
36 #include <limits>
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41  template <typename T, precision P>
+
42  struct tmat3x2
+
43  {
+
44  enum ctor{_null};
+
45  typedef T value_type;
+
46  typedef std::size_t size_type;
+
47  typedef tvec2<T, P> col_type;
+
48  typedef tvec3<T, P> row_type;
+
49  typedef tmat3x2<T, P> type;
+
50  typedef tmat2x3<T, P> transpose_type;
+
51 
+
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
53 
+
54  private:
+
55  // Data
+
56  col_type value[3];
+
57 
+
58  public:
+
59  // Constructors
+
60  GLM_FUNC_DECL tmat3x2();
+
61  GLM_FUNC_DECL tmat3x2(tmat3x2<T, P> const & m);
+
62  template <precision Q>
+
63  GLM_FUNC_DECL tmat3x2(tmat3x2<T, Q> const & m);
+
64 
+
65  GLM_FUNC_DECL explicit tmat3x2(
+
66  ctor);
+
67  GLM_FUNC_DECL explicit tmat3x2(
+
68  T const & s);
+
69  GLM_FUNC_DECL explicit tmat3x2(
+
70  T const & x0, T const & y0,
+
71  T const & x1, T const & y1,
+
72  T const & x2, T const & y2);
+
73  GLM_FUNC_DECL explicit tmat3x2(
+
74  col_type const & v0,
+
75  col_type const & v1,
+
76  col_type const & v2);
+
77 
+
78 #if(GLM_HAS_INITIALIZER_LISTS)
+
79  template <typename U>
+
80  GLM_FUNC_DECL tmat3x2(std::initializer_list<U> l);
+
81 
+
82  GLM_FUNC_DECL tmat3x2(std::initializer_list<tvec2<T, P> > l);
+
83 #endif//GLM_HAS_INITIALIZER_LISTS
+
84 
+
86  // Conversions
+
87  template<
+
88  typename X1, typename Y1,
+
89  typename X2, typename Y2,
+
90  typename X3, typename Y3>
+
91  GLM_FUNC_DECL explicit tmat3x2(
+
92  X1 const & x1, Y1 const & y1,
+
93  X2 const & x2, Y2 const & y2,
+
94  X3 const & x3, Y3 const & y3);
+
95 
+
96  template <typename V1, typename V2, typename V3>
+
97  GLM_FUNC_DECL explicit tmat3x2(
+
98  tvec2<V1, P> const & v1,
+
99  tvec2<V2, P> const & v2,
+
100  tvec2<V3, P> const & v3);
+
101 
+
102  // Matrix conversions
+
103  template <typename U, precision Q>
+
104  GLM_FUNC_DECL explicit tmat3x2(tmat3x2<U, Q> const & m);
+
105 
+
106  GLM_FUNC_DECL explicit tmat3x2(tmat2x2<T, P> const & x);
+
107  GLM_FUNC_DECL explicit tmat3x2(tmat3x3<T, P> const & x);
+
108  GLM_FUNC_DECL explicit tmat3x2(tmat4x4<T, P> const & x);
+
109  GLM_FUNC_DECL explicit tmat3x2(tmat2x3<T, P> const & x);
+
110  GLM_FUNC_DECL explicit tmat3x2(tmat2x4<T, P> const & x);
+
111  GLM_FUNC_DECL explicit tmat3x2(tmat3x4<T, P> const & x);
+
112  GLM_FUNC_DECL explicit tmat3x2(tmat4x2<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat3x2(tmat4x3<T, P> const & x);
+
114 
+
115  // Accesses
+
116  GLM_FUNC_DECL col_type & operator[](length_t i);
+
117  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
118 
+
119  // Unary updatable operators
+
120  GLM_FUNC_DECL tmat3x2<T, P> & operator= (tmat3x2<T, P> const & m);
+
121  template <typename U>
+
122  GLM_FUNC_DECL tmat3x2<T, P> & operator= (tmat3x2<U, P> const & m);
+
123  template <typename U>
+
124  GLM_FUNC_DECL tmat3x2<T, P> & operator+= (U s);
+
125  template <typename U>
+
126  GLM_FUNC_DECL tmat3x2<T, P> & operator+= (tmat3x2<U, P> const & m);
+
127  template <typename U>
+
128  GLM_FUNC_DECL tmat3x2<T, P> & operator-= (U s);
+
129  template <typename U>
+
130  GLM_FUNC_DECL tmat3x2<T, P> & operator-= (tmat3x2<U, P> const & m);
+
131  template <typename U>
+
132  GLM_FUNC_DECL tmat3x2<T, P> & operator*= (U s);
+
133  template <typename U>
+
134  GLM_FUNC_DECL tmat3x2<T, P> & operator/= (U s);
+
135 
+
137  // Increment and decrement operators
+
138 
+
139  GLM_FUNC_DECL tmat3x2<T, P> & operator++ ();
+
140  GLM_FUNC_DECL tmat3x2<T, P> & operator-- ();
+
141  GLM_FUNC_DECL tmat3x2<T, P> operator++(int);
+
142  GLM_FUNC_DECL tmat3x2<T, P> operator--(int);
+
143  };
+
144 
+
145  // Binary operators
+
146  template <typename T, precision P>
+
147  GLM_FUNC_DECL tmat3x2<T, P> operator+ (
+
148  tmat3x2<T, P> const & m,
+
149  T const & s);
+
150 
+
151  template <typename T, precision P>
+
152  GLM_FUNC_DECL tmat3x2<T, P> operator+ (
+
153  tmat3x2<T, P> const & m1,
+
154  tmat3x2<T, P> const & m2);
+
155 
+
156  template <typename T, precision P>
+
157  GLM_FUNC_DECL tmat3x2<T, P> operator- (
+
158  tmat3x2<T, P> const & m,
+
159  T const & s);
+
160 
+
161  template <typename T, precision P>
+
162  GLM_FUNC_DECL tmat3x2<T, P> operator- (
+
163  tmat3x2<T, P> const & m1,
+
164  tmat3x2<T, P> const & m2);
+
165 
+
166  template <typename T, precision P>
+
167  GLM_FUNC_DECL tmat3x2<T, P> operator* (
+
168  tmat3x2<T, P> const & m,
+
169  T const & s);
+
170 
+
171  template <typename T, precision P>
+
172  GLM_FUNC_DECL tmat3x2<T, P> operator* (
+
173  T const & s,
+
174  tmat3x2<T, P> const & m);
+
175 
+
176  template <typename T, precision P>
+
177  GLM_FUNC_DECL typename tmat3x2<T, P>::col_type operator* (
+
178  tmat3x2<T, P> const & m,
+
179  typename tmat3x2<T, P>::row_type const & v);
+
180 
+
181  template <typename T, precision P>
+
182  GLM_FUNC_DECL typename tmat3x2<T, P>::row_type operator* (
+
183  typename tmat3x2<T, P>::col_type const & v,
+
184  tmat3x2<T, P> const & m);
+
185 
+
186  template <typename T, precision P>
+
187  GLM_FUNC_DECL tmat2x2<T, P> operator* (
+
188  tmat3x2<T, P> const & m1,
+
189  tmat2x3<T, P> const & m2);
+
190 
+
191  template <typename T, precision P>
+
192  GLM_FUNC_DECL tmat3x2<T, P> operator* (
+
193  tmat3x2<T, P> const & m1,
+
194  tmat3x3<T, P> const & m2);
+
195 
+
196  template <typename T, precision P>
+
197  GLM_FUNC_DECL tmat4x2<T, P> operator* (
+
198  tmat3x2<T, P> const & m1,
+
199  tmat4x3<T, P> const & m2);
+
200 
+
201  template <typename T, precision P>
+
202  GLM_FUNC_DECL tmat3x2<T, P> operator/ (
+
203  tmat3x2<T, P> const & m,
+
204  T const & s);
+
205 
+
206  template <typename T, precision P>
+
207  GLM_FUNC_DECL tmat3x2<T, P> operator/ (
+
208  T const & s,
+
209  tmat3x2<T, P> const & m);
+
210 
+
211  // Unary constant operators
+
212  template <typename T, precision P>
+
213  GLM_FUNC_DECL tmat3x2<T, P> const operator-(
+
214  tmat3x2<T, P> const & m);
+
215 
+
216 }//namespace detail
+
217 }//namespace glm
+
218 
+
219 #ifndef GLM_EXTERNAL_TEMPLATE
+
220 #include "type_mat3x2.inl"
+
221 #endif
+
222 
+
223 #endif //glm_core_type_mat3x2
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00127_source.html glm-0.9.5.1/doc/api/a00127_source.html --- glm-0.9.4.6/doc/api/a00127_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00127_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,292 @@ + + + + + + +GLM: type_mat3x3.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_mat3x3.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_mat3x3
+
30 #define glm_core_type_mat3x3
+
31 
+
32 #include "../fwd.hpp"
+
33 #include "type_vec3.hpp"
+
34 #include "type_mat.hpp"
+
35 #include <limits>
+
36 
+
37 namespace glm{
+
38 namespace detail
+
39 {
+
40  template <typename T, precision P>
+
41  struct tmat3x3
+
42  {
+
43  enum ctor{_null};
+
44  typedef T value_type;
+
45  typedef std::size_t size_type;
+
46  typedef tvec3<T, P> col_type;
+
47  typedef tvec3<T, P> row_type;
+
48  typedef tmat3x3<T, P> type;
+
49  typedef tmat3x3<T, P> transpose_type;
+
50 
+
51  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
52 
+
53  template <typename U, precision Q>
+
54  friend tvec3<U, Q> operator/(tmat3x3<U, Q> const & m, tvec3<U, Q> const & v);
+
55  template <typename U, precision Q>
+
56  friend tvec3<U, Q> operator/(tvec3<U, Q> const & v, tmat3x3<U, Q> const & m);
+
57 
+
58  private:
+
60  col_type value[3];
+
62 
+
63  public:
+
64  // Constructors
+
65  GLM_FUNC_DECL tmat3x3();
+
66  GLM_FUNC_DECL tmat3x3(tmat3x3<T, P> const & m);
+
67  template <precision Q>
+
68  GLM_FUNC_DECL tmat3x3(tmat3x3<T, Q> const & m);
+
69 
+
70  GLM_FUNC_DECL explicit tmat3x3(
+
71  ctor Null);
+
72  GLM_FUNC_DECL explicit tmat3x3(
+
73  T const & s);
+
74  GLM_FUNC_DECL explicit tmat3x3(
+
75  T const & x0, T const & y0, T const & z0,
+
76  T const & x1, T const & y1, T const & z1,
+
77  T const & x2, T const & y2, T const & z2);
+
78  GLM_FUNC_DECL explicit tmat3x3(
+
79  col_type const & v0,
+
80  col_type const & v1,
+
81  col_type const & v2);
+
82 
+
83 #if(GLM_HAS_INITIALIZER_LISTS)
+
84  template <typename U>
+
85  GLM_FUNC_DECL tmat3x3(std::initializer_list<U> m);
+
86 
+
87  GLM_FUNC_DECL tmat3x3(std::initializer_list<tvec3<T, P> > m);
+
88 #endif//GLM_HAS_INITIALIZER_LISTS
+
89 
+
91  // Conversions
+
92  template<
+
93  typename X1, typename Y1, typename Z1,
+
94  typename X2, typename Y2, typename Z2,
+
95  typename X3, typename Y3, typename Z3>
+
96  GLM_FUNC_DECL explicit tmat3x3(
+
97  X1 const & x1, Y1 const & y1, Z1 const & z1,
+
98  X2 const & x2, Y2 const & y2, Z2 const & z2,
+
99  X3 const & x3, Y3 const & y3, Z3 const & z3);
+
100 
+
101  template <typename V1, typename V2, typename V3>
+
102  GLM_FUNC_DECL explicit tmat3x3(
+
103  tvec3<V1, P> const & v1,
+
104  tvec3<V2, P> const & v2,
+
105  tvec3<V3, P> const & v3);
+
106 
+
107  // Matrix conversions
+
108  template <typename U, precision Q>
+
109  GLM_FUNC_DECL explicit tmat3x3(tmat3x3<U, Q> const & m);
+
110 
+
111  GLM_FUNC_DECL explicit tmat3x3(tmat2x2<T, P> const & x);
+
112  GLM_FUNC_DECL explicit tmat3x3(tmat4x4<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat3x3(tmat2x3<T, P> const & x);
+
114  GLM_FUNC_DECL explicit tmat3x3(tmat3x2<T, P> const & x);
+
115  GLM_FUNC_DECL explicit tmat3x3(tmat2x4<T, P> const & x);
+
116  GLM_FUNC_DECL explicit tmat3x3(tmat4x2<T, P> const & x);
+
117  GLM_FUNC_DECL explicit tmat3x3(tmat3x4<T, P> const & x);
+
118  GLM_FUNC_DECL explicit tmat3x3(tmat4x3<T, P> const & x);
+
119 
+
120  // Accesses
+
121  GLM_FUNC_DECL col_type & operator[](length_t i);
+
122  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
123 
+
124  // Unary updatable operators
+
125  GLM_FUNC_DECL tmat3x3<T, P>& operator= (tmat3x3<T, P> const & m);
+
126  template <typename U>
+
127  GLM_FUNC_DECL tmat3x3<T, P>& operator= (tmat3x3<U, P> const & m);
+
128  template <typename U>
+
129  GLM_FUNC_DECL tmat3x3<T, P>& operator+= (U s);
+
130  template <typename U>
+
131  GLM_FUNC_DECL tmat3x3<T, P>& operator+= (tmat3x3<U, P> const & m);
+
132  template <typename U>
+
133  GLM_FUNC_DECL tmat3x3<T, P>& operator-= (U s);
+
134  template <typename U>
+
135  GLM_FUNC_DECL tmat3x3<T, P>& operator-= (tmat3x3<U, P> const & m);
+
136  template <typename U>
+
137  GLM_FUNC_DECL tmat3x3<T, P>& operator*= (U s);
+
138  template <typename U>
+
139  GLM_FUNC_DECL tmat3x3<T, P>& operator*= (tmat3x3<U, P> const & m);
+
140  template <typename U>
+
141  GLM_FUNC_DECL tmat3x3<T, P>& operator/= (U s);
+
142  template <typename U>
+
143  GLM_FUNC_DECL tmat3x3<T, P>& operator/= (tmat3x3<U, P> const & m);
+
144 
+
146  // Increment and decrement operators
+
147 
+
148  GLM_FUNC_DECL tmat3x3<T, P> & operator++ ();
+
149  GLM_FUNC_DECL tmat3x3<T, P> & operator-- ();
+
150  GLM_FUNC_DECL tmat3x3<T, P> operator++(int);
+
151  GLM_FUNC_DECL tmat3x3<T, P> operator--(int);
+
152  };
+
153 
+
154  template <typename T, precision P>
+
155  GLM_FUNC_DECL tmat3x3<T, P> compute_inverse_mat3(tmat3x3<T, P> const & m);
+
156 
+
157  // Binary operators
+
158  template <typename T, precision P>
+
159  GLM_FUNC_DECL tmat3x3<T, P> operator+ (
+
160  tmat3x3<T, P> const & m,
+
161  T const & s);
+
162 
+
163  template <typename T, precision P>
+
164  GLM_FUNC_DECL tmat3x3<T, P> operator+ (
+
165  T const & s,
+
166  tmat3x3<T, P> const & m);
+
167 
+
168  template <typename T, precision P>
+
169  GLM_FUNC_DECL tmat3x3<T, P> operator+ (
+
170  tmat3x3<T, P> const & m1,
+
171  tmat3x3<T, P> const & m2);
+
172 
+
173  template <typename T, precision P>
+
174  GLM_FUNC_DECL tmat3x3<T, P> operator- (
+
175  tmat3x3<T, P> const & m,
+
176  T const & s);
+
177 
+
178  template <typename T, precision P>
+
179  GLM_FUNC_DECL tmat3x3<T, P> operator- (
+
180  T const & s,
+
181  tmat3x3<T, P> const & m);
+
182 
+
183  template <typename T, precision P>
+
184  GLM_FUNC_DECL tmat3x3<T, P> operator- (
+
185  tmat3x3<T, P> const & m1,
+
186  tmat3x3<T, P> const & m2);
+
187 
+
188  template <typename T, precision P>
+
189  GLM_FUNC_DECL tmat3x3<T, P> operator* (
+
190  tmat3x3<T, P> const & m,
+
191  T const & s);
+
192 
+
193  template <typename T, precision P>
+
194  GLM_FUNC_DECL tmat3x3<T, P> operator* (
+
195  T const & s,
+
196  tmat3x3<T, P> const & m);
+
197 
+
198  template <typename T, precision P>
+
199  GLM_FUNC_DECL typename tmat3x3<T, P>::col_type operator* (
+
200  tmat3x3<T, P> const & m,
+
201  typename tmat3x3<T, P>::row_type const & v);
+
202 
+
203  template <typename T, precision P>
+
204  GLM_FUNC_DECL typename tmat3x3<T, P>::row_type operator* (
+
205  typename tmat3x3<T, P>::col_type const & v,
+
206  tmat3x3<T, P> const & m);
+
207 
+
208  template <typename T, precision P>
+
209  GLM_FUNC_DECL tmat3x3<T, P> operator* (
+
210  tmat3x3<T, P> const & m1,
+
211  tmat3x3<T, P> const & m2);
+
212 
+
213  template <typename T, precision P>
+
214  GLM_FUNC_DECL tmat2x3<T, P> operator* (
+
215  tmat3x3<T, P> const & m1,
+
216  tmat2x3<T, P> const & m2);
+
217 
+
218  template <typename T, precision P>
+
219  GLM_FUNC_DECL tmat4x3<T, P> operator* (
+
220  tmat3x3<T, P> const & m1,
+
221  tmat4x3<T, P> const & m2);
+
222 
+
223  template <typename T, precision P>
+
224  GLM_FUNC_DECL tmat3x3<T, P> operator/ (
+
225  tmat3x3<T, P> const & m,
+
226  T const & s);
+
227 
+
228  template <typename T, precision P>
+
229  GLM_FUNC_DECL tmat3x3<T, P> operator/ (
+
230  T const & s,
+
231  tmat3x3<T, P> const & m);
+
232 
+
233  template <typename T, precision P>
+
234  GLM_FUNC_DECL typename tmat3x3<T, P>::col_type operator/ (
+
235  tmat3x3<T, P> const & m,
+
236  typename tmat3x3<T, P>::row_type const & v);
+
237 
+
238  template <typename T, precision P>
+
239  GLM_FUNC_DECL typename tmat3x3<T, P>::row_type operator/ (
+
240  typename tmat3x3<T, P>::col_type const & v,
+
241  tmat3x3<T, P> const & m);
+
242 
+
243  template <typename T, precision P>
+
244  GLM_FUNC_DECL tmat3x3<T, P> operator/ (
+
245  tmat3x3<T, P> const & m1,
+
246  tmat3x3<T, P> const & m2);
+
247 
+
248  // Unary constant operators
+
249  template <typename T, precision P>
+
250  GLM_FUNC_DECL tmat3x3<T, P> const operator-(
+
251  tmat3x3<T, P> const & m);
+
252 
+
253 }//namespace detail
+
254 }//namespace glm
+
255 
+
256 #ifndef GLM_EXTERNAL_TEMPLATE
+
257 #include "type_mat3x3.inl"
+
258 #endif
+
259 
+
260 #endif //glm_core_type_mat3x3
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00128_source.html glm-0.9.5.1/doc/api/a00128_source.html --- glm-0.9.4.6/doc/api/a00128_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00128_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,257 @@ + + + + + + +GLM: type_mat3x4.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_mat3x4.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_mat3x4
+
30 #define glm_core_type_mat3x4
+
31 
+
32 #include "../fwd.hpp"
+
33 #include "type_vec3.hpp"
+
34 #include "type_vec4.hpp"
+
35 #include "type_mat.hpp"
+
36 #include <limits>
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41  template <typename T, precision P>
+
42  struct tmat3x4
+
43  {
+
44  enum ctor{_null};
+
45  typedef T value_type;
+
46  typedef std::size_t size_type;
+
47  typedef tvec4<T, P> col_type;
+
48  typedef tvec3<T, P> row_type;
+
49  typedef tmat3x4<T, P> type;
+
50  typedef tmat4x3<T, P> transpose_type;
+
51 
+
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
53 
+
54  private:
+
55  // Data
+
56  col_type value[3];
+
57 
+
58  public:
+
59  // Constructors
+
60  GLM_FUNC_DECL tmat3x4();
+
61  GLM_FUNC_DECL tmat3x4(tmat3x4<T, P> const & m);
+
62  template <precision Q>
+
63  GLM_FUNC_DECL tmat3x4(tmat3x4<T, Q> const & m);
+
64 
+
65  GLM_FUNC_DECL explicit tmat3x4(
+
66  ctor Null);
+
67  GLM_FUNC_DECL explicit tmat3x4(
+
68  T const & s);
+
69  GLM_FUNC_DECL explicit tmat3x4(
+
70  T const & x0, T const & y0, T const & z0, T const & w0,
+
71  T const & x1, T const & y1, T const & z1, T const & w1,
+
72  T const & x2, T const & y2, T const & z2, T const & w2);
+
73  GLM_FUNC_DECL explicit tmat3x4(
+
74  col_type const & v0,
+
75  col_type const & v1,
+
76  col_type const & v2);
+
77 
+
78 #if(GLM_HAS_INITIALIZER_LISTS)
+
79  template <typename U>
+
80  GLM_FUNC_DECL tmat3x4(std::initializer_list<U> m);
+
81 
+
82  GLM_FUNC_DECL tmat3x4(std::initializer_list<tvec4<T, P> > m);
+
83 #endif//GLM_HAS_INITIALIZER_LISTS
+
84 
+
86  // Conversions
+
87  template<
+
88  typename X1, typename Y1, typename Z1, typename W1,
+
89  typename X2, typename Y2, typename Z2, typename W2,
+
90  typename X3, typename Y3, typename Z3, typename W3>
+
91  GLM_FUNC_DECL explicit tmat3x4(
+
92  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
+
93  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
+
94  X3 const & x3, Y3 const & y3, Z3 const & z3, W3 const & w3);
+
95 
+
96  template <typename V1, typename V2, typename V3>
+
97  GLM_FUNC_DECL explicit tmat3x4(
+
98  tvec4<V1, P> const & v1,
+
99  tvec4<V2, P> const & v2,
+
100  tvec4<V3, P> const & v3);
+
101 
+
102  // Matrix conversion
+
103  template <typename U, precision Q>
+
104  GLM_FUNC_DECL explicit tmat3x4(tmat3x4<U, Q> const & m);
+
105 
+
106  GLM_FUNC_DECL explicit tmat3x4(tmat2x2<T, P> const & x);
+
107  GLM_FUNC_DECL explicit tmat3x4(tmat3x3<T, P> const & x);
+
108  GLM_FUNC_DECL explicit tmat3x4(tmat4x4<T, P> const & x);
+
109  GLM_FUNC_DECL explicit tmat3x4(tmat2x3<T, P> const & x);
+
110  GLM_FUNC_DECL explicit tmat3x4(tmat3x2<T, P> const & x);
+
111  GLM_FUNC_DECL explicit tmat3x4(tmat2x4<T, P> const & x);
+
112  GLM_FUNC_DECL explicit tmat3x4(tmat4x2<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat3x4(tmat4x3<T, P> const & x);
+
114 
+
115  // Accesses
+
116  GLM_FUNC_DECL col_type & operator[](length_t i);
+
117  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
118 
+
119  // Unary updatable operators
+
120  GLM_FUNC_DECL tmat3x4<T, P> & operator= (tmat3x4<T, P> const & m);
+
121  template <typename U>
+
122  GLM_FUNC_DECL tmat3x4<T, P> & operator= (tmat3x4<U, P> const & m);
+
123  template <typename U>
+
124  GLM_FUNC_DECL tmat3x4<T, P> & operator+= (U s);
+
125  template <typename U>
+
126  GLM_FUNC_DECL tmat3x4<T, P> & operator+= (tmat3x4<U, P> const & m);
+
127  template <typename U>
+
128  GLM_FUNC_DECL tmat3x4<T, P> & operator-= (U s);
+
129  template <typename U>
+
130  GLM_FUNC_DECL tmat3x4<T, P> & operator-= (tmat3x4<U, P> const & m);
+
131  template <typename U>
+
132  GLM_FUNC_DECL tmat3x4<T, P> & operator*= (U s);
+
133  template <typename U>
+
134  GLM_FUNC_DECL tmat3x4<T, P> & operator/= (U s);
+
135 
+
137  // Increment and decrement operators
+
138 
+
139  GLM_FUNC_DECL tmat3x4<T, P> & operator++ ();
+
140  GLM_FUNC_DECL tmat3x4<T, P> & operator-- ();
+
141  GLM_FUNC_DECL tmat3x4<T, P> operator++(int);
+
142  GLM_FUNC_DECL tmat3x4<T, P> operator--(int);
+
143  };
+
144 
+
145  // Binary operators
+
146  template <typename T, precision P>
+
147  GLM_FUNC_DECL tmat3x4<T, P> operator+ (
+
148  tmat3x4<T, P> const & m,
+
149  T const & s);
+
150 
+
151  template <typename T, precision P>
+
152  GLM_FUNC_DECL tmat3x4<T, P> operator+ (
+
153  tmat3x4<T, P> const & m1,
+
154  tmat3x4<T, P> const & m2);
+
155 
+
156  template <typename T, precision P>
+
157  GLM_FUNC_DECL tmat3x4<T, P> operator- (
+
158  tmat3x4<T, P> const & m,
+
159  T const & s);
+
160 
+
161  template <typename T, precision P>
+
162  GLM_FUNC_DECL tmat3x4<T, P> operator- (
+
163  tmat3x4<T, P> const & m1,
+
164  tmat3x4<T, P> const & m2);
+
165 
+
166  template <typename T, precision P>
+
167  GLM_FUNC_DECL tmat3x4<T, P> operator* (
+
168  tmat3x4<T, P> const & m,
+
169  T const & s);
+
170 
+
171  template <typename T, precision P>
+
172  GLM_FUNC_DECL tmat3x4<T, P> operator* (
+
173  T const & s,
+
174  tmat3x4<T, P> const & m);
+
175 
+
176  template <typename T, precision P>
+
177  GLM_FUNC_DECL typename tmat3x4<T, P>::col_type operator* (
+
178  tmat3x4<T, P> const & m,
+
179  typename tmat3x4<T, P>::row_type const & v);
+
180 
+
181  template <typename T, precision P>
+
182  GLM_FUNC_DECL typename tmat3x4<T, P>::row_type operator* (
+
183  typename tmat3x4<T, P>::col_type const & v,
+
184  tmat3x4<T, P> const & m);
+
185 
+
186  template <typename T, precision P>
+
187  GLM_FUNC_DECL tmat4x4<T, P> operator* (
+
188  tmat3x4<T, P> const & m1,
+
189  tmat4x3<T, P> const & m2);
+
190 
+
191  template <typename T, precision P>
+
192  GLM_FUNC_DECL tmat2x4<T, P> operator* (
+
193  tmat3x4<T, P> const & m1,
+
194  tmat2x3<T, P> const & m2);
+
195 
+
196  template <typename T, precision P>
+
197  GLM_FUNC_DECL tmat3x4<T, P> operator* (
+
198  tmat3x4<T, P> const & m1,
+
199  tmat3x3<T, P> const & m2);
+
200 
+
201  template <typename T, precision P>
+
202  GLM_FUNC_DECL tmat3x4<T, P> operator/ (
+
203  tmat3x4<T, P> const & m,
+
204  T const & s);
+
205 
+
206  template <typename T, precision P>
+
207  GLM_FUNC_DECL tmat3x4<T, P> operator/ (
+
208  T const & s,
+
209  tmat3x4<T, P> const & m);
+
210 
+
211  // Unary constant operators
+
212  template <typename T, precision P>
+
213  GLM_FUNC_DECL tmat3x4<T, P> const operator-(
+
214  tmat3x4<T, P> const & m);
+
215 
+
216 }//namespace detail
+
217 }//namespace glm
+
218 
+
219 #ifndef GLM_EXTERNAL_TEMPLATE
+
220 #include "type_mat3x4.inl"
+
221 #endif
+
222 
+
223 #endif //glm_core_type_mat3x4
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00129.html glm-0.9.5.1/doc/api/a00129.html --- glm-0.9.4.6/doc/api/a00129.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00129.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,1025 +0,0 @@ - - - - - -Common functions - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
Common functions
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType abs (genType const &x)
 
template<typename genType >
genType ceil (genType const &x)
 
template<typename genType >
genType clamp (genType const &x, genType const &minVal, genType const &maxVal)
 
template<typename genType , typename genIType >
genIType floatBitsToInt (genType const &value)
 
template<typename genType , typename genUType >
genUType floatBitsToUint (genType const &value)
 
template<typename genType >
genType floor (genType const &x)
 
template<typename genType >
genType fma (genType const &a, genType const &b, genType const &c)
 
template<typename genType >
genType fract (genType const &x)
 
template<typename genType , typename genIType >
genType frexp (genType const &x, genIType &exp)
 
template<typename genType , typename genIType >
genType intBitsToFloat (genIType const &value)
 
template<typename genType >
genType::bool_type isinf (genType const &x)
 
template<typename genType >
genType::bool_type isnan (genType const &x)
 
template<typename genType , typename genIType >
genType ldexp (genType const &x, genIType const &exp)
 
template<typename genType >
genType max (genType const &x, genType const &y)
 
template<typename genType >
genType min (genType const &x, genType const &y)
 
template<typename genTypeT , typename genTypeU >
genTypeT mix (genTypeT const &x, genTypeT const &y, genTypeU const &a)
 
template<typename genType >
genType mod (genType const &x, genType const &y)
 
template<typename genType >
genType mod (genType const &x, typename genType::value_type const &y)
 
template<typename genType >
genType modf (genType const &x, genType &i)
 
template<typename genType >
genType round (genType const &x)
 
template<typename genType >
genType roundEven (genType const &x)
 
template<typename genType >
genType sign (genType const &x)
 
template<typename genType >
genType smoothstep (genType const &edge0, genType const &edge1, genType const &x)
 
template<typename genType >
genType step (genType const &edge, genType const &x)
 
template<typename genType >
genType trunc (genType const &x)
 
template<typename genType , typename genUType >
genType uintBitsToFloat (genUType const &value)
 
-

Detailed Description

-

These all operate component-wise.

-

The description is per component.

-

Function Documentation

- -
-
- - - - - - - - -
genType glm::abs (genType const & x)
-
- -

Returns x if x >= 0; otherwise, it returns -x.

-
Template Parameters
- - -
genTypefloating-point or signed integer; scalar or vector types.
-
-
-
See Also
GLSL abs man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
genType glm::ceil (genType const & x)
-
- -

Returns a value equal to the nearest integer that is greater than or equal to x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL ceil man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType glm::clamp (genType const & x,
genType const & minVal,
genType const & maxVal 
)
-
- -

Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.

-
Template Parameters
- - -
genTypeFloating-point or integer; scalar or vector types.
-
-
-
See Also
GLSL clamp man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -

Referenced by glm::saturate().

- -
-
- -
-
- - - - - - - - -
genIType glm::floatBitsToInt (genType const & value)
-
- -

Returns a signed integer value representing the encoding of a floating-point value.

-

The floatingpoint value's bit-level representation is preserved.

-
Template Parameters
- - - -
genTypeSingle-precision floating-point scalar or vector types.
genITypeSigned integer scalar or vector types.
-
-
-
See Also
GLSL floatBitsToInt man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
genUType glm::floatBitsToUint (genType const & value)
-
- -

Returns a unsigned integer value representing the encoding of a floating-point value.

-

The floatingpoint value's bit-level representation is preserved.

-
Template Parameters
- - - -
genTypeSingle-precision floating-point scalar or vector types.
genUTypeUnsigned integer scalar or vector types.
-
-
-
See Also
GLSL floatBitsToUint man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
genType glm::floor (genType const & x)
-
- -

Returns a value equal to the nearest integer that is less then or equal to x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL floor man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType glm::fma (genType const & a,
genType const & b,
genType const & c 
)
-
- -

Computes and returns a * b + c.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL fma man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
genType glm::fract (genType const & x)
-
- -

Return x - floor(x).

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL fract man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::frexp (genType const & x,
genIType & exp 
)
-
- -

Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent)

-

The significand is returned by the function and the exponent is returned in the parameter exp. For a floating-point value of zero, the significant and exponent are both zero. For a floating-point value that is an infinity or is not a number, the results are undefined.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL frexp man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
genType glm::intBitsToFloat (genIType const & value)
-
- -

Returns a floating-point value corresponding to a signed integer encoding of a floating-point value.

-

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

-
Template Parameters
- - - -
genTypeSingle-precision floating-point scalar or vector types.
genITypeSigned integer scalar or vector types.
-
-
-
See Also
GLSL intBitsToFloat man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
-
Todo:
Clarify this declaration, we don't need to actually specify the return type
- -
-
- -
-
- - - - - - - - -
genType::bool_type glm::isinf (genType const & x)
-
- -

Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations.

-

Returns false otherwise, including for implementations with no infinity representations.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL isinf man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
genType::bool_type glm::isnan (genType const & x)
-
- -

Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations.

-

Returns false otherwise, including for implementations with no NaN representations.

-

/!\ When using compiler fast math, this function may fail.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL isnan man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::ldexp (genType const & x,
genIType const & exp 
)
-
- -

Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent)

-

If this product is too large to be represented in the floating-point type, the result is undefined.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL ldexp man page;
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::max (genType const & x,
genType const & y 
)
-
- -

Returns y if x < y; otherwise, it returns x.

-
Template Parameters
- - -
genTypeFloating-point or integer; scalar or vector types.
-
-
-
See Also
GLSL max man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::min (genType const & x,
genType const & y 
)
-
- -

Returns y if y < x; otherwise, it returns x.

-
Template Parameters
- - -
genTypeFloating-point or integer; scalar or vector types.
-
-
-
See Also
GLSL min man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genTypeT glm::mix (genTypeT const & x,
genTypeT const & y,
genTypeU const & a 
)
-
-
Returns
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1].
-
-If genTypeU is a boolean scalar or vector: Selects which vector each returned component comes from. For a component of a that is false, the corresponding component of x is returned. For a component of a that is true, the corresponding component of y is returned. Components of x and y that are not selected are allowed to be invalid floating point values and will have no effect on the results. Thus, this provides different functionality than genType mix(genType x, genType y, genType(a)) where a is a Boolean vector.
-
See Also
GLSL mix man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
-
Parameters
- - - - -
[in]xValue to interpolate.
[in]yValue to interpolate.
[in]aInterpolant.
-
-
-
Template Parameters
- - - -
genTypeTFloating point scalar or vector.
genTypeUFloating point or boolean scalar or vector. It can't be a vector if it is the length of genTypeT.
-
-
-
#include <glm/glm.hpp>
-
...
-
float a;
-
bool b;
- - - - -
...
-
glm::vec4 r = glm::mix(g, h, a); // Interpolate with a floating-point scalar two vectors.
-
glm::vec4 s = glm::mix(g, h, b); // Teturns g or h;
-
glm::dvec3 t = glm::mix(e, f, a); // Types of the third parameter is not required to match with the first and the second.
-
glm::vec4 u = glm::mix(g, h, r); // Interpolations can be perform per component with a vector for the last parameter.
-
-

Referenced by glm::lerp(), and glm::slerp().

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::mod (genType const & x,
genType const & y 
)
-
- -

Modulus.

-

Returns x - y * floor(x / y) for each component in x using the floating point value y.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL mod man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::mod (genType const & x,
typename genType::value_type const & y 
)
-
- -

Modulus.

-

Returns x - y * floor(x / y) for each component in x using the floating point value y.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL mod man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::modf (genType const & x,
genType & i 
)
-
- -

Returns the fractional part of x and sets i to the integer part (as a whole number floating point value).

-

Both the return value and the output parameter will have the same sign as x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL modf man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
genType glm::round (genType const & x)
-
- -

Returns a value equal to the nearest integer to x.

-

The fraction 0.5 will round in a direction chosen by the implementation, presumably the direction that is fastest. This includes the possibility that round(x) returns the same value as roundEven(x) for all values of x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL round man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
genType glm::roundEven (genType const & x)
-
- -

Returns a value equal to the nearest integer to x.

-

A fractional part of 0.5 will round toward the nearest even integer. (Both 3.5 and 4.5 for x will return 4.0.)

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL roundEven man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
-
-New round to even technique
- -
-
- -
-
- - - - - - - - -
genType glm::sign (genType const & x)
-
- -

Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.

-
Template Parameters
- - -
genTypeFloating-point or signed integer; scalar or vector types.
-
-
-
See Also
GLSL sign man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType glm::smoothstep (genType const & edge0,
genType const & edge1,
genType const & x 
)
-
- -

Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1.

-

This is useful in cases where you would want a threshold function with a smooth transition. This is equivalent to: genType t; t = clamp ((x – edge0) / (edge1 – edge0), 0, 1); return t * t * (3 – 2 * t); Results are undefined if edge0 >= edge1.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL smoothstep man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::step (genType const & edge,
genType const & x 
)
-
- -

Returns 0.0 if x < edge, otherwise it returns 1.0.

-
See Also
GLSL step man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
genType glm::trunc (genType const & x)
-
- -

Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL trunc man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
- -
-
- -
-
- - - - - - - - -
genType glm::uintBitsToFloat (genUType const & value)
-
- -

Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value.

-

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

-
Template Parameters
- - - -
genTypeSingle-precision floating-point scalar or vector types.
genUTypeUnsigned integer scalar or vector types.
-
-
-
See Also
GLSL uintBitsToFloat man page
-
-GLSL 4.20.8 specification, section 8.3 Common Functions
-
Todo:
Clarify this declaration, we don't need to actually specify the return type
- -
-
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00129_source.html glm-0.9.5.1/doc/api/a00129_source.html --- glm-0.9.4.6/doc/api/a00129_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00129_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,263 @@ + + + + + + +GLM: type_mat4x2.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_mat4x2.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_mat4x2
+
30 #define glm_core_type_mat4x2
+
31 
+
32 #include "../fwd.hpp"
+
33 #include "type_vec2.hpp"
+
34 #include "type_vec4.hpp"
+
35 #include "type_mat.hpp"
+
36 #include <limits>
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41  template <typename T, precision P>
+
42  struct tmat4x2
+
43  {
+
44  enum ctor{_null};
+
45  typedef T value_type;
+
46  typedef std::size_t size_type;
+
47  typedef tvec2<T, P> col_type;
+
48  typedef tvec4<T, P> row_type;
+
49  typedef tmat4x2<T, P> type;
+
50  typedef tmat2x4<T, P> transpose_type;
+
51 
+
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
53 
+
54  private:
+
55  // Data
+
56  col_type value[4];
+
57 
+
58  public:
+
59  // Constructors
+
60  GLM_FUNC_DECL tmat4x2();
+
61  GLM_FUNC_DECL tmat4x2(tmat4x2<T, P> const & m);
+
62  template <precision Q>
+
63  GLM_FUNC_DECL tmat4x2(tmat4x2<T, Q> const & m);
+
64 
+
65  GLM_FUNC_DECL explicit tmat4x2(
+
66  ctor Null);
+
67  GLM_FUNC_DECL explicit tmat4x2(
+
68  T const & x);
+
69  GLM_FUNC_DECL explicit tmat4x2(
+
70  T const & x0, T const & y0,
+
71  T const & x1, T const & y1,
+
72  T const & x2, T const & y2,
+
73  T const & x3, T const & y3);
+
74  GLM_FUNC_DECL explicit tmat4x2(
+
75  col_type const & v0,
+
76  col_type const & v1,
+
77  col_type const & v2,
+
78  col_type const & v3);
+
79 
+
80 #if(GLM_HAS_INITIALIZER_LISTS)
+
81  template <typename U>
+
82  GLM_FUNC_DECL tmat4x2(std::initializer_list<U> m);
+
83 
+
84  GLM_FUNC_DECL tmat4x2(std::initializer_list<tvec2<T, P> > m);
+
85 #endif//GLM_HAS_INITIALIZER_LISTS
+
86 
+
88  // Conversions
+
89 
+
90  template<
+
91  typename X1, typename Y1,
+
92  typename X2, typename Y2,
+
93  typename X3, typename Y3,
+
94  typename X4, typename Y4>
+
95  GLM_FUNC_DECL explicit tmat4x2(
+
96  X1 const & x1, Y1 const & y1,
+
97  X2 const & x2, Y2 const & y2,
+
98  X3 const & x3, Y3 const & y3,
+
99  X4 const & x4, Y4 const & y4);
+
100 
+
101  template <typename V1, typename V2, typename V3, typename V4>
+
102  GLM_FUNC_DECL explicit tmat4x2(
+
103  tvec2<V1, P> const & v1,
+
104  tvec2<V2, P> const & v2,
+
105  tvec2<V3, P> const & v3,
+
106  tvec2<V4, P> const & v4);
+
107 
+
108  // Matrix conversions
+
109  template <typename U, precision Q>
+
110  GLM_FUNC_DECL explicit tmat4x2(tmat4x2<U, Q> const & m);
+
111 
+
112  GLM_FUNC_DECL explicit tmat4x2(tmat2x2<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat4x2(tmat3x3<T, P> const & x);
+
114  GLM_FUNC_DECL explicit tmat4x2(tmat4x4<T, P> const & x);
+
115  GLM_FUNC_DECL explicit tmat4x2(tmat2x3<T, P> const & x);
+
116  GLM_FUNC_DECL explicit tmat4x2(tmat3x2<T, P> const & x);
+
117  GLM_FUNC_DECL explicit tmat4x2(tmat2x4<T, P> const & x);
+
118  GLM_FUNC_DECL explicit tmat4x2(tmat4x3<T, P> const & x);
+
119  GLM_FUNC_DECL explicit tmat4x2(tmat3x4<T, P> const & x);
+
120 
+
121  // Accesses
+
122  GLM_FUNC_DECL col_type & operator[](length_t i);
+
123  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
124 
+
125  // Unary updatable operators
+
126  GLM_FUNC_DECL tmat4x2<T, P>& operator= (tmat4x2<T, P> const & m);
+
127  template <typename U>
+
128  GLM_FUNC_DECL tmat4x2<T, P>& operator= (tmat4x2<U, P> const & m);
+
129  template <typename U>
+
130  GLM_FUNC_DECL tmat4x2<T, P>& operator+= (U s);
+
131  template <typename U>
+
132  GLM_FUNC_DECL tmat4x2<T, P>& operator+= (tmat4x2<U, P> const & m);
+
133  template <typename U>
+
134  GLM_FUNC_DECL tmat4x2<T, P>& operator-= (U s);
+
135  template <typename U>
+
136  GLM_FUNC_DECL tmat4x2<T, P>& operator-= (tmat4x2<U, P> const & m);
+
137  template <typename U>
+
138  GLM_FUNC_DECL tmat4x2<T, P>& operator*= (U s);
+
139  template <typename U>
+
140  GLM_FUNC_DECL tmat4x2<T, P>& operator/= (U s);
+
141 
+
143  // Increment and decrement operators
+
144 
+
145  GLM_FUNC_DECL tmat4x2<T, P> & operator++ ();
+
146  GLM_FUNC_DECL tmat4x2<T, P> & operator-- ();
+
147  GLM_FUNC_DECL tmat4x2<T, P> operator++(int);
+
148  GLM_FUNC_DECL tmat4x2<T, P> operator--(int);
+
149  };
+
150 
+
151  // Binary operators
+
152  template <typename T, precision P>
+
153  GLM_FUNC_DECL tmat4x2<T, P> operator+ (
+
154  tmat4x2<T, P> const & m,
+
155  T const & s);
+
156 
+
157  template <typename T, precision P>
+
158  GLM_FUNC_DECL tmat4x2<T, P> operator+ (
+
159  tmat4x2<T, P> const & m1,
+
160  tmat4x2<T, P> const & m2);
+
161 
+
162  template <typename T, precision P>
+
163  GLM_FUNC_DECL tmat4x2<T, P> operator- (
+
164  tmat4x2<T, P> const & m,
+
165  T const & s);
+
166 
+
167  template <typename T, precision P>
+
168  GLM_FUNC_DECL tmat4x2<T, P> operator- (
+
169  tmat4x2<T, P> const & m1,
+
170  tmat4x2<T, P> const & m2);
+
171 
+
172  template <typename T, precision P>
+
173  GLM_FUNC_DECL tmat4x2<T, P> operator* (
+
174  tmat4x2<T, P> const & m,
+
175  T const & s);
+
176 
+
177  template <typename T, precision P>
+
178  GLM_FUNC_DECL tmat4x2<T, P> operator* (
+
179  T const & s,
+
180  tmat4x2<T, P> const & m);
+
181 
+
182  template <typename T, precision P>
+
183  GLM_FUNC_DECL typename tmat4x2<T, P>::col_type operator* (
+
184  tmat4x2<T, P> const & m,
+
185  typename tmat4x2<T, P>::row_type const & v);
+
186 
+
187  template <typename T, precision P>
+
188  GLM_FUNC_DECL typename tmat4x2<T, P>::row_type operator* (
+
189  typename tmat4x2<T, P>::col_type const & v,
+
190  tmat4x2<T, P> const & m);
+
191 
+
192  template <typename T, precision P>
+
193  GLM_FUNC_DECL tmat3x2<T, P> operator* (
+
194  tmat4x2<T, P> const & m1,
+
195  tmat3x4<T, P> const & m2);
+
196 
+
197  template <typename T, precision P>
+
198  GLM_FUNC_DECL tmat4x2<T, P> operator* (
+
199  tmat4x2<T, P> const & m1,
+
200  tmat4x4<T, P> const & m2);
+
201 
+
202  template <typename T, precision P>
+
203  GLM_FUNC_DECL tmat2x3<T, P> operator* (
+
204  tmat4x3<T, P> const & m1,
+
205  tmat2x4<T, P> const & m2);
+
206 
+
207  template <typename T, precision P>
+
208  GLM_FUNC_DECL tmat4x2<T, P> operator/ (
+
209  tmat4x2<T, P> const & m,
+
210  T const & s);
+
211 
+
212  template <typename T, precision P>
+
213  GLM_FUNC_DECL tmat4x2<T, P> operator/ (
+
214  T const & s,
+
215  tmat4x2<T, P> const & m);
+
216 
+
217  // Unary constant operators
+
218  template <typename T, precision P>
+
219  GLM_FUNC_DECL tmat4x2<T, P> const operator-(
+
220  tmat4x2<T, P> const & m);
+
221 
+
222 }//namespace detail
+
223 }//namespace glm
+
224 
+
225 #ifndef GLM_EXTERNAL_TEMPLATE
+
226 #include "type_mat4x2.inl"
+
227 #endif
+
228 
+
229 #endif //glm_core_type_mat4x2
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00130.html glm-0.9.5.1/doc/api/a00130.html --- glm-0.9.4.6/doc/api/a00130.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00130.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,321 +0,0 @@ - - - - - -Exponential functions - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
Exponential functions
-
-
- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType exp (genType const &x)
 
template<typename genType >
genType exp2 (genType const &x)
 
template<typename genType >
genType inversesqrt (genType const &x)
 
template<typename genType >
genType log (genType const &x)
 
template<typename genType >
genType log2 (genType const &x)
 
template<typename genType >
genType pow (genType const &x, genType const &y)
 
template<typename genType >
genType sqrt (genType const &x)
 
-

Detailed Description

-

These all operate component-wise.

-

The description is per component.

-

Function Documentation

- -
-
- - - - - - - - -
genType glm::exp (genType const & x)
-
- -

Returns the natural exponentiation of x, i.e., e^x.

-
Parameters
- - -
xexp function is defined for input values of x defined in the range (inf-, inf+) in the limit of the type precision.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL exp man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
- -
-
- - - - - - - - -
genType glm::exp2 (genType const & x)
-
- -

Returns 2 raised to the x power.

-
Parameters
- - -
xexp2 function is defined for input values of x defined in the range (inf-, inf+) in the limit of the type precision.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL exp2 man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
- -
-
- - - - - - - - -
genType glm::inversesqrt (genType const & x)
-
- -

Returns the reciprocal of the positive square root of x.

-
Parameters
- - -
xinversesqrt function is defined for input values of x defined in the range [0, inf+) in the limit of the type precision.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL inversesqrt man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
- -
-
- - - - - - - - -
genType glm::log (genType const & x)
-
- -

Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y.

-

Results are undefined if x <= 0.

-
Parameters
- - -
xlog function is defined for input values of x defined in the range (0, inf+) in the limit of the type precision.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL log man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
- -
-
- - - - - - - - -
genType glm::log2 (genType const & x)
-
- -

Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y.

-
Parameters
- - -
xlog2 function is defined for input values of x defined in the range (0, inf+) in the limit of the type precision.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL log2 man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::pow (genType const & x,
genType const & y 
)
-
- -

Returns x raised to the y power.

-
Parameters
- - - -
xpow function is defined for input values of x defined in the range (inf-, inf+) in the limit of the type precision.
y
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL pow man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
- -
-
- - - - - - - - -
genType glm::sqrt (genType const & x)
-
- -

Returns the positive square root of x.

-
Parameters
- - -
xsqrt function is defined for input values of x defined in the range [0, inf+) in the limit of the type precision.
-
-
-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL sqrt man page
-
-GLSL 4.20.8 specification, section 8.2 Exponential Functions
- -
-
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00130_source.html glm-0.9.5.1/doc/api/a00130_source.html --- glm-0.9.4.6/doc/api/a00130_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00130_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,263 @@ + + + + + + +GLM: type_mat4x3.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_mat4x3.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_mat4x3
+
30 #define glm_core_type_mat4x3
+
31 
+
32 #include "../fwd.hpp"
+
33 #include "type_vec3.hpp"
+
34 #include "type_vec4.hpp"
+
35 #include "type_mat.hpp"
+
36 #include <limits>
+
37 
+
38 namespace glm{
+
39 namespace detail
+
40 {
+
41  template <typename T, precision P>
+
42  struct tmat4x3
+
43  {
+
44  enum ctor{_null};
+
45  typedef T value_type;
+
46  typedef std::size_t size_type;
+
47  typedef tvec3<T, P> col_type;
+
48  typedef tvec4<T, P> row_type;
+
49  typedef tmat4x3<T, P> type;
+
50  typedef tmat3x4<T, P> transpose_type;
+
51 
+
52  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
53 
+
54  private:
+
55  // Data
+
56  col_type value[4];
+
57 
+
58  public:
+
59  // Constructors
+
60  GLM_FUNC_DECL tmat4x3();
+
61  GLM_FUNC_DECL tmat4x3(tmat4x3<T, P> const & m);
+
62  template <precision Q>
+
63  GLM_FUNC_DECL tmat4x3(tmat4x3<T, Q> const & m);
+
64 
+
65  GLM_FUNC_DECL explicit tmat4x3(
+
66  ctor Null);
+
67  GLM_FUNC_DECL explicit tmat4x3(
+
68  T const & x);
+
69  GLM_FUNC_DECL explicit tmat4x3(
+
70  T const & x0, T const & y0, T const & z0,
+
71  T const & x1, T const & y1, T const & z1,
+
72  T const & x2, T const & y2, T const & z2,
+
73  T const & x3, T const & y3, T const & z3);
+
74  GLM_FUNC_DECL explicit tmat4x3(
+
75  col_type const & v0,
+
76  col_type const & v1,
+
77  col_type const & v2,
+
78  col_type const & v3);
+
79 
+
80 #if(GLM_HAS_INITIALIZER_LISTS)
+
81  template <typename U>
+
82  GLM_FUNC_DECL tmat4x3(std::initializer_list<U> m);
+
83 
+
84  GLM_FUNC_DECL tmat4x3(std::initializer_list<tvec3<T, P> > m);
+
85 #endif//GLM_HAS_INITIALIZER_LISTS
+
86 
+
88  // Conversions
+
89 
+
90  template <
+
91  typename X1, typename Y1, typename Z1,
+
92  typename X2, typename Y2, typename Z2,
+
93  typename X3, typename Y3, typename Z3,
+
94  typename X4, typename Y4, typename Z4>
+
95  GLM_FUNC_DECL explicit tmat4x3(
+
96  X1 const & x1, Y1 const & y1, Z1 const & z1,
+
97  X2 const & x2, Y2 const & y2, Z2 const & z2,
+
98  X3 const & x3, Y3 const & y3, Z3 const & z3,
+
99  X4 const & x4, Y4 const & y4, Z4 const & z4);
+
100 
+
101  template <typename V1, typename V2, typename V3, typename V4>
+
102  GLM_FUNC_DECL explicit tmat4x3(
+
103  tvec3<V1, P> const & v1,
+
104  tvec3<V2, P> const & v2,
+
105  tvec3<V3, P> const & v3,
+
106  tvec3<V4, P> const & v4);
+
107 
+
108  // Matrix conversions
+
109  template <typename U, precision Q>
+
110  GLM_FUNC_DECL explicit tmat4x3(tmat4x3<U, Q> const & m);
+
111 
+
112  GLM_FUNC_DECL explicit tmat4x3(tmat2x2<T, P> const & x);
+
113  GLM_FUNC_DECL explicit tmat4x3(tmat3x3<T, P> const & x);
+
114  GLM_FUNC_DECL explicit tmat4x3(tmat4x4<T, P> const & x);
+
115  GLM_FUNC_DECL explicit tmat4x3(tmat2x3<T, P> const & x);
+
116  GLM_FUNC_DECL explicit tmat4x3(tmat3x2<T, P> const & x);
+
117  GLM_FUNC_DECL explicit tmat4x3(tmat2x4<T, P> const & x);
+
118  GLM_FUNC_DECL explicit tmat4x3(tmat4x2<T, P> const & x);
+
119  GLM_FUNC_DECL explicit tmat4x3(tmat3x4<T, P> const & x);
+
120 
+
121  // Accesses
+
122  GLM_FUNC_DECL col_type & operator[](size_type i);
+
123  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
+
124 
+
125  // Unary updatable operators
+
126  GLM_FUNC_DECL tmat4x3<T, P> & operator= (tmat4x3<T, P> const & m);
+
127  template <typename U>
+
128  GLM_FUNC_DECL tmat4x3<T, P> & operator= (tmat4x3<U, P> const & m);
+
129  template <typename U>
+
130  GLM_FUNC_DECL tmat4x3<T, P> & operator+= (U s);
+
131  template <typename U>
+
132  GLM_FUNC_DECL tmat4x3<T, P> & operator+= (tmat4x3<U, P> const & m);
+
133  template <typename U>
+
134  GLM_FUNC_DECL tmat4x3<T, P> & operator-= (U s);
+
135  template <typename U>
+
136  GLM_FUNC_DECL tmat4x3<T, P> & operator-= (tmat4x3<U, P> const & m);
+
137  template <typename U>
+
138  GLM_FUNC_DECL tmat4x3<T, P> & operator*= (U s);
+
139  template <typename U>
+
140  GLM_FUNC_DECL tmat4x3<T, P> & operator/= (U s);
+
141 
+
143  // Increment and decrement operators
+
144 
+
145  GLM_FUNC_DECL tmat4x3<T, P> & operator++ ();
+
146  GLM_FUNC_DECL tmat4x3<T, P> & operator-- ();
+
147  GLM_FUNC_DECL tmat4x3<T, P> operator++(int);
+
148  GLM_FUNC_DECL tmat4x3<T, P> operator--(int);
+
149  };
+
150 
+
151  // Binary operators
+
152  template <typename T, precision P>
+
153  GLM_FUNC_DECL tmat4x3<T, P> operator+ (
+
154  tmat4x3<T, P> const & m,
+
155  T const & s);
+
156 
+
157  template <typename T, precision P>
+
158  GLM_FUNC_DECL tmat4x3<T, P> operator+ (
+
159  tmat4x3<T, P> const & m1,
+
160  tmat4x3<T, P> const & m2);
+
161 
+
162  template <typename T, precision P>
+
163  GLM_FUNC_DECL tmat4x3<T, P> operator- (
+
164  tmat4x3<T, P> const & m,
+
165  T const & s);
+
166 
+
167  template <typename T, precision P>
+
168  GLM_FUNC_DECL tmat4x3<T, P> operator- (
+
169  tmat4x3<T, P> const & m1,
+
170  tmat4x3<T, P> const & m2);
+
171 
+
172  template <typename T, precision P>
+
173  GLM_FUNC_DECL tmat4x3<T, P> operator* (
+
174  tmat4x3<T, P> const & m,
+
175  T const & s);
+
176 
+
177  template <typename T, precision P>
+
178  GLM_FUNC_DECL tmat4x3<T, P> operator* (
+
179  T const & s,
+
180  tmat4x3<T, P> const & m);
+
181 
+
182  template <typename T, precision P>
+
183  GLM_FUNC_DECL typename tmat4x3<T, P>::col_type operator* (
+
184  tmat4x3<T, P> const & m,
+
185  typename tmat4x3<T, P>::row_type const & v);
+
186 
+
187  template <typename T, precision P>
+
188  GLM_FUNC_DECL typename tmat4x3<T, P>::row_type operator* (
+
189  typename tmat4x3<T, P>::col_type const & v,
+
190  tmat4x3<T, P> const & m);
+
191 
+
192  template <typename T, precision P>
+
193  GLM_FUNC_DECL tmat2x3<T, P> operator* (
+
194  tmat4x3<T, P> const & m1,
+
195  tmat2x4<T, P> const & m2);
+
196 
+
197  template <typename T, precision P>
+
198  GLM_FUNC_DECL tmat3x3<T, P> operator* (
+
199  tmat4x3<T, P> const & m1,
+
200  tmat3x4<T, P> const & m2);
+
201 
+
202  template <typename T, precision P>
+
203  GLM_FUNC_DECL tmat4x3<T, P> operator* (
+
204  tmat4x3<T, P> const & m1,
+
205  tmat4x4<T, P> const & m2);
+
206 
+
207  template <typename T, precision P>
+
208  GLM_FUNC_DECL tmat4x3<T, P> operator/ (
+
209  tmat4x3<T, P> const & m,
+
210  T const & s);
+
211 
+
212  template <typename T, precision P>
+
213  GLM_FUNC_DECL tmat4x3<T, P> operator/ (
+
214  T const & s,
+
215  tmat4x3<T, P> const & m);
+
216 
+
217  // Unary constant operators
+
218  template <typename T, precision P>
+
219  GLM_FUNC_DECL tmat4x3<T, P> const operator- (
+
220  tmat4x3<T, P> const & m);
+
221 
+
222 }//namespace detail
+
223 }//namespace glm
+
224 
+
225 #ifndef GLM_EXTERNAL_TEMPLATE
+
226 #include "type_mat4x3.inl"
+
227 #endif //GLM_EXTERNAL_TEMPLATE
+
228 
+
229 #endif//glm_core_type_mat4x3
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00131.html glm-0.9.5.1/doc/api/a00131.html --- glm-0.9.4.6/doc/api/a00131.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00131.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,362 +0,0 @@ - - - - - -Geometric functions - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
Geometric functions
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tvec3< valType > cross (detail::tvec3< valType > const &x, detail::tvec3< valType > const &y)
 
template<typename genType >
genType::value_type distance (genType const &p0, genType const &p1)
 
template<typename genType >
genType::value_type dot (genType const &x, genType const &y)
 
template<typename genType >
genType faceforward (genType const &N, genType const &I, genType const &Nref)
 
template<typename genType >
genType::value_type length (genType const &x)
 
template<typename genType >
genType normalize (genType const &x)
 
template<typename genType >
genType reflect (genType const &I, genType const &N)
 
template<typename genType >
genType refract (genType const &I, genType const &N, typename genType::value_type const &eta)
 
-

Detailed Description

-

These operate on vectors as vectors, not component-wise.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<valType> glm::cross (detail::tvec3< valType > const & x,
detail::tvec3< valType > const & y 
)
-
- -

Returns the cross product of x and y.

-
Template Parameters
- - -
valTypeFloating-point scalar types.
-
-
-
See Also
GLSL cross man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType::value_type glm::distance (genType const & p0,
genType const & p1 
)
-
- -

Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).

-
Template Parameters
- - -
genTypeFloating-point vector types.
-
-
-
See Also
GLSL distance man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType::value_type glm::dot (genType const & x,
genType const & y 
)
-
- -

Returns the dot product of x and y, i.e., result = x * y.

-
Template Parameters
- - -
genTypeFloating-point vector types.
-
-
-
See Also
GLSL dot man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType glm::faceforward (genType const & N,
genType const & I,
genType const & Nref 
)
-
- -

If dot(Nref, I) < 0.0, return N, otherwise, return -N.

-
Template Parameters
- - -
genTypeFloating-point vector types.
-
-
-
See Also
GLSL faceforward man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -
-
- -
-
- - - - - - - - -
genType::value_type glm::length (genType const & x)
-
- -

Returns the length of x, i.e., sqrt(x * x).

-
Template Parameters
- - -
genTypeFloating-point vector types.
-
-
-
See Also
GLSL length man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -
-
- -
-
- - - - - - - - -
genType glm::normalize (genType const & x)
-
- -

Returns a vector in the same direction as x but with length of 1.

-
See Also
GLSL normalize man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::reflect (genType const & I,
genType const & N 
)
-
- -

For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N.

-
Template Parameters
- - -
genTypeFloating-point vector types.
-
-
-
See Also
GLSL reflect man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType glm::refract (genType const & I,
genType const & N,
typename genType::value_type const & eta 
)
-
- -

For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector.

-
Template Parameters
- - -
genTypeFloating-point vector types.
-
-
-
See Also
GLSL refract man page
-
-GLSL 4.20.8 specification, section 8.5 Geometric Functions
- -
-
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00131_source.html glm-0.9.5.1/doc/api/a00131_source.html --- glm-0.9.4.6/doc/api/a00131_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00131_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,302 @@ + + + + + + +GLM: type_mat4x4.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_mat4x4.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_mat4x4
+
30 #define glm_core_type_mat4x4
+
31 
+
32 #include "../fwd.hpp"
+
33 #include "type_vec4.hpp"
+
34 #include "type_mat.hpp"
+
35 #if(GLM_HAS_INITIALIZER_LISTS)
+
36 # include <initializer_list>
+
37 #endif //GLM_HAS_INITIALIZER_LISTS
+
38 #include <limits>
+
39 #include <cstddef>
+
40 
+
41 namespace glm{
+
42 namespace detail
+
43 {
+
44  template <typename T, precision P>
+
45  struct tmat4x4
+
46  {
+
47  enum ctor{_null};
+
48  typedef T value_type;
+
49  typedef std::size_t size_type;
+
50  typedef tvec4<T, P> col_type;
+
51  typedef tvec4<T, P> row_type;
+
52  typedef tmat4x4<T, P> type;
+
53  typedef tmat4x4<T, P> transpose_type;
+
54 
+
55  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
56 
+
57  template <typename U, precision Q>
+
58  friend tvec4<U, Q> operator/(tmat4x4<U, Q> const & m, tvec4<U, Q> const & v);
+
59  template <typename U, precision Q>
+
60  friend tvec4<U, Q> operator/(tvec4<U, Q> const & v, tmat4x4<U, Q> const & m);
+
61 
+
62  private:
+
64  col_type value[4];
+
65 
+
66  public:
+
67  // Constructors
+
68  GLM_FUNC_DECL tmat4x4();
+
69  GLM_FUNC_DECL tmat4x4(tmat4x4<T, P> const & m);
+
70  template <precision Q>
+
71  GLM_FUNC_DECL tmat4x4(tmat4x4<T, Q> const & m);
+
72 
+
73  GLM_FUNC_DECL explicit tmat4x4(
+
74  ctor Null);
+
75  GLM_FUNC_DECL explicit tmat4x4(
+
76  T const & x);
+
77  GLM_FUNC_DECL explicit tmat4x4(
+
78  T const & x0, T const & y0, T const & z0, T const & w0,
+
79  T const & x1, T const & y1, T const & z1, T const & w1,
+
80  T const & x2, T const & y2, T const & z2, T const & w2,
+
81  T const & x3, T const & y3, T const & z3, T const & w3);
+
82  GLM_FUNC_DECL explicit tmat4x4(
+
83  col_type const & v0,
+
84  col_type const & v1,
+
85  col_type const & v2,
+
86  col_type const & v3);
+
87 
+
88 #if(GLM_HAS_INITIALIZER_LISTS)
+
89  template <typename U>
+
90  GLM_FUNC_DECL tmat4x4(std::initializer_list<U> m);
+
91 
+
92  GLM_FUNC_DECL tmat4x4(std::initializer_list<tvec4<T, P> > m);
+
93 #endif//GLM_HAS_INITIALIZER_LISTS
+
94 
+
96  // Conversions
+
97 
+
98  template <
+
99  typename X1, typename Y1, typename Z1, typename W1,
+
100  typename X2, typename Y2, typename Z2, typename W2,
+
101  typename X3, typename Y3, typename Z3, typename W3,
+
102  typename X4, typename Y4, typename Z4, typename W4>
+
103  GLM_FUNC_DECL explicit tmat4x4(
+
104  X1 const & x1, Y1 const & y1, Z1 const & z1, W1 const & w1,
+
105  X2 const & x2, Y2 const & y2, Z2 const & z2, W2 const & w2,
+
106  X3 const & x3, Y3 const & y3, Z3 const & z3, W3 const & w3,
+
107  X4 const & x4, Y4 const & y4, Z4 const & z4, W4 const & w4);
+
108 
+
109  template <typename V1, typename V2, typename V3, typename V4>
+
110  GLM_FUNC_DECL explicit tmat4x4(
+
111  tvec4<V1, P> const & v1,
+
112  tvec4<V2, P> const & v2,
+
113  tvec4<V3, P> const & v3,
+
114  tvec4<V4, P> const & v4);
+
115 
+
116  // Matrix conversions
+
117  template <typename U, precision Q>
+
118  GLM_FUNC_DECL explicit tmat4x4(tmat4x4<U, Q> const & m);
+
119 
+
120  GLM_FUNC_DECL explicit tmat4x4(tmat2x2<T, P> const & x);
+
121  GLM_FUNC_DECL explicit tmat4x4(tmat3x3<T, P> const & x);
+
122  GLM_FUNC_DECL explicit tmat4x4(tmat2x3<T, P> const & x);
+
123  GLM_FUNC_DECL explicit tmat4x4(tmat3x2<T, P> const & x);
+
124  GLM_FUNC_DECL explicit tmat4x4(tmat2x4<T, P> const & x);
+
125  GLM_FUNC_DECL explicit tmat4x4(tmat4x2<T, P> const & x);
+
126  GLM_FUNC_DECL explicit tmat4x4(tmat3x4<T, P> const & x);
+
127  GLM_FUNC_DECL explicit tmat4x4(tmat4x3<T, P> const & x);
+
128 
+
129  // Accesses
+
130  GLM_FUNC_DECL col_type & operator[](length_t i);
+
131  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
+
132 
+
133  // Unary updatable operators
+
134  GLM_FUNC_DECL tmat4x4<T, P> & operator= (tmat4x4<T, P> const & m);
+
135  template <typename U>
+
136  GLM_FUNC_DECL tmat4x4<T, P> & operator= (tmat4x4<U, P> const & m);
+
137  template <typename U>
+
138  GLM_FUNC_DECL tmat4x4<T, P> & operator+= (U s);
+
139  template <typename U>
+
140  GLM_FUNC_DECL tmat4x4<T, P> & operator+= (tmat4x4<U, P> const & m);
+
141  template <typename U>
+
142  GLM_FUNC_DECL tmat4x4<T, P> & operator-= (U s);
+
143  template <typename U>
+
144  GLM_FUNC_DECL tmat4x4<T, P> & operator-= (tmat4x4<U, P> const & m);
+
145  template <typename U>
+
146  GLM_FUNC_DECL tmat4x4<T, P> & operator*= (U s);
+
147  template <typename U>
+
148  GLM_FUNC_DECL tmat4x4<T, P> & operator*= (tmat4x4<U, P> const & m);
+
149  template <typename U>
+
150  GLM_FUNC_DECL tmat4x4<T, P> & operator/= (U s);
+
151  template <typename U>
+
152  GLM_FUNC_DECL tmat4x4<T, P> & operator/= (tmat4x4<U, P> const & m);
+
153 
+
155  // Increment and decrement operators
+
156 
+
157  GLM_FUNC_DECL tmat4x4<T, P> & operator++ ();
+
158  GLM_FUNC_DECL tmat4x4<T, P> & operator-- ();
+
159  GLM_FUNC_DECL tmat4x4<T, P> operator++(int);
+
160  GLM_FUNC_DECL tmat4x4<T, P> operator--(int);
+
161  };
+
162 
+
163  template <typename T, precision P>
+
164  GLM_FUNC_DECL tmat4x4<T, P> compute_inverse_mat4(tmat4x4<T, P> const & m);
+
165 
+
166  // Binary operators
+
167  template <typename T, precision P>
+
168  GLM_FUNC_DECL tmat4x4<T, P> operator+ (
+
169  tmat4x4<T, P> const & m,
+
170  T const & s);
+
171 
+
172  template <typename T, precision P>
+
173  GLM_FUNC_DECL tmat4x4<T, P> operator+ (
+
174  T const & s,
+
175  tmat4x4<T, P> const & m);
+
176 
+
177  template <typename T, precision P>
+
178  GLM_FUNC_DECL tmat4x4<T, P> operator+ (
+
179  tmat4x4<T, P> const & m1,
+
180  tmat4x4<T, P> const & m2);
+
181 
+
182  template <typename T, precision P>
+
183  GLM_FUNC_DECL tmat4x4<T, P> operator- (
+
184  tmat4x4<T, P> const & m,
+
185  T const & s);
+
186 
+
187  template <typename T, precision P>
+
188  GLM_FUNC_DECL tmat4x4<T, P> operator- (
+
189  T const & s,
+
190  tmat4x4<T, P> const & m);
+
191 
+
192  template <typename T, precision P>
+
193  GLM_FUNC_DECL tmat4x4<T, P> operator- (
+
194  tmat4x4<T, P> const & m1,
+
195  tmat4x4<T, P> const & m2);
+
196 
+
197  template <typename T, precision P>
+
198  GLM_FUNC_DECL tmat4x4<T, P> operator* (
+
199  tmat4x4<T, P> const & m,
+
200  T const & s);
+
201 
+
202  template <typename T, precision P>
+
203  GLM_FUNC_DECL tmat4x4<T, P> operator* (
+
204  T const & s,
+
205  tmat4x4<T, P> const & m);
+
206 
+
207  template <typename T, precision P>
+
208  GLM_FUNC_DECL typename tmat4x4<T, P>::col_type operator* (
+
209  tmat4x4<T, P> const & m,
+
210  typename tmat4x4<T, P>::row_type const & v);
+
211 
+
212  template <typename T, precision P>
+
213  GLM_FUNC_DECL typename tmat4x4<T, P>::row_type operator* (
+
214  typename tmat4x4<T, P>::col_type const & v,
+
215  tmat4x4<T, P> const & m);
+
216 
+
217  template <typename T, precision P>
+
218  GLM_FUNC_DECL tmat2x4<T, P> operator* (
+
219  tmat4x4<T, P> const & m1,
+
220  tmat2x4<T, P> const & m2);
+
221 
+
222  template <typename T, precision P>
+
223  GLM_FUNC_DECL tmat3x4<T, P> operator* (
+
224  tmat4x4<T, P> const & m1,
+
225  tmat3x4<T, P> const & m2);
+
226 
+
227  template <typename T, precision P>
+
228  GLM_FUNC_DECL tmat4x4<T, P> operator* (
+
229  tmat4x4<T, P> const & m1,
+
230  tmat4x4<T, P> const & m2);
+
231 
+
232  template <typename T, precision P>
+
233  GLM_FUNC_DECL tmat4x4<T, P> operator/ (
+
234  tmat4x4<T, P> const & m,
+
235  T const & s);
+
236 
+
237  template <typename T, precision P>
+
238  GLM_FUNC_DECL tmat4x4<T, P> operator/ (
+
239  T const & s,
+
240  tmat4x4<T, P> const & m);
+
241 
+
242  template <typename T, precision P>
+
243  GLM_FUNC_DECL typename tmat4x4<T, P>::col_type operator/ (
+
244  tmat4x4<T, P> const & m,
+
245  typename tmat4x4<T, P>::row_type const & v);
+
246 
+
247  template <typename T, precision P>
+
248  GLM_FUNC_DECL typename tmat4x4<T, P>::row_type operator/ (
+
249  typename tmat4x4<T, P>::col_type & v,
+
250  tmat4x4<T, P> const & m);
+
251 
+
252  template <typename T, precision P>
+
253  GLM_FUNC_DECL tmat4x4<T, P> operator/ (
+
254  tmat4x4<T, P> const & m1,
+
255  tmat4x4<T, P> const & m2);
+
256 
+
257  // Unary constant operators
+
258  template <typename T, precision P>
+
259  GLM_FUNC_DECL tmat4x4<T, P> const operator- (
+
260  tmat4x4<T, P> const & m);
+
261 
+
262 }//namespace detail
+
263 }//namespace glm
+
264 
+
265 #ifndef GLM_EXTERNAL_TEMPLATE
+
266 #include "type_mat4x4.inl"
+
267 #endif//GLM_EXTERNAL_TEMPLATE
+
268 
+
269 #endif//glm_core_type_mat4x4
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00132.html glm-0.9.5.1/doc/api/a00132.html --- glm-0.9.4.6/doc/api/a00132.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00132.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,484 +1,87 @@ - - - - - -Integer functions - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
Integer functions
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T , template< typename > class genIUType>
genIUType< T >::signed_type bitCount (genIUType< T > const &Value)
 
template<typename genIUType >
genIUType bitfieldExtract (genIUType const &Value, int const &Offset, int const &Bits)
 
template<typename genIUType >
genIUType bitfieldInsert (genIUType const &Base, genIUType const &Insert, int const &Offset, int const &Bits)
 
template<typename genIUType >
genIUType bitfieldReverse (genIUType const &Value)
 
template<typename T , template< typename > class genIUType>
genIUType< T >::signed_type findLSB (genIUType< T > const &Value)
 
template<typename T , template< typename > class genIUType>
genIUType< T >::signed_type findMSB (genIUType< T > const &Value)
 
template<typename genIType >
void imulExtended (genIType const &x, genIType const &y, genIType &msb, genIType &lsb)
 
template<typename genUType >
genUType uaddCarry (genUType const &x, genUType const &y, genUType &carry)
 
template<typename genUType >
void umulExtended (genUType const &x, genUType const &y, genUType &msb, genUType &lsb)
 
template<typename genUType >
genUType usubBorrow (genUType const &x, genUType const &y, genUType &borrow)
 
-

Detailed Description

-

These all operate component-wise.

-

The description is per component. The notation [a, b] means the set of bits from bit-number a through bit-number b, inclusive. The lowest-order bit is bit 0.

-

Function Documentation

- -
-
- - - - - - - - -
genIUType<T>::signed_type glm::bitCount (genIUType< T > const & Value)
-
- -

Returns the number of bits set to 1 in the binary representation of value.

-
Template Parameters
- - -
genIUTypeSigned or unsigned integer scalar or vector types.
-
-
-
See Also
GLSL bitCount man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
-
Todo:
Clarify the declaration to specify that scalars are suported.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genIUType glm::bitfieldExtract (genIUType const & Value,
int const & Offset,
int const & Bits 
)
-
- -

Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of the result.

-

For unsigned data types, the most significant bits of the result will be set to zero. For signed data types, the most significant bits will be set to the value of bit offset + base – 1.

-

If bits is zero, the result will be zero. The result will be undefined if offset or bits is negative, or if the sum of offset and bits is greater than the number of bits used to store the operand.

-
Template Parameters
- - -
genIUTypeSigned or unsigned integer scalar or vector types.
-
-
-
See Also
GLSL bitfieldExtract man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genIUType glm::bitfieldInsert (genIUType const & Base,
genIUType const & Insert,
int const & Offset,
int const & Bits 
)
-
- -

Returns the insertion the bits least-significant bits of insert into base.

-

The result will have bits [offset, offset + bits - 1] taken from bits [0, bits – 1] of insert, and all other bits taken directly from the corresponding bits of base. If bits is zero, the result will simply be base. The result will be undefined if offset or bits is negative, or if the sum of offset and bits is greater than the number of bits used to store the operand.

-
Template Parameters
- - -
genIUTypeSigned or unsigned integer scalar or vector types.
-
-
-
See Also
GLSL bitfieldInsert man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - - - - - - -
genIUType glm::bitfieldReverse (genIUType const & Value)
-
- -

Returns the reversal of the bits of value.

-

The bit numbered n of the result will be taken from bit (bits - 1) - n of value, where bits is the total number of bits used to represent value.

-
Template Parameters
- - -
genIUTypeSigned or unsigned integer scalar or vector types.
-
-
-
See Also
GLSL bitfieldReverse man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - - - - - - -
genIUType<T>::signed_type glm::findLSB (genIUType< T > const & Value)
-
- -

Returns the bit number of the least significant bit set to 1 in the binary representation of value.

-

If value is zero, -1 will be returned.

-
Template Parameters
- - -
genIUTypeSigned or unsigned integer scalar or vector types.
-
-
-
See Also
GLSL findLSB man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
-
Todo:
Clarify the declaration to specify that scalars are suported.
- -
-
- -
-
- - - - - - - - -
genIUType<T>::signed_type glm::findMSB (genIUType< T > const & Value)
-
- -

Returns the bit number of the most significant bit in the binary representation of value.

-

For positive integers, the result will be the bit number of the most significant bit set to 1. For negative integers, the result will be the bit number of the most significant bit set to 0. For a value of zero or negative one, -1 will be returned.

-
Template Parameters
- - -
genIUTypeSigned or unsigned integer scalar or vector types.
-
-
-
See Also
GLSL findMSB man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
-
Todo:
Clarify the declaration to specify that scalars are suported.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void glm::imulExtended (genIType const & x,
genIType const & y,
genIType & msb,
genIType & lsb 
)
-
- -

Multiplies 32-bit integers x and y, producing a 64-bit result.

-

The 32 least-significant bits are returned in lsb. The 32 most-significant bits are returned in msb.

-
Template Parameters
- - -
genITypeSigned integer scalar or vector types.
-
-
-
See Also
GLSL imulExtended man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genUType glm::uaddCarry (genUType const & x,
genUType const & y,
genUType & carry 
)
-
- -

Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).

-

The value carry is set to 0 if the sum was less than pow(2, 32), or to 1 otherwise.

-
Template Parameters
- - -
genUTypeUnsigned integer scalar or vector types.
-
-
-
See Also
GLSL uaddCarry man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void glm::umulExtended (genUType const & x,
genUType const & y,
genUType & msb,
genUType & lsb 
)
-
- -

Multiplies 32-bit integers x and y, producing a 64-bit result.

-

The 32 least-significant bits are returned in lsb. The 32 most-significant bits are returned in msb.

-
Template Parameters
- - -
genUTypeUnsigned integer scalar or vector types.
-
-
-
See Also
GLSL umulExtended man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genUType glm::usubBorrow (genUType const & x,
genUType const & y,
genUType & borrow 
)
-
- -

Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.

-

The value borrow is set to 0 if x >= y, or to 1 otherwise.

-
Template Parameters
- - -
genUTypeUnsigned integer scalar or vector types.
-
-
-
See Also
GLSL usubBorrow man page
-
-GLSL 4.20.8 specification, section 8.8 Integer Functions
- -
-
-
- - - - + + + + + + +GLM: type_precision.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
type_precision.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_type_precision

+
Date
2009-06-04 / 2011-12-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+
+GLM_GTC_quaternion (dependence)
+ +

Definition in file type_precision.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00132_source.html glm-0.9.5.1/doc/api/a00132_source.html --- glm-0.9.4.6/doc/api/a00132_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00132_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,691 @@ + + + + + + +GLM: type_precision.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_precision.hpp
+
+
+Go to the documentation of this file.
1 
+
43 #ifndef GLM_GTC_type_precision
+
44 #define GLM_GTC_type_precision
+
45 
+
46 // Dependency:
+
47 #include "../gtc/quaternion.hpp"
+
48 #include "../vec2.hpp"
+
49 #include "../vec3.hpp"
+
50 #include "../vec4.hpp"
+
51 #include "../mat2x2.hpp"
+
52 #include "../mat2x3.hpp"
+
53 #include "../mat2x4.hpp"
+
54 #include "../mat3x2.hpp"
+
55 #include "../mat3x3.hpp"
+
56 #include "../mat3x4.hpp"
+
57 #include "../mat4x2.hpp"
+
58 #include "../mat4x3.hpp"
+
59 #include "../mat4x4.hpp"
+
60 
+
61 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
62 # pragma message("GLM: GLM_GTC_type_precision extension included")
+
63 #endif
+
64 
+
65 namespace glm
+
66 {
+
68  // Signed int vector types
+
69 
+
72 
+
75  typedef detail::int8 lowp_int8;
+
76 
+
79  typedef detail::int16 lowp_int16;
+
80 
+
83  typedef detail::int32 lowp_int32;
+
84 
+
87  typedef detail::int64 lowp_int64;
+
88 
+
91  typedef detail::int8 lowp_int8_t;
+
92 
+ +
96 
+ +
100 
+
103  typedef detail::int64 lowp_int64_t;
+
104 
+
107  typedef detail::int8 lowp_i8;
+
108 
+
111  typedef detail::int16 lowp_i16;
+
112 
+
115  typedef detail::int32 lowp_i32;
+
116 
+
119  typedef detail::int64 lowp_i64;
+
120 
+
123  typedef detail::int8 mediump_int8;
+
124 
+ +
128 
+ +
132 
+ +
136 
+ +
140 
+ +
144 
+ +
148 
+ +
152 
+
155  typedef detail::int8 mediump_i8;
+
156 
+
159  typedef detail::int16 mediump_i16;
+
160 
+
163  typedef detail::int32 mediump_i32;
+
164 
+
167  typedef detail::int64 mediump_i64;
+
168 
+
171  typedef detail::int8 highp_int8;
+
172 
+
175  typedef detail::int16 highp_int16;
+
176 
+
179  typedef detail::int32 highp_int32;
+
180 
+
183  typedef detail::int64 highp_int64;
+
184 
+
187  typedef detail::int8 highp_int8_t;
+
188 
+ +
192 
+ +
196 
+ +
200 
+
203  typedef detail::int8 highp_i8;
+
204 
+
207  typedef detail::int16 highp_i16;
+
208 
+
211  typedef detail::int32 highp_i32;
+
212 
+
215  typedef detail::int64 highp_i64;
+
216 
+
217 
+
220  typedef detail::int8 int8;
+
221 
+
224  typedef detail::int16 int16;
+
225 
+
228  typedef detail::int32 int32;
+
229 
+
232  typedef detail::int64 int64;
+
233 
+
236  typedef detail::int8 int8_t;
+
237 
+
240  typedef detail::int16 int16_t;
+
241 
+
244  typedef detail::int32 int32_t;
+
245 
+
248  typedef detail::int64 int64_t;
+
249 
+
252  typedef detail::int8 i8;
+
253 
+
256  typedef detail::int16 i16;
+
257 
+
260  typedef detail::int32 i32;
+
261 
+
264  typedef detail::int64 i64;
+
265 
+
266 
+
269  typedef detail::tvec1<i8, defaultp> i8vec1;
+
270 
+
273  typedef detail::tvec2<i8, defaultp> i8vec2;
+
274 
+
277  typedef detail::tvec3<i8, defaultp> i8vec3;
+
278 
+
281  typedef detail::tvec4<i8, defaultp> i8vec4;
+
282 
+
283 
+
286  typedef detail::tvec1<i16, defaultp> i16vec1;
+
287 
+
290  typedef detail::tvec2<i16, defaultp> i16vec2;
+
291 
+
294  typedef detail::tvec3<i16, defaultp> i16vec3;
+
295 
+
298  typedef detail::tvec4<i16, defaultp> i16vec4;
+
299 
+
300 
+
303  typedef detail::tvec1<i32, defaultp> i32vec1;
+
304 
+
307  typedef detail::tvec2<i32, defaultp> i32vec2;
+
308 
+
311  typedef detail::tvec3<i32, defaultp> i32vec3;
+
312 
+
315  typedef detail::tvec4<i32, defaultp> i32vec4;
+
316 
+
317 
+
320  typedef detail::tvec1<i64, defaultp> i64vec1;
+
321 
+
324  typedef detail::tvec2<i64, defaultp> i64vec2;
+
325 
+
328  typedef detail::tvec3<i64, defaultp> i64vec3;
+
329 
+
332  typedef detail::tvec4<i64, defaultp> i64vec4;
+
333 
+
334 
+
336  // Unsigned int vector types
+
337 
+
340  typedef detail::uint8 lowp_uint8;
+
341 
+
344  typedef detail::uint16 lowp_uint16;
+
345 
+
348  typedef detail::uint32 lowp_uint32;
+
349 
+
352  typedef detail::uint64 lowp_uint64;
+
353 
+
356  typedef detail::uint8 lowp_uint8_t;
+
357 
+ +
361 
+ +
365 
+ +
369 
+
372  typedef detail::uint8 lowp_u8;
+
373 
+
376  typedef detail::uint16 lowp_u16;
+
377 
+
380  typedef detail::uint32 lowp_u32;
+
381 
+
384  typedef detail::uint64 lowp_u64;
+
385 
+ +
389 
+ +
393 
+ +
397 
+ +
401 
+ +
405 
+ +
409 
+ +
413 
+ +
417 
+
420  typedef detail::uint8 mediump_u8;
+
421 
+
424  typedef detail::uint16 mediump_u16;
+
425 
+
428  typedef detail::uint32 mediump_u32;
+
429 
+
432  typedef detail::uint64 mediump_u64;
+
433 
+
436  typedef detail::uint8 highp_uint8;
+
437 
+ +
441 
+ +
445 
+ +
449 
+ +
453 
+ +
457 
+ +
461 
+ +
465 
+
468  typedef detail::uint8 highp_u8;
+
469 
+
472  typedef detail::uint16 highp_u16;
+
473 
+
476  typedef detail::uint32 highp_u32;
+
477 
+
480  typedef detail::uint64 highp_u64;
+
481 
+
484  typedef detail::uint8 uint8;
+
485 
+
488  typedef detail::uint16 uint16;
+
489 
+
492  typedef detail::uint32 uint32;
+
493 
+
496  typedef detail::uint64 uint64;
+
497 
+
500  typedef detail::uint8 uint8_t;
+
501 
+
504  typedef detail::uint16 uint16_t;
+
505 
+
508  typedef detail::uint32 uint32_t;
+
509 
+
512  typedef detail::uint64 uint64_t;
+
513 
+
516  typedef detail::uint8 u8;
+
517 
+
520  typedef detail::uint16 u16;
+
521 
+
524  typedef detail::uint32 u32;
+
525 
+
528  typedef detail::uint64 u64;
+
529 
+
530 
+
531 
+
534  typedef detail::tvec1<u8, defaultp> u8vec1;
+
535 
+
538  typedef detail::tvec2<u8, defaultp> u8vec2;
+
539 
+
542  typedef detail::tvec3<u8, defaultp> u8vec3;
+
543 
+
546  typedef detail::tvec4<u8, defaultp> u8vec4;
+
547 
+
548 
+
551  typedef detail::tvec1<u16, defaultp> u16vec1;
+
552 
+
555  typedef detail::tvec2<u16, defaultp> u16vec2;
+
556 
+
559  typedef detail::tvec3<u16, defaultp> u16vec3;
+
560 
+
563  typedef detail::tvec4<u16, defaultp> u16vec4;
+
564 
+
565 
+
568  typedef detail::tvec1<u32, defaultp> u32vec1;
+
569 
+
572  typedef detail::tvec2<u32, defaultp> u32vec2;
+
573 
+
576  typedef detail::tvec3<u32, defaultp> u32vec3;
+
577 
+
580  typedef detail::tvec4<u32, defaultp> u32vec4;
+
581 
+
582 
+
585  typedef detail::tvec1<u64, defaultp> u64vec1;
+
586 
+
589  typedef detail::tvec2<u64, defaultp> u64vec2;
+
590 
+
593  typedef detail::tvec3<u64, defaultp> u64vec3;
+
594 
+
597  typedef detail::tvec4<u64, defaultp> u64vec4;
+
598 
+
599 
+
601  // Float vector types
+
602 
+
605  typedef detail::float32 float32;
+
606 
+
609  typedef detail::float64 float64;
+
610 
+
611 
+
614  typedef detail::float32 float32_t;
+
615 
+
618  typedef detail::float64 float64_t;
+
619 
+
620 
+
623  typedef float32 f32;
+
624 
+
627  typedef float64 f64;
+
628 
+
629 
+
632  typedef detail::tvec1<float, defaultp> fvec1;
+
633 
+
636  typedef detail::tvec2<float, defaultp> fvec2;
+
637 
+
640  typedef detail::tvec3<float, defaultp> fvec3;
+
641 
+
644  typedef detail::tvec4<float, defaultp> fvec4;
+
645 
+
646 
+
649  typedef detail::tvec1<f32, defaultp> f32vec1;
+
650 
+
653  typedef detail::tvec2<f32, defaultp> f32vec2;
+
654 
+
657  typedef detail::tvec3<f32, defaultp> f32vec3;
+
658 
+
661  typedef detail::tvec4<f32, defaultp> f32vec4;
+
662 
+
663 
+
666  typedef detail::tvec1<f64, defaultp> f64vec1;
+
667 
+
670  typedef detail::tvec2<f64, defaultp> f64vec2;
+
671 
+
674  typedef detail::tvec3<f64, defaultp> f64vec3;
+
675 
+
678  typedef detail::tvec4<f64, defaultp> f64vec4;
+
679 
+
680 
+
682  // Float matrix types
+
683 
+
686  //typedef detail::tmat1x1<f32> fmat1;
+
687 
+
690  typedef detail::tmat2x2<f32, defaultp> fmat2;
+
691 
+
694  typedef detail::tmat3x3<f32, defaultp> fmat3;
+
695 
+
698  typedef detail::tmat4x4<f32, defaultp> fmat4;
+
699 
+
700 
+
703  //typedef f32 fmat1x1;
+
704 
+
707  typedef detail::tmat2x2<f32, defaultp> fmat2x2;
+
708 
+
711  typedef detail::tmat2x3<f32, defaultp> fmat2x3;
+
712 
+
715  typedef detail::tmat2x4<f32, defaultp> fmat2x4;
+
716 
+
719  typedef detail::tmat3x2<f32, defaultp> fmat3x2;
+
720 
+
723  typedef detail::tmat3x3<f32, defaultp> fmat3x3;
+
724 
+
727  typedef detail::tmat3x4<f32, defaultp> fmat3x4;
+
728 
+
731  typedef detail::tmat4x2<f32, defaultp> fmat4x2;
+
732 
+
735  typedef detail::tmat4x3<f32, defaultp> fmat4x3;
+
736 
+
739  typedef detail::tmat4x4<f32, defaultp> fmat4x4;
+
740 
+
741 
+
744  //typedef detail::tmat1x1<f32, defaultp> f32mat1;
+
745 
+
748  typedef detail::tmat2x2<f32, defaultp> f32mat2;
+
749 
+
752  typedef detail::tmat3x3<f32, defaultp> f32mat3;
+
753 
+
756  typedef detail::tmat4x4<f32, defaultp> f32mat4;
+
757 
+
758 
+
761  //typedef f32 f32mat1x1;
+
762 
+
765  typedef detail::tmat2x2<f32, defaultp> f32mat2x2;
+
766 
+
769  typedef detail::tmat2x3<f32, defaultp> f32mat2x3;
+
770 
+
773  typedef detail::tmat2x4<f32, defaultp> f32mat2x4;
+
774 
+
777  typedef detail::tmat3x2<f32, defaultp> f32mat3x2;
+
778 
+
781  typedef detail::tmat3x3<f32, defaultp> f32mat3x3;
+
782 
+
785  typedef detail::tmat3x4<f32, defaultp> f32mat3x4;
+
786 
+
789  typedef detail::tmat4x2<f32, defaultp> f32mat4x2;
+
790 
+
793  typedef detail::tmat4x3<f32, defaultp> f32mat4x3;
+
794 
+
797  typedef detail::tmat4x4<f32, defaultp> f32mat4x4;
+
798 
+
799 
+
802  //typedef detail::tmat1x1<f64, defaultp> f64mat1;
+
803 
+
806  typedef detail::tmat2x2<f64, defaultp> f64mat2;
+
807 
+
810  typedef detail::tmat3x3<f64, defaultp> f64mat3;
+
811 
+
814  typedef detail::tmat4x4<f64, defaultp> f64mat4;
+
815 
+
816 
+
819  //typedef f64 f64mat1x1;
+
820 
+
823  typedef detail::tmat2x2<f64, defaultp> f64mat2x2;
+
824 
+
827  typedef detail::tmat2x3<f64, defaultp> f64mat2x3;
+
828 
+
831  typedef detail::tmat2x4<f64, defaultp> f64mat2x4;
+
832 
+
835  typedef detail::tmat3x2<f64, defaultp> f64mat3x2;
+
836 
+
839  typedef detail::tmat3x3<f64, defaultp> f64mat3x3;
+
840 
+
843  typedef detail::tmat3x4<f64, defaultp> f64mat3x4;
+
844 
+
847  typedef detail::tmat4x2<f64, defaultp> f64mat4x2;
+
848 
+
851  typedef detail::tmat4x3<f64, defaultp> f64mat4x3;
+
852 
+
855  typedef detail::tmat4x4<f64, defaultp> f64mat4x4;
+
856 
+
857 
+
859  // Quaternion types
+
860 
+
863  typedef detail::tquat<f32, defaultp> f32quat;
+
864 
+
867  typedef detail::tquat<f64, defaultp> f64quat;
+
868 
+
870 }//namespace glm
+
871 
+
872 #include "type_precision.inl"
+
873 
+
874 #endif//GLM_GTC_type_precision
+
highp_i16vec1 i16vec1
Default precision 16 bit signed integer scalar type.
Definition: fwd.hpp:468
+
highp_u16vec1 u16vec1
Default precision 16 bit unsigned integer scalar type.
Definition: fwd.hpp:1071
+
detail::int8 mediump_int8_t
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:196
+
highp_f32mat4x3 fmat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2397
+
detail::uint8 highp_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:845
+
highp_f32vec1 fvec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2353
+
highp_u8vec3 u8vec3
Default precision 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:999
+
detail::int8 int8
8 bit signed integer type.
Definition: type_int.hpp:89
+
highp_i64vec2 i64vec2
Default precision 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:710
+
highp_u64vec3 u64vec3
Default precision 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1317
+
detail::uint16 mediump_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:815
+
detail::uint64 lowp_uint64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:739
+
detail::uint32 mediump_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:787
+
detail::uint32 uint32
32 bit unsigned integer type.
Definition: type_int.hpp:96
+
detail::int16 int16
16 bit signed integer type.
Definition: type_int.hpp:90
+
highp_i32vec2 i32vec2
Default precision 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:551
+
detail::uint8 lowp_uint8_t
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:744
+
float float32
Default 32 bit single-precision floating-point scalar.
Definition: type_float.hpp:81
+
highp_u16vec3 u16vec3
Default precision 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1079
+
detail::int32 highp_int32
High precision 32 bit signed integer type.
Definition: fwd.hpp:236
+
detail::uint8 uint8_t
8 bit unsigned integer type.
Definition: fwd.hpp:895
+
highp_f32vec3 f32vec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2431
+
highp_u64vec1 u64vec1
Default precision 64 bit unsigned integer scalar type.
Definition: fwd.hpp:1309
+
detail::int16 highp_int16_t
High precision 16 bit signed integer type.
Definition: fwd.hpp:248
+
highp_u8vec4 u8vec4
Default precision 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1003
+
detail::int64 mediump_int64_t
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:208
+
detail::int32 lowp_int32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:140
+
detail::int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:305
+
highp_float32_t f32
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1523
+
detail::uint32 uint32_t
32 bit unsigned integer type.
Definition: fwd.hpp:903
+
detail::uint8 u8
8 bit unsigned integer type.
Definition: fwd.hpp:911
+
detail::int64 int64
64 bit signed integer type.
Definition: type_int.hpp:92
+
detail::uint16 lowp_u16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:765
+
highp_float32_t float32_t
Default 32 bit single-precision floating-point scalar.
Definition: fwd.hpp:1515
+
detail::int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:252
+
highp_f32vec2 fvec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2357
+
highp_i16vec2 i16vec2
Default precision 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:472
+
detail::uint32 mediump_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:803
+
detail::uint32 highp_uint32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:837
+
detail::uint16 mediump_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:783
+
detail::uint16 lowp_uint16_t
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:748
+
detail::int16 mediump_int16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:184
+
highp_f64mat3x4 f64mat3x4
Default double-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2566
+
detail::uint8 mediump_uint8_t
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:795
+
detail::int32 i32
32 bit signed integer type.
Definition: fwd.hpp:317
+
highp_f64vec1 f64vec1
Default double-precision floating-point vector of 1 components.
Definition: fwd.hpp:2530
+
detail::int8 lowp_int8_t
Low precision 8 bit signed integer type.
Definition: fwd.hpp:148
+
detail::uint16 highp_uint16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:833
+
detail::uint64 mediump_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:823
+
detail::uint64 uint64_t
64 bit unsigned integer type.
Definition: fwd.hpp:907
+
highp_i64vec1 i64vec1
Default precision 64 bit signed integer scalar type.
Definition: fwd.hpp:706
+
detail::int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:297
+
highp_f32vec2 f32vec2
Default single-precision floating-point vector of 2 components.
Definition: fwd.hpp:2427
+
detail::uint16 highp_u16
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:865
+
highp_f64mat4x4 f64mat4x4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2578
+
highp_f64mat4x2 f64mat4x2
Default double-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2570
+
highp_f32vec3 fvec3
Default single-precision floating-point vector of 3 components.
Definition: fwd.hpp:2361
+
detail::int64 i64
64 bit signed integer type.
Definition: fwd.hpp:321
+
detail::int32 mediump_int32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:188
+
f32mat4x4 f32mat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2483
+
detail::int64 lowp_i64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:176
+
detail::uint64 uint64
64 bit unsigned integer type.
Definition: type_int.hpp:97
+
detail::int64 highp_int64
High precision 64 bit signed integer type.
Definition: fwd.hpp:240
+
detail::uint32 highp_uint32_t
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:853
+
detail::int16 mediump_int16_t
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:200
+
detail::int16 lowp_int16_t
Low precision 16 bit signed integer type.
Definition: fwd.hpp:152
+
highp_i8vec4 i8vec4
Default precision 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:400
+
detail::int32 mediump_int32_t
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:204
+
highp_f32mat4x3 f32mat4x3
Default single-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2467
+
detail::uint16 lowp_uint16
Low precision 16 bit unsigned integer type.
Definition: fwd.hpp:731
+
highp_f32mat3x4 f32mat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2459
+
detail::int64 mediump_int64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:192
+
highp_u32vec2 u32vec2
Default precision 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1154
+
detail::int32 lowp_int32_t
Low precision 32 bit signed integer type.
Definition: fwd.hpp:156
+
highp_f64mat2x3 f64mat2x3
Default double-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2550
+
detail::uint16 highp_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:849
+
highp_f32vec4 f32vec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2435
+
f64mat3x3 f64mat3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2586
+
detail::uint64 highp_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:841
+
detail::uint64 highp_u64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:873
+
detail::uint8 lowp_uint8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:727
+
highp_i16vec3 i16vec3
Default precision 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:476
+
detail::int16 i16
16 bit signed integer type.
Definition: fwd.hpp:313
+
detail::uint64 lowp_u64
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:773
+
detail::uint64 lowp_uint64_t
Low precision 64 bit unsigned integer type.
Definition: fwd.hpp:756
+
detail::int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:293
+
highp_f64vec3 f64vec3
Default double-precision floating-point vector of 3 components.
Definition: fwd.hpp:2538
+
fmat4x4 fmat4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2413
+
detail::uint16 uint16_t
16 bit unsigned integer type.
Definition: fwd.hpp:899
+
detail::uint8 lowp_u8
Low precision 8 bit unsigned integer type.
Definition: fwd.hpp:761
+
detail::int8 i8
8 bit signed integer type.
Definition: fwd.hpp:309
+
highp_f32mat4x2 f32mat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2463
+
detail::uint32 lowp_uint32_t
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:752
+
detail::int32 int32
32 bit signed integer type.
Definition: type_int.hpp:91
+
highp_i64vec4 i64vec4
Default precision 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:718
+
f64mat4x4 f64mat4
Default double-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2590
+
highp_f64mat2x4 f64mat2x4
Default double-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2554
+
highp_f32mat4x2 fmat4x2
Default single-precision floating-point 4x2 matrix.
Definition: fwd.hpp:2393
+
highp_f32mat2x2 fmat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2369
+
detail::int32 highp_i32
High precision 32 bit signed integer type.
Definition: fwd.hpp:268
+
fmat2x2 fmat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2405
+
highp_u64vec2 u64vec2
Default precision 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1313
+
detail::int64 highp_int64_t
High precision 64 bit signed integer type.
Definition: fwd.hpp:256
+
detail::int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:301
+
highp_f32mat3x2 f32mat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2451
+
highp_f64mat4x3 f64mat4x3
Default double-precision floating-point 4x3 matrix.
Definition: fwd.hpp:2574
+
detail::int64 lowp_int64_t
Low precision 64 bit signed integer type.
Definition: fwd.hpp:160
+
detail::int8 mediump_int8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:180
+
detail::uint32 highp_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:869
+
highp_u16vec4 u16vec4
Default precision 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1083
+
detail::int16 lowp_int16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:136
+
detail::uint64 mediump_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:807
+
highp_u16vec2 u16vec2
Default precision 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:1075
+
detail::uint64 u64
64 bit unsigned integer type.
Definition: fwd.hpp:923
+
f64mat2x2 f64mat2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2582
+
highp_u64vec4 u64vec4
Default precision 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1321
+
detail::uint8 mediump_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:811
+
highp_f32mat4x4 f32mat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2471
+
highp_f32mat2x3 fmat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2373
+
highp_f32mat4x4 fmat4x4
Default single-precision floating-point 4x4 matrix.
Definition: fwd.hpp:2401
+
highp_u8vec2 u8vec2
Default precision 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:995
+
highp_u32vec3 u32vec3
Default precision 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:1158
+
detail::uint8 uint8
8 bit unsigned integer type.
Definition: type_int.hpp:94
+
detail::int8 lowp_int8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:132
+
detail::uint32 mediump_u32
Medium precision 32 bit unsigned integer type.
Definition: fwd.hpp:819
+
detail::uint32 lowp_uint32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:735
+
detail::int32 lowp_i32
Low precision 32 bit signed integer type.
Definition: fwd.hpp:172
+
detail::uint32 u32
32 bit unsigned integer type.
Definition: fwd.hpp:919
+
highp_i8vec2 i8vec2
Default precision 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:392
+
highp_i32vec3 i32vec3
Default precision 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:555
+
highp_f64mat2x2 f64mat2x2
Default double-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2546
+
highp_f32vec1 f32vec1
Default single-precision floating-point vector of 1 components.
Definition: fwd.hpp:2423
+
highp_f32mat2x4 fmat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2377
+
detail::int64 highp_i64
High precision 64 bit signed integer type.
Definition: fwd.hpp:272
+
highp_float64_t float64_t
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1519
+
f32mat3x3 f32mat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2479
+
detail::int8 highp_i8
High precision 8 bit signed integer type.
Definition: fwd.hpp:260
+
highp_i8vec3 i8vec3
Default precision 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:396
+
detail::int32 mediump_i32
Medium precision 32 bit signed integer type.
Definition: fwd.hpp:220
+
highp_f32quat f32quat
Default single-precision floating-point quaternion.
Definition: fwd.hpp:2487
+
highp_u8vec1 u8vec1
Default precision 8 bit unsigned integer scalar type.
Definition: fwd.hpp:991
+
detail::uint64 mediump_uint64
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:791
+
highp_i32vec1 i32vec1
Default precision 32 bit signed integer scalar type.
Definition: fwd.hpp:547
+
highp_u32vec4 u32vec4
Default precision 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:1162
+
detail::uint8 highp_u8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:861
+
highp_f32mat2x2 f32mat2x2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2439
+
highp_i32vec4 i32vec4
Default precision 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:559
+
detail::uint8 mediump_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:779
+
highp_i16vec4 i16vec4
Default precision 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:480
+
highp_float64_t f64
Default 64 bit double-precision floating-point scalar.
Definition: fwd.hpp:1527
+
detail::int8 mediump_i8
Medium precision 8 bit signed integer type.
Definition: fwd.hpp:212
+
detail::int64 mediump_i64
Medium precision 64 bit signed integer type.
Definition: fwd.hpp:224
+
detail::int16 highp_int16
High precision 16 bit signed integer type.
Definition: fwd.hpp:232
+
highp_f64vec2 f64vec2
Default double-precision floating-point vector of 2 components.
Definition: fwd.hpp:2534
+
highp_i8vec1 i8vec1
Default precision 8 bit signed integer scalar type.
Definition: fwd.hpp:388
+
highp_f64mat3x2 f64mat3x2
Default double-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2558
+
detail::uint32 lowp_u32
Low precision 32 bit unsigned integer type.
Definition: fwd.hpp:769
+
detail::int16 highp_i16
High precision 16 bit signed integer type.
Definition: fwd.hpp:264
+
detail::int8 highp_int8
High precision 8 bit signed integer type.
Definition: fwd.hpp:228
+
highp_u32vec1 u32vec1
Default precision 32 bit unsigned integer scalar type.
Definition: fwd.hpp:1150
+
detail::uint16 u16
16 bit unsigned integer type.
Definition: fwd.hpp:915
+
fmat3x3 fmat3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2409
+
detail::int16 lowp_i16
Low precision 16 bit signed integer type.
Definition: fwd.hpp:168
+
highp_f32mat2x3 f32mat2x3
Default single-precision floating-point 2x3 matrix.
Definition: fwd.hpp:2443
+
detail::uint16 uint16
16 bit unsigned integer type.
Definition: type_int.hpp:95
+
highp_f32vec4 fvec4
Default single-precision floating-point vector of 4 components.
Definition: fwd.hpp:2365
+
highp_f64quat f64quat
Default double-precision floating-point quaternion.
Definition: fwd.hpp:2594
+
detail::int8 highp_int8_t
High precision 8 bit signed integer type.
Definition: fwd.hpp:244
+
highp_f32mat2x4 f32mat2x4
Default single-precision floating-point 2x4 matrix.
Definition: fwd.hpp:2447
+
f32mat2x2 f32mat2
Default single-precision floating-point 2x2 matrix.
Definition: fwd.hpp:2475
+
highp_f64vec4 f64vec4
Default double-precision floating-point vector of 4 components.
Definition: fwd.hpp:2542
+
detail::int64 lowp_int64
Low precision 64 bit signed integer type.
Definition: fwd.hpp:144
+
detail::uint64 highp_uint64_t
Medium precision 64 bit unsigned integer type.
Definition: fwd.hpp:857
+
double float64
Default 64 bit double-precision floating-point scalar.
Definition: type_float.hpp:82
+
highp_f32mat3x3 fmat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2385
+
detail::uint8 highp_uint8
Medium precision 8 bit unsigned integer type.
Definition: fwd.hpp:829
+
detail::int8 lowp_i8
Low precision 8 bit signed integer type.
Definition: fwd.hpp:164
+
highp_f32mat3x3 f32mat3x3
Default single-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2455
+
highp_f64mat3x3 f64mat3x3
Default double-precision floating-point 3x3 matrix.
Definition: fwd.hpp:2562
+
highp_f32mat3x4 fmat3x4
Default single-precision floating-point 3x4 matrix.
Definition: fwd.hpp:2389
+
highp_f32mat3x2 fmat3x2
Default single-precision floating-point 3x2 matrix.
Definition: fwd.hpp:2381
+
detail::int16 mediump_i16
Medium precision 16 bit signed integer type.
Definition: fwd.hpp:216
+
highp_i64vec3 i64vec3
Default precision 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:714
+
detail::uint16 mediump_uint16_t
Medium precision 16 bit unsigned integer type.
Definition: fwd.hpp:799
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00133.html glm-0.9.5.1/doc/api/a00133.html --- glm-0.9.4.6/doc/api/a00133.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00133.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,351 +1,159 @@ - - - - - -Matrix functions - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
Matrix functions
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tmat2x2< valType >
-::value_type 
determinant (detail::tmat2x2< valType > const &m)
 
template<typename valType >
detail::tmat3x3< valType >
-::value_type 
determinant (detail::tmat3x3< valType > const &m)
 
template<typename valType >
detail::tmat4x4< valType >
-::value_type 
determinant (detail::tmat4x4< valType > const &m)
 
template<typename valType >
detail::tmat2x2< valType > inverse (detail::tmat2x2< valType > const &m)
 
template<typename valType >
detail::tmat3x3< valType > inverse (detail::tmat3x3< valType > const &m)
 
template<typename valType >
detail::tmat4x4< valType > inverse (detail::tmat4x4< valType > const &m)
 
template<typename matType >
matType matrixCompMult (matType const &x, matType const &y)
 
template<typename vecType , typename matType >
matType outerProduct (vecType const &c, vecType const &r)
 
template<typename matType >
matType::transpose_type transpose (matType const &x)
 
-

Detailed Description

-

For each of the following built-in matrix functions, there is both a single-precision floating point version, where all arguments and return values are single precision, and a double-precision floating version, where all arguments and return values are double precision.

-

Only the single-precision floating point version is shown.

-

Function Documentation

- -
-
- - - - - - - - -
detail::tmat2x2<valType>::value_type glm::determinant (detail::tmat2x2< valType > const & m)
-
- -

Return the determinant of a mat2 matrix.

-
Template Parameters
- - -
valTypeFloating-point scalar types.
-
-
-
See Also
GLSL determinant man page
-
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<valType>::value_type glm::determinant (detail::tmat3x3< valType > const & m)
-
- -

Return the determinant of a mat3 matrix.

-
Template Parameters
- - -
valTypeFloating-point scalar types.
-
-
-
See Also
GLSL determinant man page
-
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<valType>::value_type glm::determinant (detail::tmat4x4< valType > const & m)
-
- -

Return the determinant of a mat4 matrix.

-
Template Parameters
- - -
valTypeFloating-point scalar types.
-
-
-
See Also
GLSL determinant man page
-
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
- -
-
- -
-
- - - - - - - - -
detail::tmat2x2<valType> glm::inverse (detail::tmat2x2< valType > const & m)
-
- -

Return the inverse of a mat2 matrix.

-
Template Parameters
- - -
valTypeFloating-point scalar types.
-
-
-
See Also
GLSL inverse man page
-
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<valType> glm::inverse (detail::tmat3x3< valType > const & m)
-
- -

Return the inverse of a mat3 matrix.

-
Template Parameters
- - -
valTypeFloating-point scalar types.
-
-
-
See Also
GLSL inverse man page
-
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<valType> glm::inverse (detail::tmat4x4< valType > const & m)
-
- -

Return the inverse of a mat4 matrix.

-
Template Parameters
- - -
valTypeFloating-point scalar types.
-
-
-
See Also
GLSL inverse man page
-
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
matType glm::matrixCompMult (matType const & x,
matType const & y 
)
-
- -

Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and y[i][j].

-
Template Parameters
- - -
matTypeFloating-point matrix types.
-
-
-
See Also
GLSL matrixCompMult man page
-
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
matType glm::outerProduct (vecType const & c,
vecType const & r 
)
-
- -

Treats the first parameter c as a column vector and the second parameter r as a row vector and does a linear algebraic matrix multiply c * r.

-
Template Parameters
- - -
matTypeFloating-point matrix types.
-
-
-
See Also
GLSL outerProduct man page
-
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
-
Todo:
Clarify the declaration to specify that matType doesn't have to be provided when used.
- -
-
- -
-
- - - - - - - - -
matType::transpose_type glm::transpose (matType const & x)
-
- -

Returns the transposed matrix of x.

-
Template Parameters
- - -
matTypeFloating-point matrix types.
-
-
-
See Also
GLSL transpose man page
-
-GLSL 4.20.8 specification, section 8.6 Matrix Functions
- -
-
-
- - - - + + + + + + +GLM: type_ptr.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
type_ptr.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
GLM_FUNC_DECL detail::tmat2x2
+< T, defaultp > 
make_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x2
+< T, defaultp > 
make_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x3
+< T, defaultp > 
make_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x4
+< T, defaultp > 
make_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x3
+< T, defaultp > 
make_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x2
+< T, defaultp > 
make_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x3
+< T, defaultp > 
make_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x4
+< T, defaultp > 
make_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
+< T, defaultp > 
make_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x2
+< T, defaultp > 
make_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x3
+< T, defaultp > 
make_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
+< T, defaultp > 
make_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tquat< T,
+defaultp > 
make_quat (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
+defaultp > 
make_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
+defaultp > 
make_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec4< T,
+defaultp > 
make_vec4 (T const *const ptr)
 
template<typename genType >
GLM_FUNC_DECL
+genType::value_type const * 
value_ptr (genType const &vec)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_type_ptr

+
Date
2009-05-06 / 2011-06-05
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+gtc_half_float (dependence)
+
+GLM_GTC_quaternion (dependence)
+ +

Definition in file type_ptr.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00133_source.html glm-0.9.5.1/doc/api/a00133_source.html --- glm-0.9.4.6/doc/api/a00133_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00133_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,164 @@ + + + + + + +GLM: type_ptr.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_ptr.hpp
+
+
+Go to the documentation of this file.
1 
+
59 #ifndef GLM_GTC_type_ptr
+
60 #define GLM_GTC_type_ptr
+
61 
+
62 // Dependency:
+
63 #include "../gtc/quaternion.hpp"
+
64 #include "../vec2.hpp"
+
65 #include "../vec3.hpp"
+
66 #include "../vec4.hpp"
+
67 #include "../mat2x2.hpp"
+
68 #include "../mat2x3.hpp"
+
69 #include "../mat2x4.hpp"
+
70 #include "../mat3x2.hpp"
+
71 #include "../mat3x3.hpp"
+
72 #include "../mat3x4.hpp"
+
73 #include "../mat4x2.hpp"
+
74 #include "../mat4x3.hpp"
+
75 #include "../mat4x4.hpp"
+
76 #include <cstring>
+
77 
+
78 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
79 # pragma message("GLM: GLM_GTC_type_ptr extension included")
+
80 #endif
+
81 
+
82 namespace glm
+
83 {
+
86 
+
89  template<typename genType>
+
90  GLM_FUNC_DECL typename genType::value_type const * value_ptr(genType const & vec);
+
91 
+
94  template<typename T>
+
95  GLM_FUNC_DECL detail::tvec2<T, defaultp> make_vec2(T const * const ptr);
+
96 
+
99  template<typename T>
+
100  GLM_FUNC_DECL detail::tvec3<T, defaultp> make_vec3(T const * const ptr);
+
101 
+
104  template<typename T>
+
105  GLM_FUNC_DECL detail::tvec4<T, defaultp> make_vec4(T const * const ptr);
+
106 
+
109  template<typename T>
+
110  GLM_FUNC_DECL detail::tmat2x2<T, defaultp> make_mat2x2(T const * const ptr);
+
111 
+
114  template<typename T>
+
115  GLM_FUNC_DECL detail::tmat2x3<T, defaultp> make_mat2x3(T const * const ptr);
+
116 
+
119  template<typename T>
+
120  GLM_FUNC_DECL detail::tmat2x4<T, defaultp> make_mat2x4(T const * const ptr);
+
121 
+
124  template<typename T>
+
125  GLM_FUNC_DECL detail::tmat3x2<T, defaultp> make_mat3x2(T const * const ptr);
+
126 
+
129  template<typename T>
+
130  GLM_FUNC_DECL detail::tmat3x3<T, defaultp> make_mat3x3(T const * const ptr);
+
131 
+
134  template<typename T>
+
135  GLM_FUNC_DECL detail::tmat3x4<T, defaultp> make_mat3x4(T const * const ptr);
+
136 
+
139  template<typename T>
+
140  GLM_FUNC_DECL detail::tmat4x2<T, defaultp> make_mat4x2(
+
141  T const * const ptr);
+
142 
+
145  template<typename T>
+
146  GLM_FUNC_DECL detail::tmat4x3<T, defaultp> make_mat4x3(T const * const ptr);
+
147 
+
150  template<typename T>
+
151  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> make_mat4x4(T const * const ptr);
+
152 
+
155  template<typename T>
+
156  GLM_FUNC_DECL detail::tmat2x2<T, defaultp> make_mat2(T const * const ptr);
+
157 
+
160  template<typename T>
+
161  GLM_FUNC_DECL detail::tmat3x3<T, defaultp> make_mat3(T const * const ptr);
+
162 
+
165  template<typename T>
+
166  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> make_mat4(T const * const ptr);
+
167 
+
170  template<typename T>
+
171  GLM_FUNC_DECL detail::tquat<T, defaultp> make_quat(T const * const ptr);
+
172 
+
174 }//namespace glm
+
175 
+
176 #include "type_ptr.inl"
+
177 
+
178 #endif//GLM_GTC_type_ptr
+
179 
+
GLM_FUNC_DECL detail::tmat3x3< T, defaultp > make_mat3x3(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL detail::tquat< T, defaultp > make_quat(T const *const ptr)
Build a quaternion from a pointer.
+
GLM_FUNC_DECL detail::tmat3x3< T, defaultp > make_mat3(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL detail::tmat2x2< T, defaultp > make_mat2(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL detail::tmat3x2< T, defaultp > make_mat3x2(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL detail::tmat2x2< T, defaultp > make_mat2x2(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL detail::tmat3x4< T, defaultp > make_mat3x4(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL detail::tmat4x2< T, defaultp > make_mat4x2(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL detail::tmat4x4< T, defaultp > make_mat4(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL detail::tmat2x4< T, defaultp > make_mat2x4(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL detail::tvec3< T, defaultp > make_vec3(T const *const ptr)
Build a vector from a pointer.
+
GLM_FUNC_DECL detail::tvec2< T, defaultp > make_vec2(T const *const ptr)
Build a vector from a pointer.
+
GLM_FUNC_DECL detail::tvec4< T, defaultp > make_vec4(T const *const ptr)
Build a vector from a pointer.
+
GLM_FUNC_DECL detail::tmat4x3< T, defaultp > make_mat4x3(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL genType::value_type const * value_ptr(genType const &vec)
Return the constant address to the data of the input parameter.
+
GLM_FUNC_DECL detail::tmat4x4< T, defaultp > make_mat4x4(T const *const ptr)
Build a matrix from a pointer.
+
GLM_FUNC_DECL detail::tmat2x3< T, defaultp > make_mat2x3(T const *const ptr)
Build a matrix from a pointer.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00134.html glm-0.9.5.1/doc/api/a00134.html --- glm-0.9.4.6/doc/api/a00134.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00134.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,180 +0,0 @@ - - - - - -Noise functions - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
Noise functions
-
-
- - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType::value_type noise1 (genType const &x)
 
template<typename genType >
detail::tvec2< typename
-genType::value_type > 
noise2 (genType const &x)
 
template<typename genType >
detail::tvec3< typename
-genType::value_type > 
noise3 (genType const &x)
 
template<typename genType >
detail::tvec4< typename
-genType::value_type > 
noise4 (genType const &x)
 
-

Detailed Description

-

Noise functions are stochastic functions that can be used to increase visual complexity.

-

Values returned by the following noise functions give the appearance of randomness, but are not truly random.

-

Function Documentation

- -
-
- - - - - - - - -
genType::value_type glm::noise1 (genType const & x)
-
- -

Returns a 1D noise value based on the input value x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL noise1 man page
-
-GLSL 4.20.8 specification, section 8.13 Noise Functions
- -
-
- -
-
- - - - - - - - -
detail::tvec2<typename genType::value_type> glm::noise2 (genType const & x)
-
- -

Returns a 2D noise value based on the input value x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL noise2 man page
-
-GLSL 4.20.8 specification, section 8.13 Noise Functions
- -
-
- -
-
- - - - - - - - -
detail::tvec3<typename genType::value_type> glm::noise3 (genType const & x)
-
- -

Returns a 3D noise value based on the input value x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL noise3 man page
-
-GLSL 4.20.8 specification, section 8.13 Noise Functions
- -
-
- -
-
- - - - - - - - -
detail::tvec4<typename genType::value_type> glm::noise4 (genType const & x)
-
- -

Returns a 4D noise value based on the input value x.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL noise4 man page
-
-GLSL 4.20.8 specification, section 8.13 Noise Functions
- -
-
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00134_source.html glm-0.9.5.1/doc/api/a00134_source.html --- glm-0.9.4.6/doc/api/a00134_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00134_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,342 @@ + + + + + + +GLM: type_vec.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_vec.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_vec
+
30 #define glm_core_type_vec
+
31 
+
32 #include "precision.hpp"
+
33 #include "type_int.hpp"
+
34 
+
35 namespace glm{
+
36 namespace detail
+
37 {
+
38  template <typename T, precision P> struct tvec1;
+
39  template <typename T, precision P> struct tvec2;
+
40  template <typename T, precision P> struct tvec3;
+
41  template <typename T, precision P> struct tvec4;
+
42 }//namespace detail
+
43 
+
44  typedef detail::tvec1<float, highp> highp_vec1_t;
+
45  typedef detail::tvec1<float, mediump> mediump_vec1_t;
+
46  typedef detail::tvec1<float, lowp> lowp_vec1_t;
+
47  typedef detail::tvec1<int, highp> highp_ivec1_t;
+
48  typedef detail::tvec1<int, mediump> mediump_ivec1_t;
+
49  typedef detail::tvec1<int, lowp> lowp_ivec1_t;
+
50  typedef detail::tvec1<uint, highp> highp_uvec1_t;
+
51  typedef detail::tvec1<uint, mediump> mediump_uvec1_t;
+
52  typedef detail::tvec1<uint, lowp> lowp_uvec1_t;
+
53  typedef detail::tvec1<bool, highp> highp_bvec1_t;
+
54  typedef detail::tvec1<bool, mediump> mediump_bvec1_t;
+
55  typedef detail::tvec1<bool, lowp> lowp_bvec1_t;
+
56 
+
59 
+
65  typedef detail::tvec2<float, highp> highp_vec2;
+
66 
+
72  typedef detail::tvec2<float, mediump> mediump_vec2;
+
73 
+
79  typedef detail::tvec2<float, lowp> lowp_vec2;
+
80 
+
86  typedef detail::tvec2<double, highp> highp_dvec2;
+
87 
+
93  typedef detail::tvec2<double, mediump> mediump_dvec2;
+
94 
+
100  typedef detail::tvec2<double, lowp> lowp_dvec2;
+
101 
+
107  typedef detail::tvec2<int, highp> highp_ivec2;
+
108 
+
114  typedef detail::tvec2<int, mediump> mediump_ivec2;
+
115 
+
121  typedef detail::tvec2<int, lowp> lowp_ivec2;
+
122 
+
128  typedef detail::tvec2<uint, highp> highp_uvec2;
+
129 
+
135  typedef detail::tvec2<uint, mediump> mediump_uvec2;
+
136 
+
142  typedef detail::tvec2<uint, lowp> lowp_uvec2;
+
143 
+
149  typedef detail::tvec2<bool, highp> highp_bvec2;
+
150 
+
156  typedef detail::tvec2<bool, mediump> mediump_bvec2;
+
157 
+
163  typedef detail::tvec2<bool, lowp> lowp_bvec2;
+
164 
+
166 
+
167 
+
170 
+
176  typedef detail::tvec3<float, highp> highp_vec3;
+
177 
+
183  typedef detail::tvec3<float, mediump> mediump_vec3;
+
184 
+
190  typedef detail::tvec3<float, lowp> lowp_vec3;
+
191 
+
197  typedef detail::tvec3<double, highp> highp_dvec3;
+
198 
+
204  typedef detail::tvec3<double, mediump> mediump_dvec3;
+
205 
+
211  typedef detail::tvec3<double, lowp> lowp_dvec3;
+
212 
+
218  typedef detail::tvec3<int, highp> highp_ivec3;
+
219 
+
225  typedef detail::tvec3<int, mediump> mediump_ivec3;
+
226 
+
232  typedef detail::tvec3<int, lowp> lowp_ivec3;
+
233 
+
239  typedef detail::tvec3<uint, highp> highp_uvec3;
+
240 
+
246  typedef detail::tvec3<uint, mediump> mediump_uvec3;
+
247 
+
253  typedef detail::tvec3<uint, lowp> lowp_uvec3;
+
254 
+
259  typedef detail::tvec3<bool, highp> highp_bvec3;
+
260 
+
265  typedef detail::tvec3<bool, mediump> mediump_bvec3;
+
266 
+
271  typedef detail::tvec3<bool, lowp> lowp_bvec3;
+
272 
+
274 
+
277 
+
282  typedef detail::tvec4<float, highp> highp_vec4;
+
283 
+
288  typedef detail::tvec4<float, mediump> mediump_vec4;
+
289 
+
294  typedef detail::tvec4<float, lowp> lowp_vec4;
+
295 
+
300  typedef detail::tvec4<double, highp> highp_dvec4;
+
301 
+
306  typedef detail::tvec4<double, mediump> mediump_dvec4;
+
307 
+
312  typedef detail::tvec4<double, lowp> lowp_dvec4;
+
313 
+
318  typedef detail::tvec4<int, highp> highp_ivec4;
+
319 
+
324  typedef detail::tvec4<int, mediump> mediump_ivec4;
+
325 
+
330  typedef detail::tvec4<int, lowp> lowp_ivec4;
+
331 
+
336  typedef detail::tvec4<uint, highp> highp_uvec4;
+
337 
+
342  typedef detail::tvec4<uint, mediump> mediump_uvec4;
+
343 
+
348  typedef detail::tvec4<uint, lowp> lowp_uvec4;
+
349 
+
354  typedef detail::tvec4<bool, highp> highp_bvec4;
+
355 
+
360  typedef detail::tvec4<bool, mediump> mediump_bvec4;
+
361 
+
366  typedef detail::tvec4<bool, lowp> lowp_bvec4;
+
367 
+
369 
+
372 
+
374  // Default float definition
+
375 
+
376 #if(defined(GLM_PRECISION_LOWP_FLOAT))
+
377  typedef lowp_vec2 vec2;
+
378  typedef lowp_vec3 vec3;
+
379  typedef lowp_vec4 vec4;
+
380 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
381  typedef mediump_vec2 vec2;
+
382  typedef mediump_vec3 vec3;
+
383  typedef mediump_vec4 vec4;
+
384 #else //defined(GLM_PRECISION_HIGHP_FLOAT)
+
385  typedef highp_vec2 vec2;
+
389 
+
393  typedef highp_vec3 vec3;
+
394 
+
398  typedef highp_vec4 vec4;
+
399 #endif//GLM_PRECISION
+
400 
+
402  // Default double definition
+
403 
+
404 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
+
405  typedef lowp_dvec2 dvec2;
+
406  typedef lowp_dvec3 dvec3;
+
407  typedef lowp_dvec4 dvec4;
+
408 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
+
409  typedef mediump_dvec2 dvec2;
+
410  typedef mediump_dvec3 dvec3;
+
411  typedef mediump_dvec4 dvec4;
+
412 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
+
413  typedef highp_dvec2 dvec2;
+
417 
+ +
422 
+ +
427 #endif//GLM_PRECISION
+
428 
+
430  // Signed integer definition
+
431 
+
432 #if(defined(GLM_PRECISION_LOWP_INT))
+
433  typedef lowp_ivec2 ivec2;
+
434  typedef lowp_ivec3 ivec3;
+
435  typedef lowp_ivec4 ivec4;
+
436 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
437  typedef mediump_ivec2 ivec2;
+
438  typedef mediump_ivec3 ivec3;
+
439  typedef mediump_ivec4 ivec4;
+
440 #else //defined(GLM_PRECISION_HIGHP_INT)
+
441  typedef highp_ivec2 ivec2;
+
445 
+ +
450 
+ +
455 #endif//GLM_PRECISION
+
456 
+
458  // Unsigned integer definition
+
459 
+
460 #if(defined(GLM_PRECISION_LOWP_UINT))
+
461  typedef lowp_uvec2 uvec2;
+
462  typedef lowp_uvec3 uvec3;
+
463  typedef lowp_uvec4 uvec4;
+
464 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
+
465  typedef mediump_uvec2 uvec2;
+
466  typedef mediump_uvec3 uvec3;
+
467  typedef mediump_uvec4 uvec4;
+
468 #else //defined(GLM_PRECISION_HIGHP_UINT)
+
469  typedef highp_uvec2 uvec2;
+
473 
+ +
478 
+ +
483 #endif//GLM_PRECISION
+
484 
+
486  // Boolean definition
+
487 
+
488 #if(defined(GLM_PRECISION_LOWP_BOOL))
+
489  typedef lowp_bvec2 bvec2;
+
490  typedef lowp_bvec3 bvec3;
+
491  typedef lowp_bvec4 bvec4;
+
492 #elif(defined(GLM_PRECISION_MEDIUMP_BOOL))
+
493  typedef mediump_bvec2 bvec2;
+
494  typedef mediump_bvec3 bvec3;
+
495  typedef mediump_bvec4 bvec4;
+
496 #else //defined(GLM_PRECISION_HIGHP_BOOL)
+
497  typedef highp_bvec2 bvec2;
+
501 
+ +
506 
+ +
511 #endif//GLM_PRECISION
+
512 
+
514 }//namespace glm
+
515 
+
516 #endif//glm_core_type_vec
+
highp_ivec4 ivec4
4 components vector of signed integer numbers.
Definition: type_vec.hpp:454
+
detail::tvec4< bool, highp > highp_bvec4
4 components vector of high precision bool numbers.
Definition: type_vec.hpp:354
+
detail::tvec2< uint, highp > highp_uvec2
2 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:128
+
detail::tvec4< uint, highp > highp_uvec4
4 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:336
+
highp_bvec3 bvec3
3 components vector of boolean.
Definition: type_vec.hpp:505
+
detail::tvec3< int, mediump > mediump_ivec3
3 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:225
+
highp_bvec2 bvec2
2 components vector of boolean.
Definition: type_vec.hpp:500
+
highp_vec3 vec3
3 components vector of floating-point numbers.
Definition: type_vec.hpp:393
+
highp_dvec3 dvec3
3 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:421
+
detail::tvec2< int, mediump > mediump_ivec2
2 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:114
+
detail::tvec4< double, lowp > lowp_dvec4
4 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:312
+
highp_ivec2 ivec2
2 components vector of signed integer numbers.
Definition: type_vec.hpp:444
+
detail::tvec2< uint, lowp > lowp_uvec2
2 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:142
+
highp_vec4 vec4
4 components vector of floating-point numbers.
Definition: type_vec.hpp:398
+
detail::tvec4< float, mediump > mediump_vec4
4 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:288
+
detail::tvec2< bool, mediump > mediump_bvec2
2 components vector of medium precision bool numbers.
Definition: type_vec.hpp:156
+
detail::tvec4< bool, lowp > lowp_bvec4
4 components vector of low precision bool numbers.
Definition: type_vec.hpp:366
+
detail::tvec3< uint, lowp > lowp_uvec3
3 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:253
+
detail::tvec3< float, lowp > lowp_vec3
3 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:190
+
detail::tvec4< int, lowp > lowp_ivec4
4 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:330
+
detail::tvec2< bool, highp > highp_bvec2
2 components vector of high precision bool numbers.
Definition: type_vec.hpp:149
+
detail::tvec4< double, highp > highp_dvec4
4 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:300
+
detail::tvec4< uint, lowp > lowp_uvec4
4 components vector of low precision unsigned integer numbers.
Definition: type_vec.hpp:348
+
detail::tvec3< float, highp > highp_vec3
3 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:176
+
highp_dvec2 dvec2
2 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:416
+
detail::tvec3< bool, mediump > mediump_bvec3
3 components vector of medium precision bool numbers.
Definition: type_vec.hpp:265
+
detail::tvec4< double, mediump > mediump_dvec4
4 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:306
+
detail::tvec2< double, highp > highp_dvec2
2 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:86
+
detail::tvec3< uint, highp > highp_uvec3
3 components vector of high precision unsigned integer numbers.
Definition: type_vec.hpp:239
+
highp_ivec3 ivec3
3 components vector of signed integer numbers.
Definition: type_vec.hpp:449
+
detail::tvec3< uint, mediump > mediump_uvec3
3 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:246
+
detail::tvec4< bool, mediump > mediump_bvec4
4 components vector of medium precision bool numbers.
Definition: type_vec.hpp:360
+
detail::tvec3< bool, lowp > lowp_bvec3
3 components vector of low precision bool numbers.
Definition: type_vec.hpp:271
+
detail::tvec3< double, highp > highp_dvec3
3 components vector of high double-precision floating-point numbers.
Definition: type_vec.hpp:197
+
highp_uvec3 uvec3
3 components vector of unsigned integer numbers.
Definition: type_vec.hpp:477
+
highp_dvec4 dvec4
4 components vector of double-precision floating-point numbers.
Definition: type_vec.hpp:426
+
detail::tvec2< uint, mediump > mediump_uvec2
2 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:135
+
detail::tvec2< int, lowp > lowp_ivec2
2 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:121
+
detail::tvec2< bool, lowp > lowp_bvec2
2 components vector of low precision bool numbers.
Definition: type_vec.hpp:163
+
detail::tvec4< int, mediump > mediump_ivec4
4 components vector of medium precision signed integer numbers.
Definition: type_vec.hpp:324
+
detail::tvec2< double, lowp > lowp_dvec2
2 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:100
+
detail::tvec2< float, highp > highp_vec2
2 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:65
+
detail::tvec3< double, mediump > mediump_dvec3
3 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:204
+
detail::tvec3< double, lowp > lowp_dvec3
3 components vector of low double-precision floating-point numbers.
Definition: type_vec.hpp:211
+
detail::tvec2< float, lowp > lowp_vec2
2 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:79
+
detail::tvec2< double, mediump > mediump_dvec2
2 components vector of medium double-precision floating-point numbers.
Definition: type_vec.hpp:93
+
highp_uvec4 uvec4
4 components vector of unsigned integer numbers.
Definition: type_vec.hpp:482
+
detail::tvec3< int, lowp > lowp_ivec3
3 components vector of low precision signed integer numbers.
Definition: type_vec.hpp:232
+
highp_uvec2 uvec2
2 components vector of unsigned integer numbers.
Definition: type_vec.hpp:472
+
highp_bvec4 bvec4
4 components vector of boolean.
Definition: type_vec.hpp:510
+
detail::tvec2< int, highp > highp_ivec2
2 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:107
+
detail::tvec4< float, lowp > lowp_vec4
4 components vector of low single-precision floating-point numbers.
Definition: type_vec.hpp:294
+
detail::tvec2< float, mediump > mediump_vec2
2 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:72
+
highp_vec2 vec2
2 components vector of floating-point numbers.
Definition: type_vec.hpp:388
+
detail::tvec3< int, highp > highp_ivec3
3 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:218
+
detail::tvec3< bool, highp > highp_bvec3
3 components vector of high precision bool numbers.
Definition: type_vec.hpp:259
+
detail::tvec4< float, highp > highp_vec4
4 components vector of high single-precision floating-point numbers.
Definition: type_vec.hpp:282
+
detail::tvec4< int, highp > highp_ivec4
4 components vector of high precision signed integer numbers.
Definition: type_vec.hpp:318
+
detail::tvec4< uint, mediump > mediump_uvec4
4 components vector of medium precision unsigned integer numbers.
Definition: type_vec.hpp:342
+
detail::tvec3< float, mediump > mediump_vec3
3 components vector of medium single-precision floating-point numbers.
Definition: type_vec.hpp:183
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00135.html glm-0.9.5.1/doc/api/a00135.html --- glm-0.9.4.6/doc/api/a00135.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00135.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,360 +0,0 @@ - - - - - -Floating-Point Pack and Unpack Functions - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
Floating-Point Pack and Unpack Functions
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

double packDouble2x32 (detail::tvec2< detail::uint32 > const &v)
 
uint packHalf2x16 (vec2 const &v)
 
detail::uint32 packSnorm2x16 (detail::tvec2< detail::float32 > const &v)
 
detail::uint32 packSnorm4x8 (detail::tvec4< detail::float32 > const &v)
 
detail::uint32 packUnorm2x16 (detail::tvec2< detail::float32 > const &v)
 
detail::uint32 packUnorm4x8 (detail::tvec4< detail::float32 > const &v)
 
detail::tvec2< detail::uint32 > unpackDouble2x32 (double const &v)
 
vec2 unpackHalf2x16 (uint const &v)
 
detail::tvec2< detail::float32 > unpackSnorm2x16 (detail::uint32 const &p)
 
detail::tvec4< detail::float32 > unpackSnorm4x8 (detail::uint32 const &p)
 
detail::tvec2< detail::float32 > unpackUnorm2x16 (detail::uint32 const &p)
 
detail::tvec4< detail::float32 > unpackUnorm4x8 (detail::uint32 const &p)
 
-

Detailed Description

-

These functions do not operate component-wise, rather as described in each case.

-

Function Documentation

- -
-
- - - - - - - - -
double glm::packDouble2x32 (detail::tvec2< detail::uint32 > const & v)
-
- -

Returns a double-precision value obtained by packing the components of v into a 64-bit value.

-

If an IEEE 754 Inf or NaN is created, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit- level representation of v is preserved. The first vector component specifies the 32 least significant bits; the second component specifies the 32 most significant bits.

-
See Also
GLSL packDouble2x32 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
uint glm::packHalf2x16 (vec2 const & v)
-
- -

Returns an unsigned integer obtained by converting the components of a two-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these two 16- bit integers into a 32-bit unsigned integer.

-

The first vector component specifies the 16 least-significant bits of the result; the second component specifies the 16 most-significant bits.

-
See Also
GLSL packHalf2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
detail::uint32 glm::packSnorm2x16 (detail::tvec2< detail::float32 > const & v)
-
- -

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

-

Then, the results are packed into the returned 32-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packSnorm2x16: round(clamp(v, -1, +1) * 32767.0)

-

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

-
See Also
GLSL packSnorm2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
detail::uint32 glm::packSnorm4x8 (detail::tvec4< detail::float32 > const & v)
-
- -

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

-

Then, the results are packed into the returned 32-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packSnorm4x8: round(clamp(c, -1, +1) * 127.0)

-

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

-
See Also
GLSL packSnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
detail::uint32 glm::packUnorm2x16 (detail::tvec2< detail::float32 > const & v)
-
- -

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

-

Then, the results are packed into the returned 32-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packUnorm2x16: round(clamp(c, 0, +1) * 65535.0)

-

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

-
See Also
GLSL packUnorm2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
detail::uint32 glm::packUnorm4x8 (detail::tvec4< detail::float32 > const & v)
-
- -

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

-

Then, the results are packed into the returned 32-bit unsigned integer.

-

The conversion for component c of v to fixed point is done as follows: packUnorm4x8: round(clamp(c, 0, +1) * 255.0)

-

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

-
See Also
GLSL packUnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
detail::tvec2<detail::uint32> glm::unpackDouble2x32 (double const & v)
-
- -

Returns a two-component unsigned integer vector representation of v.

-

The bit-level representation of v is preserved. The first component of the vector contains the 32 least significant bits of the double; the second component consists the 32 most significant bits.

-
See Also
GLSL unpackDouble2x32 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
vec2 glm::unpackHalf2x16 (uint const & v)
-
- -

Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values.

-

The first component of the vector is obtained from the 16 least-significant bits of v; the second component is obtained from the 16 most-significant bits of v.

-
See Also
GLSL unpackHalf2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
detail::tvec2<detail::float32> glm::unpackSnorm2x16 (detail::uint32 const & p)
-
- -

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm2x16: clamp(f / 32767.0, -1, +1)

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See Also
GLSL unpackSnorm2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
detail::tvec4<detail::float32> glm::unpackSnorm4x8 (detail::uint32 const & p)
-
- -

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm4x8: clamp(f / 127.0, -1, +1)

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See Also
GLSL unpackSnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
detail::tvec2<detail::float32> glm::unpackUnorm2x16 (detail::uint32 const & p)
-
- -

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm2x16: f / 65535.0

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See Also
GLSL unpackUnorm2x16 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
- -
-
- - - - - - - - -
detail::tvec4<detail::float32> glm::unpackUnorm4x8 (detail::uint32 const & p)
-
- -

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

-

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

-

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

-

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

-
See Also
GLSL unpackUnorm4x8 man page
-
-GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
- -
-
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00135_source.html glm-0.9.5.1/doc/api/a00135_source.html --- glm-0.9.4.6/doc/api/a00135_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00135_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,307 @@ + + + + + + +GLM: type_vec1.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_vec1.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_gentype1
+
30 #define glm_core_type_gentype1
+
31 
+
32 #include "../fwd.hpp"
+
33 #include "type_vec.hpp"
+
34 #ifdef GLM_SWIZZLE
+
35 # if GLM_HAS_ANONYMOUS_UNION
+
36 # include "_swizzle.hpp"
+
37 # else
+
38 # include "_swizzle_func.hpp"
+
39 # endif
+
40 #endif //GLM_SWIZZLE
+
41 #if(GLM_HAS_INITIALIZER_LISTS)
+
42 # include <initializer_list>
+
43 #endif //GLM_HAS_INITIALIZER_LISTS
+
44 #include <cstddef>
+
45 
+
46 namespace glm{
+
47 namespace detail
+
48 {
+
49  template <typename T, precision P>
+
50  struct tvec1
+
51  {
+
53  // Implementation detail
+
54 
+
55  enum ctor{_null};
+
56 
+
57  typedef tvec1<T, P> type;
+
58  typedef tvec1<bool, P> bool_type;
+
59  typedef T value_type;
+
60 
+
62  // Helper
+
63 
+
64  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
65 
+
67  // Data
+
68 
+
69  union {T x, r, s;};
+
70 
+
72  // Accesses
+
73 
+
74  GLM_FUNC_DECL T & operator[](length_t i);
+
75  GLM_FUNC_DECL T const & operator[](length_t i) const;
+
76 
+
78  // Implicit basic constructors
+
79 
+
80  GLM_FUNC_DECL tvec1();
+
81  GLM_FUNC_DECL tvec1(tvec1<T, P> const & v);
+
82  template <precision Q>
+
83  GLM_FUNC_DECL tvec1(tvec1<T, Q> const & v);
+
84 
+
85 #if(GLM_HAS_INITIALIZER_LISTS)
+
86  template <typename U>
+
87  GLM_FUNC_DECL tvec1(std::initializer_list<U> const & v);
+
88 #endif//GLM_HAS_INITIALIZER_LISTS
+
89 
+
91  // Explicit basic constructors
+
92 
+
93  GLM_FUNC_DECL explicit tvec1(
+
94  ctor);
+
95  GLM_FUNC_DECL tvec1(
+
96  T const & s);
+
97 
+
99  // Conversion vector constructors
+
100 
+
102  template <typename U, precision Q>
+
103  GLM_FUNC_DECL explicit tvec1(tvec1<U, Q> const & v);
+
105  template <typename U, precision Q>
+
106  GLM_FUNC_DECL explicit tvec1(tvec2<U, Q> const & v);
+
108  template <typename U, precision Q>
+
109  GLM_FUNC_DECL explicit tvec1(tvec3<U, Q> const & v);
+
111  template <typename U, precision Q>
+
112  GLM_FUNC_DECL explicit tvec1(tvec4<U, Q> const & v);
+
113 
+
115  // Unary arithmetic operators
+
116 
+
117  GLM_FUNC_DECL tvec1<T, P> & operator= (tvec1<T, P> const & v);
+
118  template <typename U>
+
119  GLM_FUNC_DECL tvec1<T, P> & operator= (tvec1<U, P> const & v);
+
120 
+
121  template <typename U>
+
122  GLM_FUNC_DECL tvec1<T, P> & operator+=(U const & s);
+
123  template <typename U>
+
124  GLM_FUNC_DECL tvec1<T, P> & operator+=(tvec1<U, P> const & v);
+
125  template <typename U>
+
126  GLM_FUNC_DECL tvec1<T, P> & operator-=(U const & s);
+
127  template <typename U>
+
128  GLM_FUNC_DECL tvec1<T, P> & operator-=(tvec1<U, P> const & v);
+
129  template <typename U>
+
130  GLM_FUNC_DECL tvec1<T, P> & operator*=(U const & s);
+
131  template <typename U>
+
132  GLM_FUNC_DECL tvec1<T, P> & operator*=(tvec1<U, P> const & v);
+
133  template <typename U>
+
134  GLM_FUNC_DECL tvec1<T, P> & operator/=(U const & s);
+
135  template <typename U>
+
136  GLM_FUNC_DECL tvec1<T, P> & operator/=(tvec1<U, P> const & v);
+
137 
+
139  // Increment and decrement operators
+
140 
+
141  GLM_FUNC_DECL tvec1<T, P> & operator++();
+
142  GLM_FUNC_DECL tvec1<T, P> & operator--();
+
143  GLM_FUNC_DECL tvec1<T, P> operator++(int);
+
144  GLM_FUNC_DECL tvec1<T, P> operator--(int);
+
145 
+
147  // Unary bit operators
+
148 
+
149  template <typename U>
+
150  GLM_FUNC_DECL tvec1<T, P> & operator%=(U const & s);
+
151  template <typename U>
+
152  GLM_FUNC_DECL tvec1<T, P> & operator%=(tvec1<U, P> const & v);
+
153  template <typename U>
+
154  GLM_FUNC_DECL tvec1<T, P> & operator&=(U const & s);
+
155  template <typename U>
+
156  GLM_FUNC_DECL tvec1<T, P> & operator&=(tvec1<U, P> const & v);
+
157  template <typename U>
+
158  GLM_FUNC_DECL tvec1<T, P> & operator|=(U const & s);
+
159  template <typename U>
+
160  GLM_FUNC_DECL tvec1<T, P> & operator|=(tvec1<U, P> const & v);
+
161  template <typename U>
+
162  GLM_FUNC_DECL tvec1<T, P> & operator^=(U const & s);
+
163  template <typename U>
+
164  GLM_FUNC_DECL tvec1<T, P> & operator^=(tvec1<U, P> const & v);
+
165  template <typename U>
+
166  GLM_FUNC_DECL tvec1<T, P> & operator<<=(U const & s);
+
167  template <typename U>
+
168  GLM_FUNC_DECL tvec1<T, P> & operator<<=(tvec1<U, P> const & v);
+
169  template <typename U>
+
170  GLM_FUNC_DECL tvec1<T, P> & operator>>=(U const & s);
+
171  template <typename U>
+
172  GLM_FUNC_DECL tvec1<T, P> & operator>>=(tvec1<U, P> const & v);
+
173  };
+
174 
+
175 
+
176  template <typename T, precision P>
+
177  GLM_FUNC_DECL tvec1<T, P> operator+(tvec1<T, P> const & v, T const & s);
+
178 
+
179  template <typename T, precision P>
+
180  GLM_FUNC_DECL tvec1<T, P> operator+(T const & s, tvec1<T, P> const & v);
+
181 
+
182  template <typename T, precision P>
+
183  GLM_FUNC_DECL tvec1<T, P> operator+(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
184 
+
185  template <typename T, precision P>
+
186  GLM_FUNC_DECL tvec1<T, P> operator-(tvec1<T, P> const & v, T const & s);
+
187 
+
188  template <typename T, precision P>
+
189  GLM_FUNC_DECL tvec1<T, P> operator-(T const & s, tvec1<T, P> const & v);
+
190 
+
191  template <typename T, precision P>
+
192  GLM_FUNC_DECL tvec1<T, P> operator- (tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
193 
+
194  template <typename T, precision P>
+
195  GLM_FUNC_DECL tvec1<T, P> operator*(tvec1<T, P> const & v, T const & s);
+
196 
+
197  template <typename T, precision P>
+
198  GLM_FUNC_DECL tvec1<T, P> operator*(T const & s, tvec1<T, P> const & v);
+
199 
+
200  template <typename T, precision P>
+
201  GLM_FUNC_DECL tvec1<T, P> operator*(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
202 
+
203  template <typename T, precision P>
+
204  GLM_FUNC_DECL tvec1<T, P> operator/(tvec1<T, P> const & v, T const & s);
+
205 
+
206  template <typename T, precision P>
+
207  GLM_FUNC_DECL tvec1<T, P> operator/(T const & s, tvec1<T, P> const & v);
+
208 
+
209  template <typename T, precision P>
+
210  GLM_FUNC_DECL tvec1<T, P> operator/(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
211 
+
212  template <typename T, precision P>
+
213  GLM_FUNC_DECL tvec1<T, P> operator-(tvec1<T, P> const & v);
+
214 
+
215  template <typename T, precision P>
+
216  GLM_FUNC_DECL bool operator==(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
217 
+
218  template <typename T, precision P>
+
219  GLM_FUNC_DECL bool operator!=(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
220 
+
221  template <typename T, precision P>
+
222  GLM_FUNC_DECL tvec1<T, P> operator%(tvec1<T, P> const & v, T const & s);
+
223 
+
224  template <typename T, precision P>
+
225  GLM_FUNC_DECL tvec1<T, P> operator%(T const & s, tvec1<T, P> const & v);
+
226 
+
227  template <typename T, precision P>
+
228  GLM_FUNC_DECL tvec1<T, P> operator%(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
229 
+
230  template <typename T, precision P>
+
231  GLM_FUNC_DECL tvec1<T, P> operator&(tvec1<T, P> const & v, T const & s);
+
232 
+
233  template <typename T, precision P>
+
234  GLM_FUNC_DECL tvec1<T, P> operator&(T const & s, tvec1<T, P> const & v);
+
235 
+
236  template <typename T, precision P>
+
237  GLM_FUNC_DECL tvec1<T, P> operator&(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
238 
+
239  template <typename T, precision P>
+
240  GLM_FUNC_DECL tvec1<T, P> operator|(tvec1<T, P> const & v, T const & s);
+
241 
+
242  template <typename T, precision P>
+
243  GLM_FUNC_DECL tvec1<T, P> operator|(T const & s, tvec1<T, P> const & v);
+
244 
+
245  template <typename T, precision P>
+
246  GLM_FUNC_DECL tvec1<T, P> operator|(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
247 
+
248  template <typename T, precision P>
+
249  GLM_FUNC_DECL tvec1<T, P> operator^(tvec1<T, P> const & v, T const & s);
+
250 
+
251  template <typename T, precision P>
+
252  GLM_FUNC_DECL tvec1<T, P> operator^(T const & s, tvec1<T, P> const & v);
+
253 
+
254  template <typename T, precision P>
+
255  GLM_FUNC_DECL tvec1<T, P> operator^(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
256 
+
257  template <typename T, precision P>
+
258  GLM_FUNC_DECL tvec1<T, P> operator<<(tvec1<T, P> const & v, T const & s);
+
259 
+
260  template <typename T, precision P>
+
261  GLM_FUNC_DECL tvec1<T, P> operator<<(T const & s, tvec1<T, P> const & v);
+
262 
+
263  template <typename T, precision P>
+
264  GLM_FUNC_DECL tvec1<T, P> operator<<(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
265 
+
266  template <typename T, precision P>
+
267  GLM_FUNC_DECL tvec1<T, P> operator>>(tvec1<T, P> const & v, T const & s);
+
268 
+
269  template <typename T, precision P>
+
270  GLM_FUNC_DECL tvec1<T, P> operator>>(T const & s, tvec1<T, P> const & v);
+
271 
+
272  template <typename T, precision P>
+
273  GLM_FUNC_DECL tvec1<T, P> operator>>(tvec1<T, P> const & v1, tvec1<T, P> const & v2);
+
274 
+
275  template <typename T, precision P>
+
276  GLM_FUNC_DECL tvec1<T, P> operator~(tvec1<T, P> const & v);
+
277 
+
278 }//namespace detail
+
279 }//namespace glm
+
280 
+
281 #ifndef GLM_EXTERNAL_TEMPLATE
+
282 #include "type_vec1.inl"
+
283 #endif//GLM_EXTERNAL_TEMPLATE
+
284 
+
285 #endif//glm_core_type_gentype1
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00136.html glm-0.9.5.1/doc/api/a00136.html --- glm-0.9.4.6/doc/api/a00136.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00136.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,528 +0,0 @@ - - - - - -Angle and Trigonometry Functions - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
Angle and Trigonometry Functions
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType acos (genType const &x)
 
template<typename genType >
genType acosh (genType const &x)
 
template<typename genType >
genType asin (genType const &x)
 
template<typename genType >
genType asinh (genType const &x)
 
template<typename genType >
genType atan (genType const &y, genType const &x)
 
template<typename genType >
genType atan (genType const &y_over_x)
 
template<typename genType >
genType atanh (genType const &x)
 
template<typename genType >
genType cos (genType const &angle)
 
template<typename genType >
genType cosh (genType const &angle)
 
template<typename genType >
genType degrees (genType const &radians)
 
template<typename genType >
genType radians (genType const &degrees)
 
template<typename genType >
genType sin (genType const &angle)
 
template<typename genType >
genType sinh (genType const &angle)
 
template<typename genType >
genType tan (genType const &angle)
 
template<typename genType >
genType tanh (genType const &angle)
 
-

Detailed Description

-

Function parameters specified as angle are assumed to be in units of radians.

-

In no case will any of these functions result in a divide by zero error. If the divisor of a ratio is 0, then results will be undefined.

-

These all operate component-wise. The description is per component.

-

Function Documentation

- -
-
- - - - - - - - -
genType glm::acos (genType const & x)
-
- -

Arc cosine.

-

Returns an angle whose sine is x. The range of values returned by this function is [0, PI]. Results are undefined if |x| > 1.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL acos man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
genType glm::acosh (genType const & x)
-
- -

Arc hyperbolic cosine; returns the non-negative inverse of cosh.

-

Results are undefined if x < 1.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL acosh man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
genType glm::asin (genType const & x)
-
- -

Arc sine.

-

Returns an angle whose sine is x. The range of values returned by this function is [-PI/2, PI/2]. Results are undefined if |x| > 1.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL asin man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
genType glm::asinh (genType const & x)
-
- -

Arc hyperbolic sine; returns the inverse of sinh.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL asinh man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::atan (genType const & y,
genType const & x 
)
-
- -

Arc tangent.

-

Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL atan man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -

Referenced by glm::atan2().

- -
-
- -
-
- - - - - - - - -
genType glm::atan (genType const & y_over_x)
-
- -

Arc tangent.

-

Returns an angle whose tangent is y_over_x. The range of values returned by this function is [-PI/2, PI/2].

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL atan man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
genType glm::atanh (genType const & x)
-
- -

Arc hyperbolic tangent; returns the inverse of tanh.

-

Results are undefined if abs(x) >= 1.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL atanh man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
genType glm::cos (genType const & angle)
-
- -

The standard trigonometric cosine function.

-

The values returned by this function will range from [-1, 1].

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL cos man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
genType glm::cosh (genType const & angle)
-
- -

Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL cosh man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
genType glm::degrees (genType const & radians)
-
- -

Converts radians to degrees and returns the result.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL degrees man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
genType glm::radians (genType const & degrees)
-
- -

Converts degrees to radians and returns the result.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL radians man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
genType glm::sin (genType const & angle)
-
- -

The standard trigonometric sine function.

-

The values returned by this function will range from [-1, 1].

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL sin man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
genType glm::sinh (genType const & angle)
-
- -

Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL sinh man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
genType glm::tan (genType const & angle)
-
- -

The standard trigonometric tangent function.

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL tan man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
- -
-
- - - - - - - - -
genType glm::tanh (genType const & angle)
-
- -

Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)

-
Template Parameters
- - -
genTypeFloating-point scalar or vector types.
-
-
-
See Also
GLSL tanh man page
-
-GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
- -
-
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00136_source.html glm-0.9.5.1/doc/api/a00136_source.html --- glm-0.9.4.6/doc/api/a00136_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00136_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,343 @@ + + + + + + +GLM: type_vec2.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_vec2.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_gentype2
+
30 #define glm_core_type_gentype2
+
31 
+
32 //#include "../fwd.hpp"
+
33 #include "type_vec.hpp"
+
34 #ifdef GLM_SWIZZLE
+
35 # if GLM_HAS_ANONYMOUS_UNION
+
36 # include "_swizzle.hpp"
+
37 # else
+
38 # include "_swizzle_func.hpp"
+
39 # endif
+
40 #endif //GLM_SWIZZLE
+
41 #if(GLM_HAS_INITIALIZER_LISTS)
+
42 # include <initializer_list>
+
43 #endif //GLM_HAS_INITIALIZER_LISTS
+
44 #include <cstddef>
+
45 
+
46 namespace glm{
+
47 namespace detail
+
48 {
+
49  template <typename T, precision P>
+
50  struct tvec2
+
51  {
+
53  // Implementation detail
+
54 
+
55  enum ctor{_null};
+
56 
+
57  typedef tvec2<T, P> type;
+
58  typedef tvec2<bool, P> bool_type;
+
59  typedef T value_type;
+
60  typedef int size_type;
+
61 
+
63  // Helper
+
64 
+
65  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
66 
+
68  // Data
+
69 
+
70 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
+
71  union
+
72  {
+
73  struct{ T x, y; };
+
74  struct{ T r, g; };
+
75  struct{ T s, t; };
+
76 
+
77  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, x, y)
+
78  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, r, g)
+
79  _GLM_SWIZZLE2_2_MEMBERS(T, P, tvec2, s, t)
+
80  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, x, y)
+
81  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, r, g)
+
82  _GLM_SWIZZLE2_3_MEMBERS(T, P, tvec3, s, t)
+
83  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, x, y)
+
84  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, r, g)
+
85  _GLM_SWIZZLE2_4_MEMBERS(T, P, tvec4, s, t)
+
86  };
+
87 # else
+
88  union {T x, r, s;};
+
89  union {T y, g, t;};
+
90 
+
91 # ifdef GLM_SWIZZLE
+
92  GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, P, detail::tvec2, detail::tvec2, detail::tvec3, detail::tvec4)
+
93 # endif
+
94 # endif
+
95 
+
97  // Accesses
+
98 
+
99  GLM_FUNC_DECL T & operator[](length_t i);
+
100  GLM_FUNC_DECL T const & operator[](length_t i) const;
+
101 
+
103  // Implicit basic constructors
+
104 
+
105  GLM_FUNC_DECL tvec2();
+
106  GLM_FUNC_DECL tvec2(tvec2<T, P> const & v);
+
107  template <precision Q>
+
108  GLM_FUNC_DECL tvec2(tvec2<T, Q> const & v);
+
109 
+
110 #if(GLM_HAS_INITIALIZER_LISTS)
+
111  template <typename U>
+
112  GLM_FUNC_DECL tvec2(std::initializer_list<U> const & v);
+
113 #endif//GLM_HAS_INITIALIZER_LISTS
+
114 
+
116  // Explicit basic constructors
+
117 
+
118  GLM_FUNC_DECL explicit tvec2(
+
119  ctor);
+
120  GLM_FUNC_DECL explicit tvec2(
+
121  T const & s);
+
122  GLM_FUNC_DECL explicit tvec2(
+
123  T const & s1,
+
124  T const & s2);
+
125 
+
127  // Swizzle constructors
+
128 
+
129 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
+
130  template <int E0, int E1>
+
131  GLM_FUNC_DECL tvec2(_swizzle<2,T, P, tvec2<T, P>, E0, E1,-1,-2> const & that)
+
132  {
+
133  *this = that();
+
134  }
+
135 # endif//(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
+
136 
+
138  // Conversion constructors
+
139 
+
141  template <typename U, typename V>
+
142  GLM_FUNC_DECL explicit tvec2(
+
143  U const & x,
+
144  V const & y);
+
145 
+
147  // Conversion vector constructors
+
148 
+
150  template <typename U, precision Q>
+
151  GLM_FUNC_DECL explicit tvec2(tvec2<U, Q> const & v);
+
153  template <typename U, precision Q>
+
154  GLM_FUNC_DECL explicit tvec2(tvec3<U, Q> const & v);
+
156  template <typename U, precision Q>
+
157  GLM_FUNC_DECL explicit tvec2(tvec4<U, Q> const & v);
+
158 
+
160  // Unary arithmetic operators
+
161 
+
162  GLM_FUNC_DECL tvec2<T, P> & operator= (tvec2<T, P> const & v);
+
163  template <typename U>
+
164  GLM_FUNC_DECL tvec2<T, P> & operator= (tvec2<U, P> const & v);
+
165 
+
166  template <typename U>
+
167  GLM_FUNC_DECL tvec2<T, P> & operator+=(U s);
+
168  template <typename U>
+
169  GLM_FUNC_DECL tvec2<T, P> & operator+=(tvec2<U, P> const & v);
+
170  template <typename U>
+
171  GLM_FUNC_DECL tvec2<T, P> & operator-=(U s);
+
172  template <typename U>
+
173  GLM_FUNC_DECL tvec2<T, P> & operator-=(tvec2<U, P> const & v);
+
174  template <typename U>
+
175  GLM_FUNC_DECL tvec2<T, P> & operator*=(U s);
+
176  template <typename U>
+
177  GLM_FUNC_DECL tvec2<T, P> & operator*=(tvec2<U, P> const & v);
+
178  template <typename U>
+
179  GLM_FUNC_DECL tvec2<T, P> & operator/=(U s);
+
180  template <typename U>
+
181  GLM_FUNC_DECL tvec2<T, P> & operator/=(tvec2<U, P> const & v);
+
182 
+
184  // Increment and decrement operators
+
185 
+
186  GLM_FUNC_DECL tvec2<T, P> & operator++();
+
187  GLM_FUNC_DECL tvec2<T, P> & operator--();
+
188  GLM_FUNC_DECL tvec2<T, P> operator++(int);
+
189  GLM_FUNC_DECL tvec2<T, P> operator--(int);
+
190 
+
192  // Unary bit operators
+
193 
+
194  template <typename U>
+
195  GLM_FUNC_DECL tvec2<T, P> & operator%= (U s);
+
196  template <typename U>
+
197  GLM_FUNC_DECL tvec2<T, P> & operator%= (tvec2<U, P> const & v);
+
198  template <typename U>
+
199  GLM_FUNC_DECL tvec2<T, P> & operator&= (U s);
+
200  template <typename U>
+
201  GLM_FUNC_DECL tvec2<T, P> & operator&= (tvec2<U, P> const & v);
+
202  template <typename U>
+
203  GLM_FUNC_DECL tvec2<T, P> & operator|= (U s);
+
204  template <typename U>
+
205  GLM_FUNC_DECL tvec2<T, P> & operator|= (tvec2<U, P> const & v);
+
206  template <typename U>
+
207  GLM_FUNC_DECL tvec2<T, P> & operator^= (U s);
+
208  template <typename U>
+
209  GLM_FUNC_DECL tvec2<T, P> & operator^= (tvec2<U, P> const & v);
+
210  template <typename U>
+
211  GLM_FUNC_DECL tvec2<T, P> & operator<<=(U s);
+
212  template <typename U>
+
213  GLM_FUNC_DECL tvec2<T, P> & operator<<=(tvec2<U, P> const & v);
+
214  template <typename U>
+
215  GLM_FUNC_DECL tvec2<T, P> & operator>>=(U s);
+
216  template <typename U>
+
217  GLM_FUNC_DECL tvec2<T, P> & operator>>=(tvec2<U, P> const & v);
+
218  };
+
219 
+
220  template <typename T, precision P>
+
221  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v, T const & s);
+
222 
+
223  template <typename T, precision P>
+
224  GLM_FUNC_DECL tvec2<T, P> operator+(T const & s, tvec2<T, P> const & v);
+
225 
+
226  template <typename T, precision P>
+
227  GLM_FUNC_DECL tvec2<T, P> operator+(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
228 
+
229  template <typename T, precision P>
+
230  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v, T const & s);
+
231 
+
232  template <typename T, precision P>
+
233  GLM_FUNC_DECL tvec2<T, P> operator-(T const & s, tvec2<T, P> const & v);
+
234 
+
235  template <typename T, precision P>
+
236  GLM_FUNC_DECL tvec2<T, P> operator- (tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
237 
+
238  template <typename T, precision P>
+
239  GLM_FUNC_DECL tvec2<T, P> operator*(tvec2<T, P> const & v, T const & s);
+
240 
+
241  template <typename T, precision P>
+
242  GLM_FUNC_DECL tvec2<T, P> operator*(T const & s, tvec2<T, P> const & v);
+
243 
+
244  template <typename T, precision P>
+
245  GLM_FUNC_DECL tvec2<T, P> operator*(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
246 
+
247  template <typename T, precision P>
+
248  GLM_FUNC_DECL tvec2<T, P> operator/(tvec2<T, P> const & v, T const & s);
+
249 
+
250  template <typename T, precision P>
+
251  GLM_FUNC_DECL tvec2<T, P> operator/(T const & s, tvec2<T, P> const & v);
+
252 
+
253  template <typename T, precision P>
+
254  GLM_FUNC_DECL tvec2<T, P> operator/(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
255 
+
256  template <typename T, precision P>
+
257  GLM_FUNC_DECL tvec2<T, P> operator-(tvec2<T, P> const & v);
+
258 
+
259  template <typename T, precision P>
+
260  GLM_FUNC_DECL tvec2<T, P> operator%(tvec2<T, P> const & v, T const & s);
+
261 
+
262  template <typename T, precision P>
+
263  GLM_FUNC_DECL tvec2<T, P> operator%(T const & s, tvec2<T, P> const & v);
+
264 
+
265  template <typename T, precision P>
+
266  GLM_FUNC_DECL tvec2<T, P> operator%(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
267 
+
268  template <typename T, precision P>
+
269  GLM_FUNC_DECL tvec2<T, P> operator&(tvec2<T, P> const & v, T const & s);
+
270 
+
271  template <typename T, precision P>
+
272  GLM_FUNC_DECL tvec2<T, P> operator&(T const & s, tvec2<T, P> const & v);
+
273 
+
274  template <typename T, precision P>
+
275  GLM_FUNC_DECL tvec2<T, P> operator&(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
276 
+
277  template <typename T, precision P>
+
278  GLM_FUNC_DECL tvec2<T, P> operator|(tvec2<T, P> const & v, T const & s);
+
279 
+
280  template <typename T, precision P>
+
281  GLM_FUNC_DECL tvec2<T, P> operator|(T const & s, tvec2<T, P> const & v);
+
282 
+
283  template <typename T, precision P>
+
284  GLM_FUNC_DECL tvec2<T, P> operator|(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
285 
+
286  template <typename T, precision P>
+
287  GLM_FUNC_DECL tvec2<T, P> operator^(tvec2<T, P> const & v, T const & s);
+
288 
+
289  template <typename T, precision P>
+
290  GLM_FUNC_DECL tvec2<T, P> operator^(T const & s, tvec2<T, P> const & v);
+
291 
+
292  template <typename T, precision P>
+
293  GLM_FUNC_DECL tvec2<T, P> operator^(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
294 
+
295  template <typename T, precision P>
+
296  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec2<T, P> const & v, T const & s);
+
297 
+
298  template <typename T, precision P>
+
299  GLM_FUNC_DECL tvec2<T, P> operator<<(T const & s, tvec2<T, P> const & v);
+
300 
+
301  template <typename T, precision P>
+
302  GLM_FUNC_DECL tvec2<T, P> operator<<(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
303 
+
304  template <typename T, precision P>
+
305  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec2<T, P> const & v, T const & s);
+
306 
+
307  template <typename T, precision P>
+
308  GLM_FUNC_DECL tvec2<T, P> operator>>(T const & s, tvec2<T, P> const & v);
+
309 
+
310  template <typename T, precision P>
+
311  GLM_FUNC_DECL tvec2<T, P> operator>>(tvec2<T, P> const & v1, tvec2<T, P> const & v2);
+
312 
+
313  template <typename T, precision P>
+
314  GLM_FUNC_DECL tvec2<T, P> operator~(tvec2<T, P> const & v);
+
315 
+
316 }//namespace detail
+
317 }//namespace glm
+
318 
+
319 #ifndef GLM_EXTERNAL_TEMPLATE
+
320 #include "type_vec2.inl"
+
321 #endif//GLM_EXTERNAL_TEMPLATE
+
322 
+
323 #endif//glm_core_type_gentype2
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00137.html glm-0.9.5.1/doc/api/a00137.html --- glm-0.9.4.6/doc/api/a00137.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00137.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,389 +0,0 @@ - - - - - -Vector Relational Functions - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
Vector Relational Functions
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<template< typename > class vecType>
bool all (vecType< bool > const &v)
 
template<template< typename > class vecType>
bool any (vecType< bool > const &v)
 
template<typename vecType >
vecType::bool_type equal (vecType const &x, vecType const &y)
 
template<typename vecType >
vecType::bool_type greaterThan (vecType const &x, vecType const &y)
 
template<typename vecType >
vecType::bool_type greaterThanEqual (vecType const &x, vecType const &y)
 
template<typename vecType >
vecType::bool_type lessThan (vecType const &x, vecType const &y)
 
template<typename vecType >
vecType::bool_type lessThanEqual (vecType const &x, vecType const &y)
 
template<template< typename > class vecType>
vecType< bool > not_ (vecType< bool > const &v)
 
template<typename vecType >
vecType::bool_type notEqual (vecType const &x, vecType const &y)
 
-

Detailed Description

-

Relational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results.

-

For vector results, use the following built-in functions.

-

In all cases, the sizes of all the input and return vectors for any particular call must match.

-

Function Documentation

- -
-
- - - - - - - - -
bool glm::all (vecType< bool > const & v)
-
- -

Returns true if all components of x are true.

-
Template Parameters
- - -
vecTypeBoolean vector types.
-
-
-
See Also
GLSL all man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - - - - -
bool glm::any (vecType< bool > const & v)
-
- -

Returns true if any component of x is true.

-
Template Parameters
- - -
vecTypeBoolean vector types.
-
-
-
See Also
GLSL any man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
vecType::bool_type glm::equal (vecType const & x,
vecType const & y 
)
-
- -

Returns the component-wise comparison of result x == y.

-
Template Parameters
- - -
vecTypeFloating-point, integer or boolean vector types.
-
-
-
See Also
GLSL equal man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
vecType::bool_type glm::greaterThan (vecType const & x,
vecType const & y 
)
-
- -

Returns the component-wise comparison of result x > y.

-
Template Parameters
- - -
vecTypeFloating-point or integer vector types.
-
-
-
See Also
GLSL greaterThan man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
vecType::bool_type glm::greaterThanEqual (vecType const & x,
vecType const & y 
)
-
- -

Returns the component-wise comparison of result x >= y.

-
Template Parameters
- - -
vecTypeFloating-point or integer vector types.
-
-
-
See Also
GLSL greaterThanEqual man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
vecType::bool_type glm::lessThan (vecType const & x,
vecType const & y 
)
-
- -

Returns the component-wise comparison result of x < y.

-
Template Parameters
- - -
vecTypeFloating-point or integer vector types.
-
-
-
See Also
GLSL lessThan man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
vecType::bool_type glm::lessThanEqual (vecType const & x,
vecType const & y 
)
-
- -

Returns the component-wise comparison of result x <= y.

-
Template Parameters
- - -
vecTypeFloating-point or integer vector types.
-
-
-
See Also
GLSL lessThanEqual man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - - - - -
vecType<bool> glm::not_ (vecType< bool > const & v)
-
- -

Returns the component-wise logical complement of x.

-

/!\ Because of language incompatibilities between C++ and GLSL, GLM defines the function not but not_ instead.

-
Template Parameters
- - -
vecTypeBoolean vector types.
-
-
-
See Also
GLSL not man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
vecType::bool_type glm::notEqual (vecType const & x,
vecType const & y 
)
-
- -

Returns the component-wise comparison of result x != y.

-
Template Parameters
- - -
vecTypeFloating-point, integer or boolean vector types.
-
-
-
See Also
GLSL notEqual man page
-
-GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
- -
-
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00137_source.html glm-0.9.5.1/doc/api/a00137_source.html --- glm-0.9.4.6/doc/api/a00137_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00137_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,360 @@ + + + + + + +GLM: type_vec3.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_vec3.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_gentype3
+
30 #define glm_core_type_gentype3
+
31 
+
32 //#include "../fwd.hpp"
+
33 #include "type_vec.hpp"
+
34 #ifdef GLM_SWIZZLE
+
35 # if GLM_HAS_ANONYMOUS_UNION
+
36 # include "_swizzle.hpp"
+
37 # else
+
38 # include "_swizzle_func.hpp"
+
39 # endif
+
40 #endif //GLM_SWIZZLE
+
41 #if(GLM_HAS_INITIALIZER_LISTS)
+
42 # include <initializer_list>
+
43 #endif //GLM_HAS_INITIALIZER_LISTS
+
44 #include <cstddef>
+
45 
+
46 namespace glm{
+
47 namespace detail
+
48 {
+
49  template <typename T, precision P>
+
50  struct tvec3
+
51  {
+
53  // Implementation detail
+
54 
+
55  enum ctor{_null};
+
56 
+
57  typedef tvec3<T, P> type;
+
58  typedef tvec3<bool, P> bool_type;
+
59  typedef T value_type;
+
60  typedef int size_type;
+
61 
+
63  // Helper
+
64 
+
65  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
66 
+
68  // Data
+
69 
+
70 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
+
71  union
+
72  {
+
73  struct{ T x, y, z; };
+
74  struct{ T r, g, b; };
+
75  struct{ T s, t, p; };
+
76 
+
77  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, x, y, z)
+
78  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, r, g, b)
+
79  _GLM_SWIZZLE3_2_MEMBERS(T, P, tvec2, s, t, p)
+
80  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, x, y, z)
+
81  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, r, g, b)
+
82  _GLM_SWIZZLE3_3_MEMBERS(T, P, tvec3, s, t, p)
+
83  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, x, y, z)
+
84  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, r, g, b)
+
85  _GLM_SWIZZLE3_4_MEMBERS(T, P, tvec4, s, t, p)
+
86  };
+
87 # else
+
88  union { T x, r, s; };
+
89  union { T y, g, t; };
+
90  union { T z, b, p; };
+
91 
+
92 # ifdef GLM_SWIZZLE
+
93  GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, P, detail::tvec3, detail::tvec2, detail::tvec3, detail::tvec4)
+
94 # endif
+
95 # endif//GLM_LANG
+
96 
+
98  // Accesses
+
99 
+
100  GLM_FUNC_DECL T & operator[](length_t i);
+
101  GLM_FUNC_DECL T const & operator[](length_t i) const;
+
102 
+
104  // Implicit basic constructors
+
105 
+
106  GLM_FUNC_DECL tvec3();
+
107  GLM_FUNC_DECL tvec3(tvec3<T, P> const & v);
+
108  template <precision Q>
+
109  GLM_FUNC_DECL tvec3(tvec3<T, Q> const & v);
+
110 
+
111 #if(GLM_HAS_INITIALIZER_LISTS)
+
112  template <typename U>
+
113  GLM_FUNC_DECL tvec3(std::initializer_list<U> const & v);
+
114 #endif//GLM_HAS_INITIALIZER_LISTS
+
115 
+
117  // Explicit basic constructors
+
118 
+
119  GLM_FUNC_DECL explicit tvec3(
+
120  ctor);
+
121  GLM_FUNC_DECL explicit tvec3(
+
122  T const & s);
+
123  GLM_FUNC_DECL explicit tvec3(
+
124  T const & s1,
+
125  T const & s2,
+
126  T const & s3);
+
127 
+
129  // Conversion scalar constructors
+
130 
+
132  template <typename U, typename V, typename W>
+
133  GLM_FUNC_DECL explicit tvec3(
+
134  U const & x,
+
135  V const & y,
+
136  W const & z);
+
137 
+
139  // Conversion vector constructors
+
140 
+
142  template <typename A, typename B, precision Q>
+
143  GLM_FUNC_DECL explicit tvec3(tvec2<A, Q> const & v, B const & s);
+
145  template <typename A, typename B, precision Q>
+
146  GLM_FUNC_DECL explicit tvec3(A const & s, tvec2<B, Q> const & v);
+
148  template <typename U, precision Q>
+
149  GLM_FUNC_DECL explicit tvec3(tvec3<U, Q> const & v);
+
151  template <typename U, precision Q>
+
152  GLM_FUNC_DECL explicit tvec3(tvec4<U, Q> const & v);
+
153 
+
155  // Swizzle constructors
+
156 
+
157 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
+
158  template <int E0, int E1, int E2>
+
159  GLM_FUNC_DECL tvec3(_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & that)
+
160  {
+
161  *this = that();
+
162  }
+
163 
+
164  template <int E0, int E1>
+
165  GLM_FUNC_DECL tvec3(_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & s)
+
166  {
+
167  *this = tvec3<T, P>(v(), s);
+
168  }
+
169 
+
170  template <int E0, int E1>
+
171  GLM_FUNC_DECL tvec3(T const & s, _swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v)
+
172  {
+
173  *this = tvec3<T, P>(s, v());
+
174  }
+
175 # endif//(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
+
176 
+
178  // Unary arithmetic operators
+
179 
+
180  GLM_FUNC_DECL tvec3<T, P> & operator= (tvec3<T, P> const & v);
+
181  template <typename U>
+
182  GLM_FUNC_DECL tvec3<T, P> & operator= (tvec3<U, P> const & v);
+
183 
+
184  template <typename U>
+
185  GLM_FUNC_DECL tvec3<T, P> & operator+=(U s);
+
186  template <typename U>
+
187  GLM_FUNC_DECL tvec3<T, P> & operator+=(tvec3<U, P> const & v);
+
188  template <typename U>
+
189  GLM_FUNC_DECL tvec3<T, P> & operator-=(U s);
+
190  template <typename U>
+
191  GLM_FUNC_DECL tvec3<T, P> & operator-=(tvec3<U, P> const & v);
+
192  template <typename U>
+
193  GLM_FUNC_DECL tvec3<T, P> & operator*=(U s);
+
194  template <typename U>
+
195  GLM_FUNC_DECL tvec3<T, P> & operator*=(tvec3<U, P> const & v);
+
196  template <typename U>
+
197  GLM_FUNC_DECL tvec3<T, P> & operator/=(U s);
+
198  template <typename U>
+
199  GLM_FUNC_DECL tvec3<T, P> & operator/=(tvec3<U, P> const & v);
+
200 
+
202  // Increment and decrement operators
+
203 
+
204  GLM_FUNC_DECL tvec3<T, P> & operator++();
+
205  GLM_FUNC_DECL tvec3<T, P> & operator--();
+
206  GLM_FUNC_DECL tvec3<T, P> operator++(int);
+
207  GLM_FUNC_DECL tvec3<T, P> operator--(int);
+
208 
+
210  // Unary bit operators
+
211 
+
212  template <typename U>
+
213  GLM_FUNC_DECL tvec3<T, P> & operator%= (U s);
+
214  template <typename U>
+
215  GLM_FUNC_DECL tvec3<T, P> & operator%= (tvec3<U, P> const & v);
+
216  template <typename U>
+
217  GLM_FUNC_DECL tvec3<T, P> & operator&= (U s);
+
218  template <typename U>
+
219  GLM_FUNC_DECL tvec3<T, P> & operator&= (tvec3<U, P> const & v);
+
220  template <typename U>
+
221  GLM_FUNC_DECL tvec3<T, P> & operator|= (U s);
+
222  template <typename U>
+
223  GLM_FUNC_DECL tvec3<T, P> & operator|= (tvec3<U, P> const & v);
+
224  template <typename U>
+
225  GLM_FUNC_DECL tvec3<T, P> & operator^= (U s);
+
226  template <typename U>
+
227  GLM_FUNC_DECL tvec3<T, P> & operator^= (tvec3<U, P> const & v);
+
228  template <typename U>
+
229  GLM_FUNC_DECL tvec3<T, P> & operator<<=(U s);
+
230  template <typename U>
+
231  GLM_FUNC_DECL tvec3<T, P> & operator<<=(tvec3<U, P> const & v);
+
232  template <typename U>
+
233  GLM_FUNC_DECL tvec3<T, P> & operator>>=(U s);
+
234  template <typename U>
+
235  GLM_FUNC_DECL tvec3<T, P> & operator>>=(tvec3<U, P> const & v);
+
236  };
+
237 
+
238  template <typename T, precision P>
+
239  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v, T const & s);
+
240 
+
241  template <typename T, precision P>
+
242  GLM_FUNC_DECL tvec3<T, P> operator+(T const & s, tvec3<T, P> const & v);
+
243 
+
244  template <typename T, precision P>
+
245  GLM_FUNC_DECL tvec3<T, P> operator+(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
246 
+
247  template <typename T, precision P>
+
248  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v, T const & s);
+
249 
+
250  template <typename T, precision P>
+
251  GLM_FUNC_DECL tvec3<T, P> operator-(T const & s, tvec3<T, P> const & v);
+
252 
+
253  template <typename T, precision P>
+
254  GLM_FUNC_DECL tvec3<T, P> operator- (tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
255 
+
256  template <typename T, precision P>
+
257  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v, T const & s);
+
258 
+
259  template <typename T, precision P>
+
260  GLM_FUNC_DECL tvec3<T, P> operator*(T const & s, tvec3<T, P> const & v);
+
261 
+
262  template <typename T, precision P>
+
263  GLM_FUNC_DECL tvec3<T, P> operator*(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
264 
+
265  template <typename T, precision P>
+
266  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v, T const & s);
+
267 
+
268  template <typename T, precision P>
+
269  GLM_FUNC_DECL tvec3<T, P> operator/(T const & s, tvec3<T, P> const & v);
+
270 
+
271  template <typename T, precision P>
+
272  GLM_FUNC_DECL tvec3<T, P> operator/(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
273 
+
274  template <typename T, precision P>
+
275  GLM_FUNC_DECL tvec3<T, P> operator-(tvec3<T, P> const & v);
+
276 
+
277  template <typename T, precision P>
+
278  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v, T const & s);
+
279 
+
280  template <typename T, precision P>
+
281  GLM_FUNC_DECL tvec3<T, P> operator%(T const & s, tvec3<T, P> const & v);
+
282 
+
283  template <typename T, precision P>
+
284  GLM_FUNC_DECL tvec3<T, P> operator%(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
285 
+
286  template <typename T, precision P>
+
287  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v, T const & s);
+
288 
+
289  template <typename T, precision P>
+
290  GLM_FUNC_DECL tvec3<T, P> operator&(T const & s, tvec3<T, P> const & v);
+
291 
+
292  template <typename T, precision P>
+
293  GLM_FUNC_DECL tvec3<T, P> operator&(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
294 
+
295  template <typename T, precision P>
+
296  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v, T const & s);
+
297 
+
298  template <typename T, precision P>
+
299  GLM_FUNC_DECL tvec3<T, P> operator|(T const & s, tvec3<T, P> const & v);
+
300 
+
301  template <typename T, precision P>
+
302  GLM_FUNC_DECL tvec3<T, P> operator|(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
303 
+
304  template <typename T, precision P>
+
305  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v, T const & s);
+
306 
+
307  template <typename T, precision P>
+
308  GLM_FUNC_DECL tvec3<T, P> operator^(T const & s, tvec3<T, P> const & v);
+
309 
+
310  template <typename T, precision P>
+
311  GLM_FUNC_DECL tvec3<T, P> operator^(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
312 
+
313  template <typename T, precision P>
+
314  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v, T const & s);
+
315 
+
316  template <typename T, precision P>
+
317  GLM_FUNC_DECL tvec3<T, P> operator<<(T const & s, tvec3<T, P> const & v);
+
318 
+
319  template <typename T, precision P>
+
320  GLM_FUNC_DECL tvec3<T, P> operator<<(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
321 
+
322  template <typename T, precision P>
+
323  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v, T const & s);
+
324 
+
325  template <typename T, precision P>
+
326  GLM_FUNC_DECL tvec3<T, P> operator>>(T const & s, tvec3<T, P> const & v);
+
327 
+
328  template <typename T, precision P>
+
329  GLM_FUNC_DECL tvec3<T, P> operator>>(tvec3<T, P> const & v1, tvec3<T, P> const & v2);
+
330 
+
331  template <typename T, precision P>
+
332  GLM_FUNC_DECL tvec3<T, P> operator~(tvec3<T, P> const & v);
+
333 
+
334 }//namespace detail
+
335 }//namespace glm
+
336 
+
337 #ifndef GLM_EXTERNAL_TEMPLATE
+
338 #include "type_vec3.inl"
+
339 #endif//GLM_EXTERNAL_TEMPLATE
+
340 
+
341 #endif//glm_core_type_gentype3
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00138.html glm-0.9.5.1/doc/api/a00138.html --- glm-0.9.4.6/doc/api/a00138.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00138.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,87 +0,0 @@ - - - - - -GTC Extensions (Stable) - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GTC Extensions (Stable)
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Modules

 GLM_GTC_constants
 
 GLM_GTC_epsilon
 
 GLM_GTC_half_float
 
 GLM_GTC_matrix_access
 
 GLM_GTC_matrix_integer
 
 GLM_GTC_matrix_inverse
 
 GLM_GTC_matrix_transform
 
 GLM_GTC_noise
 
 GLM_GTC_quaternion
 
 GLM_GTC_random
 
 GLM_GTC_reciprocal
 
 GLM_GTC_swizzle
 
 GLM_GTC_type_precision
 
 GLM_GTC_type_ptr
 
 GLM_GTC_ulp
 
-

Detailed Description

-

Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.

-

GTC extensions aim to be stable.

-

Even if it's highly unrecommended, it's possible to include all the extensions at once by including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00138_source.html glm-0.9.5.1/doc/api/a00138_source.html --- glm-0.9.4.6/doc/api/a00138_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00138_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,400 @@ + + + + + + +GLM: type_vec4.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
type_vec4.hpp
+
+
+
1 
+
29 #ifndef glm_core_type_gentype4
+
30 #define glm_core_type_gentype4
+
31 
+
32 //#include "../fwd.hpp"
+
33 #include "setup.hpp"
+
34 #include "type_vec.hpp"
+
35 #ifdef GLM_SWIZZLE
+
36 # if GLM_HAS_ANONYMOUS_UNION
+
37 # include "_swizzle.hpp"
+
38 # else
+
39 # include "_swizzle_func.hpp"
+
40 # endif
+
41 #endif //GLM_SWIZZLE
+
42 #if(GLM_HAS_INITIALIZER_LISTS)
+
43 # include <initializer_list>
+
44 #endif //GLM_HAS_INITIALIZER_LISTS
+
45 #include <cstddef>
+
46 
+
47 namespace glm{
+
48 namespace detail
+
49 {
+
50  template <typename T, precision P>
+
51  struct tvec4
+
52  {
+
54  // Implementation detail
+
55 
+
56  enum ctor{_null};
+
57 
+
58  typedef tvec4<T, P> type;
+
59  typedef tvec4<bool, P> bool_type;
+
60  typedef T value_type;
+
61  typedef int size_type;
+
62 
+
64  // Helper
+
65 
+
66  GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
+
67 
+
69  // Data
+
70 
+
71 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
+
72  union
+
73  {
+
74  struct { T r, g, b, a; };
+
75  struct { T s, t, p, q; };
+
76  struct { T x, y, z, w;};
+
77 
+
78  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, x, y, z, w)
+
79  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, r, g, b, a)
+
80  _GLM_SWIZZLE4_2_MEMBERS(T, P, tvec2, s, t, p, q)
+
81  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, x, y, z, w)
+
82  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, r, g, b, a)
+
83  _GLM_SWIZZLE4_3_MEMBERS(T, P, tvec3, s, t, p, q)
+
84  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, x, y, z, w)
+
85  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, r, g, b, a)
+
86  _GLM_SWIZZLE4_4_MEMBERS(T, P, tvec4, s, t, p, q)
+
87  };
+
88 # else
+
89  union { T x, r, s; };
+
90  union { T y, g, t; };
+
91  union { T z, b, p; };
+
92  union { T w, a, q; };
+
93 
+
94 # ifdef GLM_SWIZZLE
+
95  GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, P, detail::tvec4, detail::tvec2, detail::tvec3, detail::tvec4)
+
96 # endif
+
97 # endif//GLM_LANG
+
98 
+
100  // Accesses
+
101 
+
102  GLM_FUNC_DECL T & operator[](length_t i);
+
103  GLM_FUNC_DECL T const & operator[](length_t i) const;
+
104 
+
106  // Implicit basic constructors
+
107 
+
108  GLM_FUNC_DECL tvec4();
+
109  GLM_FUNC_DECL tvec4(type const & v);
+
110  template <precision Q>
+
111  GLM_FUNC_DECL tvec4(tvec4<T, Q> const & v);
+
112 
+
113 #if(GLM_HAS_INITIALIZER_LISTS)
+
114  template <typename U>
+
115  GLM_FUNC_DECL tvec4(std::initializer_list<U> l);
+
116 #endif//GLM_HAS_INITIALIZER_LISTS
+
117 
+
119  // Explicit basic constructors
+
120 
+
121  GLM_FUNC_DECL explicit tvec4(
+
122  ctor);
+
123  GLM_FUNC_DECL explicit tvec4(
+
124  T const & s);
+
125  GLM_FUNC_DECL explicit tvec4(
+
126  T const & s0,
+
127  T const & s1,
+
128  T const & s2,
+
129  T const & s3);
+
130 
+
132  // Conversion scalar constructors
+
133 
+
135  template <typename A, typename B, typename C, typename D>
+
136  GLM_FUNC_DECL explicit tvec4(
+
137  A const & x,
+
138  B const & y,
+
139  C const & z,
+
140  D const & w);
+
141 
+
143  // Conversion vector constructors
+
144 
+
146  template <typename A, typename B, typename C, precision Q>
+
147  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & v, B const & s1, C const & s2);
+
149  template <typename A, typename B, typename C, precision Q>
+
150  GLM_FUNC_DECL explicit tvec4(A const & s1, tvec2<B, Q> const & v, C const & s2);
+
152  template <typename A, typename B, typename C, precision Q>
+
153  GLM_FUNC_DECL explicit tvec4(A const & s1, B const & s2, tvec2<C, Q> const & v);
+
155  template <typename A, typename B, precision Q>
+
156  GLM_FUNC_DECL explicit tvec4(tvec3<A, Q> const & v, B const & s);
+
158  template <typename A, typename B, precision Q>
+
159  GLM_FUNC_DECL explicit tvec4(A const & s, tvec3<B, Q> const & v);
+
161  template <typename A, typename B, precision Q>
+
162  GLM_FUNC_DECL explicit tvec4(tvec2<A, Q> const & v1, tvec2<B, Q> const & v2);
+
164  template <typename U, precision Q>
+
165  GLM_FUNC_DECL explicit tvec4(tvec4<U, Q> const & v);
+
166 
+
168  // Swizzle constructors
+
169 
+
170 # if(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
+
171  template <int E0, int E1, int E2, int E3>
+
172  GLM_FUNC_DECL tvec4(_swizzle<4, T, P, tvec4<T, P>, E0, E1, E2, E3> const & that)
+
173  {
+
174  *this = that();
+
175  }
+
176 
+
177  template <int E0, int E1, int F0, int F1>
+
178  GLM_FUNC_DECL tvec4(_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, _swizzle<2, T, P, tvec2<T, P>, F0, F1, -1, -2> const & u)
+
179  {
+
180  *this = tvec4<T, P>(v(), u());
+
181  }
+
182 
+
183  template <int E0, int E1>
+
184  GLM_FUNC_DECL tvec4(T const & x, T const & y, _swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v)
+
185  {
+
186  *this = tvec4<T, P>(x, y, v());
+
187  }
+
188 
+
189  template <int E0, int E1>
+
190  GLM_FUNC_DECL tvec4(T const & x, _swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & w)
+
191  {
+
192  *this = tvec4<T, P>(x, v(), w);
+
193  }
+
194 
+
195  template <int E0, int E1>
+
196  GLM_FUNC_DECL tvec4(_swizzle<2, T, P, tvec2<T, P>, E0, E1, -1, -2> const & v, T const & z, T const & w)
+
197  {
+
198  *this = tvec4<T, P>(v(), z, w);
+
199  }
+
200 
+
201  template <int E0, int E1, int E2>
+
202  GLM_FUNC_DECL tvec4(_swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & v, T const & w)
+
203  {
+
204  *this = tvec4<T, P>(v(), w);
+
205  }
+
206 
+
207  template <int E0, int E1, int E2>
+
208  GLM_FUNC_DECL tvec4(T const & x, _swizzle<3, T, P, tvec3<T, P>, E0, E1, E2, -1> const & v)
+
209  {
+
210  *this = tvec4<T, P>(x, v());
+
211  }
+
212 # endif//(GLM_HAS_ANONYMOUS_UNION && defined(GLM_SWIZZLE))
+
213 
+
215  // Unary arithmetic operators
+
216 
+
217  GLM_FUNC_DECL tvec4<T, P> & operator= (tvec4<T, P> const & v);
+
218  template <typename U, precision Q>
+
219  GLM_FUNC_DECL tvec4<T, P> & operator= (tvec4<U, Q> const & v);
+
220 
+
221  template <typename U>
+
222  GLM_FUNC_DECL tvec4<T, P> & operator+=(U s);
+
223  template <typename U>
+
224  GLM_FUNC_DECL tvec4<T, P> & operator+=(tvec4<U, P> const & v);
+
225  template <typename U>
+
226  GLM_FUNC_DECL tvec4<T, P> & operator-=(U s);
+
227  template <typename U>
+
228  GLM_FUNC_DECL tvec4<T, P> & operator-=(tvec4<U, P> const & v);
+
229  template <typename U>
+
230  GLM_FUNC_DECL tvec4<T, P> & operator*=(U s);
+
231  template <typename U>
+
232  GLM_FUNC_DECL tvec4<T, P> & operator*=(tvec4<U, P> const & v);
+
233  template <typename U>
+
234  GLM_FUNC_DECL tvec4<T, P> & operator/=(U s);
+
235  template <typename U>
+
236  GLM_FUNC_DECL tvec4<T, P> & operator/=(tvec4<U, P> const & v);
+
237 
+
239  // Increment and decrement operators
+
240 
+
241  GLM_FUNC_DECL tvec4<T, P> & operator++();
+
242  GLM_FUNC_DECL tvec4<T, P> & operator--();
+
243  GLM_FUNC_DECL tvec4<T, P> operator++(int);
+
244  GLM_FUNC_DECL tvec4<T, P> operator--(int);
+
245 
+
247  // Unary bit operators
+
248 
+
249  template <typename U>
+
250  GLM_FUNC_DECL tvec4<T, P> & operator%= (U s);
+
251  template <typename U>
+
252  GLM_FUNC_DECL tvec4<T, P> & operator%= (tvec4<U, P> const & v);
+
253  template <typename U>
+
254  GLM_FUNC_DECL tvec4<T, P> & operator&= (U s);
+
255  template <typename U>
+
256  GLM_FUNC_DECL tvec4<T, P> & operator&= (tvec4<U, P> const & v);
+
257  template <typename U>
+
258  GLM_FUNC_DECL tvec4<T, P> & operator|= (U s);
+
259  template <typename U>
+
260  GLM_FUNC_DECL tvec4<T, P> & operator|= (tvec4<U, P> const & v);
+
261  template <typename U>
+
262  GLM_FUNC_DECL tvec4<T, P> & operator^= (U s);
+
263  template <typename U>
+
264  GLM_FUNC_DECL tvec4<T, P> & operator^= (tvec4<U, P> const & v);
+
265  template <typename U>
+
266  GLM_FUNC_DECL tvec4<T, P> & operator<<=(U s);
+
267  template <typename U>
+
268  GLM_FUNC_DECL tvec4<T, P> & operator<<=(tvec4<U, P> const & v);
+
269  template <typename U>
+
270  GLM_FUNC_DECL tvec4<T, P> & operator>>=(U s);
+
271  template <typename U>
+
272  GLM_FUNC_DECL tvec4<T, P> & operator>>=(tvec4<U, P> const & v);
+
273  };
+
274 
+
275  template <typename T, precision P>
+
276  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v, T const & s);
+
277 
+
278  template <typename T, precision P>
+
279  GLM_FUNC_DECL tvec4<T, P> operator+(T const & s, tvec4<T, P> const & v);
+
280 
+
281  template <typename T, precision P>
+
282  GLM_FUNC_DECL tvec4<T, P> operator+(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
283 
+
284  template <typename T, precision P>
+
285  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v, T const & s);
+
286 
+
287  template <typename T, precision P>
+
288  GLM_FUNC_DECL tvec4<T, P> operator-(T const & s, tvec4<T, P> const & v);
+
289 
+
290  template <typename T, precision P>
+
291  GLM_FUNC_DECL tvec4<T, P> operator- (tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
292 
+
293  template <typename T, precision P>
+
294  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v, T const & s);
+
295 
+
296  template <typename T, precision P>
+
297  GLM_FUNC_DECL tvec4<T, P> operator*(T const & s, tvec4<T, P> const & v);
+
298 
+
299  template <typename T, precision P>
+
300  GLM_FUNC_DECL tvec4<T, P> operator*(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
301 
+
302  template <typename T, precision P>
+
303  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v, T const & s);
+
304 
+
305  template <typename T, precision P>
+
306  GLM_FUNC_DECL tvec4<T, P> operator/(T const & s, tvec4<T, P> const & v);
+
307 
+
308  template <typename T, precision P>
+
309  GLM_FUNC_DECL tvec4<T, P> operator/(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
310 
+
311  template <typename T, precision P>
+
312  GLM_FUNC_DECL tvec4<T, P> operator-(tvec4<T, P> const & v);
+
313 
+
314  template <typename T, precision P>
+
315  GLM_FUNC_DECL bool operator==(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
316 
+
317  template <typename T, precision P>
+
318  GLM_FUNC_DECL bool operator!=(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
319 
+
320  template <typename T, precision P>
+
321  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v, T const & s);
+
322 
+
323  template <typename T, precision P>
+
324  GLM_FUNC_DECL tvec4<T, P> operator%(T const & s, tvec4<T, P> const & v);
+
325 
+
326  template <typename T, precision P>
+
327  GLM_FUNC_DECL tvec4<T, P> operator%(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
328 
+
329  template <typename T, precision P>
+
330  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v, T const & s);
+
331 
+
332  template <typename T, precision P>
+
333  GLM_FUNC_DECL tvec4<T, P> operator&(T const & s, tvec4<T, P> const & v);
+
334 
+
335  template <typename T, precision P>
+
336  GLM_FUNC_DECL tvec4<T, P> operator&(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
337 
+
338  template <typename T, precision P>
+
339  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v, T const & s);
+
340 
+
341  template <typename T, precision P>
+
342  GLM_FUNC_DECL tvec4<T, P> operator|(T const & s, tvec4<T, P> const & v);
+
343 
+
344  template <typename T, precision P>
+
345  GLM_FUNC_DECL tvec4<T, P> operator|(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
346 
+
347  template <typename T, precision P>
+
348  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v, T const & s);
+
349 
+
350  template <typename T, precision P>
+
351  GLM_FUNC_DECL tvec4<T, P> operator^(T const & s, tvec4<T, P> const & v);
+
352 
+
353  template <typename T, precision P>
+
354  GLM_FUNC_DECL tvec4<T, P> operator^(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
355 
+
356  template <typename T, precision P>
+
357  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v, T const & s);
+
358 
+
359  template <typename T, precision P>
+
360  GLM_FUNC_DECL tvec4<T, P> operator<<(T const & s, tvec4<T, P> const & v);
+
361 
+
362  template <typename T, precision P>
+
363  GLM_FUNC_DECL tvec4<T, P> operator<<(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
364 
+
365  template <typename T, precision P>
+
366  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec4<T, P> const & v, T const & s);
+
367 
+
368  template <typename T, precision P>
+
369  GLM_FUNC_DECL tvec4<T, P> operator>>(T const & s, tvec4<T, P> const & v);
+
370 
+
371  template <typename T, precision P>
+
372  GLM_FUNC_DECL tvec4<T, P> operator>>(tvec4<T, P> const & v1, tvec4<T, P> const & v2);
+
373 
+
374  template <typename T, precision P>
+
375  GLM_FUNC_DECL tvec4<T, P> operator~(tvec4<T, P> const & v);
+
376 
+
377 }//namespace detail
+
378 }//namespace glm
+
379 
+
380 #ifndef GLM_EXTERNAL_TEMPLATE
+
381 #include "type_vec4.inl"
+
382 #endif//GLM_EXTERNAL_TEMPLATE
+
383 
+
384 #endif//glm_core_type_gentype4
+
GLM_FUNC_DECL genType::value_type length(genType const &x)
Returns the length of x, i.e., sqrt(x * x).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00139.html glm-0.9.5.1/doc/api/a00139.html --- glm-0.9.4.6/doc/api/a00139.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00139.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,165 +1,105 @@ - - - - - -GTX Extensions (Experimental) - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GTX Extensions (Experimental)
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Modules

 GLM_GTX_associated_min_max
 
 GLM_GTX_bit
 
 GLM_GTX_closest_point
 
 GLM_GTX_color_cast
 
 GLM_GTX_color_space
 
 GLM_GTX_color_space_YCoCg
 
 GLM_GTX_compatibility
 
 GLM_GTX_component_wise
 
 GLM_GTX_euler_angles
 
 GLM_GTX_extend
 
 GLM_GTX_extented_min_max
 
 GLM_GTX_fast_exponential
 
 GLM_GTX_fast_square_root
 
 GLM_GTX_fast_trigonometry
 
 GLM_GTX_gradient_paint
 
 GLM_GTX_handed_coordinate_space
 
 GLM_GTX_inertia
 
 GLM_GTX_int_10_10_10_2
 
 GLM_GTX_integer
 
 GLM_GTX_intersect
 
 GLM_GTX_log_base
 
 GLM_GTX_matrix_cross_product
 
 GLM_GTX_matrix_interpolation
 
 GLM_GTX_matrix_major_storage
 
 GLM_GTX_matrix_operation
 
 GLM_GTX_matrix_query
 
 GLM_GTX_mixed_producte
 
 GLM_GTX_multiple
 
 GLM_GTX_norm
 
 GLM_GTX_normal
 
 GLM_GTX_normalize_dot
 
 GLM_GTX_number_precision
 
 GLM_GTX_ocl_type
 
 GLM_GTX_optimum_pow
 
 GLM_GTX_orthonormalize
 
 GLM_GTX_perpendicular
 
 GLM_GTX_polar_coordinates
 
 GLM_GTX_projection
 
 GLM_GTX_quaternion
 
 GLM_GTX_raw_data
 
 GLM_GTX_rotate_vector
 
 GLM_GTX_simd_mat4
 
 GLM_GTX_simd_vec4
 
 GLM_GTX_spline
 
 GLM_GTX_std_based_type
 
 GLM_GTX_string_cast
 
 GLM_GTX_transform
 
 GLM_GTX_transform2
 
 GLM_GTX_vec1
 
 GLM_GTX_vector_access
 
 GLM_GTX_vector_angle
 
 GLM_GTX_vector_query
 
 GLM_GTX_verbose_operator
 
 GLM_GTX_wrap
 
-

Detailed Description

-

Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.

-

Experimental extensions are useful functions and types, but the development of their API and functionality is not necessarily stable. They can change substantially between versions. Backwards compatibility is not much of an issue for them.

-

Even if it's highly unrecommended, it's possible to include all the extensions at once by including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.

-
- - - - + + + + + + +GLM: ulp.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
gtc/ulp.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
GLM_FUNC_DECL uint float_distance (T const &x, T const &y)
 
template<typename T , template< typename > class vecType>
GLM_FUNC_DECL vecType< uint > float_distance (vecType< T > const &x, vecType< T > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x, uint const &Distance)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x, uint const &Distance)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTC_ulp

+
Date
2011-02-21 / 2011-12-12
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file gtc/ulp.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00139_source.html glm-0.9.5.1/doc/api/a00139_source.html --- glm-0.9.4.6/doc/api/a00139_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00139_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,106 @@ + + + + + + +GLM: ulp.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtc/ulp.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_GTC_ulp
+
40 #define GLM_GTC_ulp
+
41 
+
42 // Dependencies
+
43 #include "../detail/setup.hpp"
+
44 #include "../detail/precision.hpp"
+
45 #include "../detail/type_int.hpp"
+
46 
+
47 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
48 # pragma message("GLM: GLM_GTC_ulp extension included")
+
49 #endif
+
50 
+
51 namespace glm
+
52 {
+
55 
+
58  template <typename genType>
+
59  GLM_FUNC_DECL genType next_float(genType const & x);
+
60 
+
63  template <typename genType>
+
64  GLM_FUNC_DECL genType prev_float(genType const & x);
+
65 
+
68  template <typename genType>
+
69  GLM_FUNC_DECL genType next_float(genType const & x, uint const & Distance);
+
70 
+
73  template <typename genType>
+
74  GLM_FUNC_DECL genType prev_float(genType const & x, uint const & Distance);
+
75 
+
78  template <typename T>
+
79  GLM_FUNC_DECL uint float_distance(T const & x, T const & y);
+
80 
+
83  template<typename T, template<typename> class vecType>
+
84  GLM_FUNC_DECL vecType<uint> float_distance(vecType<T> const & x, vecType<T> const & y);
+
85 
+
87 }// namespace glm
+
88 
+
89 #include "ulp.inl"
+
90 
+
91 #endif//GLM_GTC_ulp
+
92 
+
GLM_FUNC_DECL genType next_float(genType const &x)
Return the next ULP value(s) after the input value(s).
+
unsigned int uint
Unsigned integer type.
Definition: type_int.hpp:171
+
GLM_FUNC_DECL uint float_distance(T const &x, T const &y)
Return the distance in the number of ULP between 2 scalars.
+
GLM_FUNC_DECL genType prev_float(genType const &x)
Return the previous ULP value(s) before the input value(s).
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00140.html glm-0.9.5.1/doc/api/a00140.html --- glm-0.9.4.6/doc/api/a00140.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00140.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ - - - - - -VIRTREV Extensions - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
VIRTREV Extensions
-
-
- - - - -

-Modules

 GLM_VIRTREV_xstream: xml like output
 
-

Detailed Description

-

Extensions develop and maintain by Mathieu [matrem] Roumillac (http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showprofile&User=22660).

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00140_source.html glm-0.9.5.1/doc/api/a00140_source.html --- glm-0.9.4.6/doc/api/a00140_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00140_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,69 @@ + + + + + + +GLM: ulp.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
gtx/ulp.hpp
+
+
+
1 
+
24 #if(defined(GLM_MESSAGES))
+
25 # pragma message("GLM: GLM_GTX_ulp extension is deprecated, include GLM_GTC_ulp (glm/gtc/ulp.hpp) instead")
+
26 #endif
+
27 
+
28 // Promoted:
+
29 #include "../gtc/ulp.hpp"
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00141.html glm-0.9.5.1/doc/api/a00141.html --- glm-0.9.4.6/doc/api/a00141.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00141.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,82 +0,0 @@ - - - - - -GLM Core - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM Core
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Modules

 Common functions
 
 Exponential functions
 
 Geometric functions
 
 Integer functions
 
 Matrix functions
 
 Noise functions
 
 Floating-Point Pack and Unpack Functions
 
 Angle and Trigonometry Functions
 
 Vector Relational Functions
 
 Types
 
 Precision types
 
 Template types
 
-

Detailed Description

-

The core of GLM, which implements exactly and only the GLSL specification to the degree possible.

-

The GLM core consists of C++ types that mirror GLSL types and C++ functions that mirror the GLSL functions. It also includes a set of precision-based types that can be used in the appropriate functions. The C++ types are all based on a basic set of template types.

-

The best documentation for GLM Core is the current GLSL specification, version 4.2 (pdf file). There are a few differences between GLM core and GLSL.

-

GLM core functionnalities require <glm/glm.hpp> to be included to be used.

-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00141_source.html glm-0.9.5.1/doc/api/a00141_source.html --- glm-0.9.4.6/doc/api/a00141_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00141_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,66 @@ + + + + + + +GLM: unsigned_int.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
unsigned_int.hpp
+
+
+
1 
+
24 #if(defined(GLM_MESSAGES))
+
25 # pragma message("GLM: GLM_GTX_unsigned_int extension is deprecated, include GLM_GTX_integer instead")
+
26 #endif
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00142.html glm-0.9.5.1/doc/api/a00142.html --- glm-0.9.4.6/doc/api/a00142.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00142.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,798 +1,113 @@ - - - - - -Types - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
Types
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::tvec2< bool > bvec2
 
typedef detail::tvec3< bool > bvec3
 
typedef detail::tvec4< bool > bvec4
 
typedef detail::tmat2x2< double > dmat2
 
typedef detail::tmat2x2< double > dmat2x2
 
typedef detail::tmat2x3< double > dmat2x3
 
typedef detail::tmat2x4< double > dmat2x4
 
typedef detail::tmat3x3< double > dmat3
 
typedef detail::tmat3x2< double > dmat3x2
 
typedef detail::tmat3x3< double > dmat3x3
 
typedef detail::tmat3x4< double > dmat3x4
 
typedef detail::tmat4x4< double > dmat4
 
typedef detail::tmat4x2< double > dmat4x2
 
typedef detail::tmat4x3< double > dmat4x3
 
typedef detail::tmat4x4< double > dmat4x4
 
typedef detail::tvec2< double > dvec2
 
typedef detail::tvec3< double > dvec3
 
typedef detail::tvec4< double > dvec4
 
typedef mediump_ivec2 ivec2
 
typedef mediump_ivec3 ivec3
 
typedef mediump_ivec4 ivec4
 
typedef mat2x2 mat2
 
typedef mediump_mat2x2 mat2x2
 
typedef mediump_mat2x3 mat2x3
 
typedef mediump_mat2x4 mat2x4
 
typedef mat3x3 mat3
 
typedef mediump_mat3x2 mat3x2
 
typedef mediump_mat3x3 mat3x3
 
typedef mediump_mat3x4 mat3x4
 
typedef mat4x4 mat4
 
typedef mediump_mat4x2 mat4x2
 
typedef mediump_mat4x3 mat4x3
 
typedef mediump_mat4x4 mat4x4
 
typedef mediump_uvec2 uvec2
 
typedef mediump_uvec3 uvec3
 
typedef mediump_uvec4 uvec4
 
typedef mediump_vec2 vec2
 
typedef mediump_vec3 vec3
 
typedef mediump_vec4 vec4
 
-

Detailed Description

-

The standard types defined by the specification.

-

These types are all typedefs of more generalized, template types. To see the definiton of these template types, go to Template types.

-

Typedef Documentation

- -
-
- - - - -
typedef detail::tvec2<bool> bvec2
-
- -

2 components vector of boolean.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 248 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<bool> bvec3
-
- -

3 components vector of boolean.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 253 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<bool> bvec4
-
- -

4 components vector of boolean.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 258 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<double> dmat2
-
- -

2 * 2 matrix of double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 281 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<double> dmat2x2
-
- -

2 * 2 matrix of double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 296 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<double> dmat2x3
-
- -

2 * 3 matrix of double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 301 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<double> dmat2x4
-
- -

2 * 4 matrix of double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 306 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<double> dmat3
-
- -

3 * 3 matrix of double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 286 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<double> dmat3x2
-
- -

3 * 2 matrix of double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 311 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<double> dmat3x3
-
- -

3 * 3 matrix of double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 316 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<double> dmat3x4
-
- -

3 * 4 matrix of double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 321 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<double> dmat4
-
- -

4 * 4 matrix of double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 291 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<double> dmat4x2
-
- -

4 * 2 matrix of double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 326 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<double> dmat4x3
-
- -

4 * 3 matrix of double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 331 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<double> dmat4x4
-
- -

4 * 4 matrix of double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 336 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<double> dvec2
-
- -

Vector of 2 double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 266 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<double> dvec3
-
- -

Vector of 3 double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 271 of file type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<double> dvec4
-
- -

Vector of 4 double-precision floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 276 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_ivec2 ivec2
-
- -

2 components vector of signed integer numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 197 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_ivec3 ivec3
-
- -

3 components vector of signed integer numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 202 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_ivec4 ivec4
-
- -

4 components vector of signed integer numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 207 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mat2x2 mat2
-
- -

2 columns of 2 components matrix of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 166 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_mat2x2 mat2x2
-
- -

2 columns of 2 components matrix of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 119 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_mat2x3 mat2x3
-
- -

2 columns of 3 components matrix of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 124 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_mat2x4 mat2x4
-
- -

2 columns of 4 components matrix of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 129 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mat3x3 mat3
-
- -

3 columns of 3 components matrix of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 171 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_mat3x2 mat3x2
-
- -

3 columns of 2 components matrix of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 134 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_mat3x3 mat3x3
-
- -

3 columns of 3 components matrix of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 139 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_mat3x4 mat3x4
-
- -

3 columns of 4 components matrix of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 144 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mat4x4 mat4
-
- -

4 columns of 4 components matrix of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 176 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_mat4x2 mat4x2
-
- -

4 columns of 2 components matrix of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 149 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_mat4x3 mat4x3
-
- -

4 columns of 3 components matrix of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 154 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_mat4x4 mat4x4
-
- -

4 columns of 4 components matrix of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
- -

Definition at line 159 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_uvec2 uvec2
-
- -

2 components vector of unsigned integer numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 229 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_uvec3 uvec3
-
- -

3 components vector of unsigned integer numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 234 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_uvec4 uvec4
-
- -

4 components vector of unsigned integer numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 239 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_vec2 vec2
-
- -

2 components vector of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 104 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_vec3 vec3
-
- -

3 components vector of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 109 of file type.hpp.

- -
-
- -
-
- - - - -
typedef mediump_vec4 vec4
-
- -

4 components vector of floating-point numbers.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
- -

Definition at line 114 of file type.hpp.

- -
-
-
- - - - + + + + + + +GLM: vec1.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
vec1.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_bvec1 bvec1
 
typedef highp_bvec1_t highp_bvec1
 
typedef highp_ivec1_t highp_ivec1
 
typedef highp_uvec1_t highp_uvec1
 
typedef highp_ivec1 ivec1
 
typedef lowp_bvec1_t lowp_bvec1
 
typedef lowp_ivec1_t lowp_ivec1
 
typedef lowp_uvec1_t lowp_uvec1
 
typedef mediump_bvec1_t mediump_bvec1
 
typedef mediump_ivec1_t mediump_ivec1
 
typedef mediump_uvec1_t mediump_uvec1
 
typedef highp_uvec1 uvec1
 
typedef highp_vec1 vec1
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_vec1

+
Date
2010-02-08 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file vec1.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00142_source.html glm-0.9.5.1/doc/api/a00142_source.html --- glm-0.9.4.6/doc/api/a00142_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00142_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,164 @@ + + + + + + +GLM: vec1.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
vec1.hpp
+
+
+Go to the documentation of this file.
1 
+
37 #ifndef GLM_GTX_vec1
+
38 #define GLM_GTX_vec1
+
39 
+
40 // Dependency:
+
41 #include "../glm.hpp"
+
42 #include "../detail/type_vec1.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_vec1 extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
53  typedef highp_vec1_t highp_vec1;
+
54 
+
58  typedef mediump_vec1_t mediump_vec1;
+
59 
+
63  typedef lowp_vec1_t lowp_vec1;
+
64 
+
68  typedef highp_ivec1_t highp_ivec1;
+
69 
+
73  typedef mediump_ivec1_t mediump_ivec1;
+
74 
+
78  typedef lowp_ivec1_t lowp_ivec1;
+
79 
+
83  typedef highp_uvec1_t highp_uvec1;
+
84 
+
88  typedef mediump_uvec1_t mediump_uvec1;
+
89 
+
93  typedef lowp_uvec1_t lowp_uvec1;
+
94 
+
98  typedef highp_bvec1_t highp_bvec1;
+
99 
+
103  typedef mediump_bvec1_t mediump_bvec1;
+
104 
+
108  typedef lowp_bvec1_t lowp_bvec1;
+
109 
+
111  // vec1 definition
+
112 
+
113 #if(defined(GLM_PRECISION_HIGHP_BOOL))
+
114  typedef highp_bvec1 bvec1;
+
115 #elif(defined(GLM_PRECISION_MEDIUMP_BOOL))
+
116  typedef mediump_bvec1 bvec1;
+
117 #elif(defined(GLM_PRECISION_LOWP_BOOL))
+
118  typedef lowp_bvec1 bvec1;
+
119 #else
+
120  typedef highp_bvec1 bvec1;
+
123 #endif//GLM_PRECISION
+
124 
+
125 #if(defined(GLM_PRECISION_HIGHP_FLOAT))
+
126  typedef highp_vec1 vec1;
+
127 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
+
128  typedef mediump_vec1 vec1;
+
129 #elif(defined(GLM_PRECISION_LOWP_FLOAT))
+
130  typedef lowp_vec1 vec1;
+
131 #else
+
132  typedef highp_vec1 vec1;
+
135 #endif//GLM_PRECISION
+
136 
+
137 #if(defined(GLM_PRECISION_HIGHP_INT))
+
138  typedef highp_ivec1 ivec1;
+
139 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
+
140  typedef mediump_ivec1 ivec1;
+
141 #elif(defined(GLM_PRECISION_LOWP_INT))
+
142  typedef lowp_ivec1 ivec1;
+
143 #else
+
144  typedef highp_ivec1 ivec1;
+
147 #endif//GLM_PRECISION
+
148 
+
149 #if(defined(GLM_PRECISION_HIGHP_UINT))
+
150  typedef highp_uvec1 uvec1;
+
151 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
+
152  typedef mediump_uvec1 uvec1;
+
153 #elif(defined(GLM_PRECISION_LOWP_UINT))
+
154  typedef lowp_uvec1 uvec1;
+
155 #else
+
156  typedef highp_uvec1 uvec1;
+
159 #endif//GLM_PRECISION
+
160 
+
161 }// namespace glm
+
162 
+
163 #include "vec1.inl"
+
164 
+
165 #endif//GLM_GTX_vec1
+
166 
+
lowp_uvec1_t lowp_uvec1
1 component vector of low precision unsigned integer numbers.
Definition: vec1.hpp:93
+
mediump_uvec1_t mediump_uvec1
1 component vector of medium precision unsigned integer numbers.
Definition: vec1.hpp:88
+
detail::tvec1< float, highp > highp_vec1
High single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1601
+
highp_ivec1 ivec1
1 component vector of signed integer numbers.
Definition: vec1.hpp:146
+
highp_ivec1_t highp_ivec1
1 component vector of high precision signed integer numbers.
Definition: vec1.hpp:68
+
detail::tvec1< float, mediump > mediump_vec1
Medium single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1567
+
detail::tvec1< float, lowp > lowp_vec1
Low single-precision floating-point vector of 1 component.
Definition: fwd.hpp:1533
+
highp_uvec1_t highp_uvec1
1 component vector of high precision unsigned integer numbers.
Definition: vec1.hpp:83
+
highp_vec1 vec1
1 component vector of floating-point numbers.
Definition: vec1.hpp:134
+
highp_bvec1 bvec1
1 component vector of boolean.
Definition: vec1.hpp:122
+
mediump_bvec1_t mediump_bvec1
1 component vector of medium precision boolean.
Definition: vec1.hpp:103
+
mediump_ivec1_t mediump_ivec1
1 component vector of medium precision signed integer numbers.
Definition: vec1.hpp:73
+
highp_uvec1 uvec1
1 component vector of unsigned integer numbers.
Definition: vec1.hpp:158
+
lowp_ivec1_t lowp_ivec1
1 component vector of low precision signed integer numbers.
Definition: vec1.hpp:78
+
highp_bvec1_t highp_bvec1
1 component vector of high precision boolean.
Definition: vec1.hpp:98
+
lowp_bvec1_t lowp_bvec1
1 component vector of low precision boolean.
Definition: vec1.hpp:108
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00143.html glm-0.9.5.1/doc/api/a00143.html --- glm-0.9.4.6/doc/api/a00143.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00143.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,1434 +1,74 @@ - - - - - -Precision types - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
Precision types
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef highp_float_t highp_float
 
typedef detail::highp_int_t highp_int
 
typedef detail::tvec2< highp_int > highp_ivec2
 
typedef detail::tvec3< highp_int > highp_ivec3
 
typedef detail::tvec4< highp_int > highp_ivec4
 
typedef detail::tmat2x2
-< highp_float > 
highp_mat2
 
typedef detail::tmat2x2
-< highp_float > 
highp_mat2x2
 
typedef detail::tmat2x3
-< highp_float > 
highp_mat2x3
 
typedef detail::tmat2x4
-< highp_float > 
highp_mat2x4
 
typedef detail::tmat3x2
-< highp_float > 
highp_mat3x2
 
typedef detail::tmat3x4
-< highp_float > 
highp_mat3x4
 
typedef detail::tmat4x2
-< highp_float > 
highp_mat4x2
 
typedef detail::tmat4x3
-< highp_float > 
highp_mat4x3
 
typedef detail::highp_uint_t highp_uint
 
typedef detail::tvec2< highp_uint > highp_uvec2
 
typedef detail::tvec3< highp_uint > highp_uvec3
 
typedef detail::tvec4< highp_uint > highp_uvec4
 
typedef detail::tvec2
-< highp_float > 
highp_vec2
 
typedef detail::tvec3
-< highp_float > 
highp_vec3
 
typedef detail::tvec4
-< highp_float > 
highp_vec4
 
typedef lowp_float_t lowp_float
 
typedef detail::lowp_int_t lowp_int
 
typedef detail::tvec2< lowp_int > lowp_ivec2
 
typedef detail::tvec3< lowp_int > lowp_ivec3
 
typedef detail::tvec4< lowp_int > lowp_ivec4
 
typedef detail::tmat2x2
-< lowp_float > 
lowp_mat2
 
typedef detail::tmat2x2
-< lowp_float > 
lowp_mat2x2
 
typedef detail::tmat2x3
-< lowp_float > 
lowp_mat2x3
 
typedef detail::tmat2x4
-< lowp_float > 
lowp_mat2x4
 
typedef detail::tmat3x2
-< lowp_float > 
lowp_mat3x2
 
typedef detail::tmat3x4
-< lowp_float > 
lowp_mat3x4
 
typedef detail::tmat4x2
-< lowp_float > 
lowp_mat4x2
 
typedef detail::tmat4x3
-< lowp_float > 
lowp_mat4x3
 
typedef detail::lowp_uint_t lowp_uint
 
typedef detail::tvec2< lowp_uint > lowp_uvec2
 
typedef detail::tvec3< lowp_uint > lowp_uvec3
 
typedef detail::tvec4< lowp_uint > lowp_uvec4
 
typedef detail::tvec2< lowp_float > lowp_vec2
 
typedef detail::tvec3< lowp_float > lowp_vec3
 
typedef detail::tvec4< lowp_float > lowp_vec4
 
typedef mediump_float_t mediump_float
 
typedef detail::mediump_int_t mediump_int
 
typedef detail::tvec2
-< mediump_int > 
mediump_ivec2
 
typedef detail::tvec3
-< mediump_int > 
mediump_ivec3
 
typedef detail::tvec4
-< mediump_int > 
mediump_ivec4
 
typedef detail::tmat2x2
-< mediump_float > 
mediump_mat2
 
typedef detail::tmat2x2
-< mediump_float > 
mediump_mat2x2
 
typedef detail::tmat2x3
-< mediump_float > 
mediump_mat2x3
 
typedef detail::tmat2x4
-< mediump_float > 
mediump_mat2x4
 
typedef detail::tmat3x2
-< mediump_float > 
mediump_mat3x2
 
typedef detail::tmat3x4
-< mediump_float > 
mediump_mat3x4
 
typedef detail::tmat4x2
-< mediump_float > 
mediump_mat4x2
 
typedef detail::tmat4x3
-< mediump_float > 
mediump_mat4x3
 
typedef detail::mediump_uint_t mediump_uint
 
typedef detail::tvec2
-< mediump_uint > 
mediump_uvec2
 
typedef detail::tvec3
-< mediump_uint > 
mediump_uvec3
 
typedef detail::tvec4
-< mediump_uint > 
mediump_uvec4
 
typedef detail::tvec2
-< mediump_float > 
mediump_vec2
 
typedef detail::tvec3
-< mediump_float > 
mediump_vec3
 
typedef detail::tvec4
-< mediump_float > 
mediump_vec4
 
typedef uint_t uint
 
-

Detailed Description

-

Non-GLSL types that are used to define precision-based types.

-

The GLSL language allows the user to define the precision of a particular variable. In OpenGL's GLSL, these precision qualifiers have no effect; they are there for compatibility with OpenGL ES's precision qualifiers, where they do have an effect.

-

C++ has no language equivalent to precision qualifiers. So GLM provides the next-best thing: a number of typedefs of the Template types that use a particular precision.

-

None of these types make any guarantees about the actual precision used.

-

Typedef Documentation

- -
-
- - - - -
typedef highp_float_t highp_float
-
- -

High precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.4 Floats
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 67 of file type_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::highp_int_t highp_int
-
- -

High precision signed integer.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 81 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<highp_int> highp_ivec2
-
- -

2 components vector of high precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 273 of file type_vec2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<highp_int> highp_ivec3
-
- -

3 components vector of high precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 298 of file type_vec3.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<highp_int> highp_ivec4
-
- -

4 components vector of high precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 355 of file type_vec4.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<highp_float> highp_mat2
-
- -

2 columns of 2 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 284 of file type_mat2x2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<highp_float> highp_mat2x2
-
- -

2 columns of 2 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 305 of file type_mat2x2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<highp_float> highp_mat2x3
-
- -

2 columns of 3 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 249 of file type_mat2x3.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<highp_float> highp_mat2x4
-
- -

2 columns of 4 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 251 of file type_mat2x4.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<highp_float> highp_mat3x2
-
- -

3 columns of 2 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 256 of file type_mat3x2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<highp_float> highp_mat3x4
-
- -

3 columns of 4 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 257 of file type_mat3x4.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<highp_float> highp_mat4x2
-
- -

4 columns of 2 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 261 of file type_mat4x2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<highp_float> highp_mat4x3
-
- -

4 columns of 3 components matrix of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 259 of file type_mat4x3.hpp.

- -
-
- -
-
- - - - -
typedef detail::highp_uint_t highp_uint
-
- -

High precision unsigned integer.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 102 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<highp_uint> highp_uvec2
-
- -

2 components vector of high precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 294 of file type_vec2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<highp_uint> highp_uvec3
-
- -

3 components vector of high precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 319 of file type_vec3.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<highp_uint> highp_uvec4
-
- -

4 components vector of high precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 376 of file type_vec4.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<highp_float> highp_vec2
-
- -

2 components vector of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 252 of file type_vec2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<highp_float> highp_vec3
-
- -

3 components vector of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 277 of file type_vec3.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<highp_float> highp_vec4
-
- -

4 components vector of high precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 334 of file type_vec4.hpp.

- -
-
- -
-
- - - - -
typedef lowp_float_t lowp_float
-
- -

Low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.4 Floats
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 53 of file type_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::lowp_int_t lowp_int
-
- -

Low precision signed integer.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 67 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<lowp_int> lowp_ivec2
-
- -

2 components vector of low precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 287 of file type_vec2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<lowp_int> lowp_ivec3
-
- -

3 components vector of low precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 312 of file type_vec3.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<lowp_int> lowp_ivec4
-
- -

4 components vector of low precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 369 of file type_vec4.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<lowp_float> lowp_mat2
-
- -

2 columns of 2 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 270 of file type_mat2x2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<lowp_float> lowp_mat2x2
-
- -

2 columns of 2 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 291 of file type_mat2x2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<lowp_float> lowp_mat2x3
-
- -

2 columns of 3 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 235 of file type_mat2x3.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<lowp_float> lowp_mat2x4
-
- -

2 columns of 4 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 237 of file type_mat2x4.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<lowp_float> lowp_mat3x2
-
- -

3 columns of 2 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 242 of file type_mat3x2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<lowp_float> lowp_mat3x4
-
- -

3 columns of 4 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 243 of file type_mat3x4.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<lowp_float> lowp_mat4x2
-
- -

4 columns of 2 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 247 of file type_mat4x2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<lowp_float> lowp_mat4x3
-
- -

4 columns of 3 components matrix of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 245 of file type_mat4x3.hpp.

- -
-
- -
-
- - - - -
typedef detail::lowp_uint_t lowp_uint
-
- -

Low precision unsigned integer.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 88 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<lowp_uint> lowp_uvec2
-
- -

2 components vector of low precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 308 of file type_vec2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<lowp_uint> lowp_uvec3
-
- -

3 components vector of low precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 333 of file type_vec3.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<lowp_uint> lowp_uvec4
-
- -

4 components vector of low precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 390 of file type_vec4.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<lowp_float> lowp_vec2
-
- -

2 components vector of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 266 of file type_vec2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<lowp_float> lowp_vec3
-
- -

3 components vector of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 291 of file type_vec3.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<lowp_float> lowp_vec4
-
- -

4 components vector of low precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 348 of file type_vec4.hpp.

- -
-
- -
-
- - - - -
typedef mediump_float_t mediump_float
-
- -

Medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.4 Floats
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 60 of file type_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::mediump_int_t mediump_int
-
- -

Medium precision signed integer.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 74 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<mediump_int> mediump_ivec2
-
- -

2 components vector of medium precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 280 of file type_vec2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<mediump_int> mediump_ivec3
-
- -

3 components vector of medium precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 305 of file type_vec3.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<mediump_int> mediump_ivec4
-
- -

4 components vector of medium precision signed integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 362 of file type_vec4.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<mediump_float> mediump_mat2
-
- -

2 columns of 2 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 277 of file type_mat2x2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<mediump_float> mediump_mat2x2
-
- -

2 columns of 2 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 298 of file type_mat2x2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<mediump_float> mediump_mat2x3
-
- -

2 columns of 3 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 242 of file type_mat2x3.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<mediump_float> mediump_mat2x4
-
- -

2 columns of 4 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 244 of file type_mat2x4.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<mediump_float> mediump_mat3x2
-
- -

3 columns of 2 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 249 of file type_mat3x2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<mediump_float> mediump_mat3x4
-
- -

3 columns of 4 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 250 of file type_mat3x4.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<mediump_float> mediump_mat4x2
-
- -

4 columns of 2 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 254 of file type_mat4x2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<mediump_float> mediump_mat4x3
-
- -

4 columns of 3 components matrix of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 252 of file type_mat4x3.hpp.

- -
-
- -
-
- - - - -
typedef detail::mediump_uint_t mediump_uint
-
- -

Medium precision unsigned integer.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 95 of file type_int.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<mediump_uint> mediump_uvec2
-
- -

2 components vector of medium precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 301 of file type_vec2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<mediump_uint> mediump_uvec3
-
- -

3 components vector of medium precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 326 of file type_vec3.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<mediump_uint> mediump_uvec4
-
- -

4 components vector of medium precision unsigned integer numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 383 of file type_vec4.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<mediump_float> mediump_vec2
-
- -

2 components vector of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 259 of file type_vec2.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<mediump_float> mediump_vec3
-
- -

3 components vector of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 284 of file type_vec3.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<mediump_float> mediump_vec4
-
- -

4 components vector of medium precision floating-point numbers.

-

There is no guarantee on the actual precision.

-
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
-
-GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
- -

Definition at line 341 of file type_vec4.hpp.

- -
-
- -
-
- - - - -
typedef uint_t uint
-
- -

Unsigned integer type.

-
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
- -

Definition at line 131 of file type_int.hpp.

- -
-
-
- - - - + + + + + + +GLM: vec2.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
vec2.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file vec2.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00143_source.html glm-0.9.5.1/doc/api/a00143_source.html --- glm-0.9.4.6/doc/api/a00143_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00143_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,69 @@ + + + + + + +GLM: vec2.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
vec2.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_VEC2_INCLUDED
+
30 #define GLM_VEC2_INCLUDED
+
31 
+
32 #include "detail/type_vec2.hpp"
+
33 
+
34 #endif//GLM_VEC2_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00144.html glm-0.9.5.1/doc/api/a00144.html --- glm-0.9.4.6/doc/api/a00144.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00144.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,49 +1,74 @@ - - - - - -Template types - - - - - - -
-
- - - - - - -
-
- - - -
-
-
-
Template types
-
-
-

The generic template types used as the basis for the core types.

-

These types are all templates used to define the actual Types. These templetes are implementation details of GLM types and should not be used explicitly.

-
- - - - + + + + + + +GLM: vec3.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
vec3.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file vec3.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00144_source.html glm-0.9.5.1/doc/api/a00144_source.html --- glm-0.9.4.6/doc/api/a00144_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00144_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,69 @@ + + + + + + +GLM: vec3.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
vec3.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_VEC3_INCLUDED
+
30 #define GLM_VEC3_INCLUDED
+
31 
+
32 #include "detail/type_vec3.hpp"
+
33 
+
34 #endif//GLM_VEC3_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00145.html glm-0.9.5.1/doc/api/a00145.html --- glm-0.9.4.6/doc/api/a00145.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00145.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,583 +1,74 @@ - - - - - -GLM_GTC_constants - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_constants
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType e ()
 
template<typename genType >
genType epsilon ()
 
template<typename genType >
genType euler ()
 
template<typename genType >
genType golden_ratio ()
 
template<typename genType >
genType half_pi ()
 
template<typename genType >
genType ln_ln_two ()
 
template<typename genType >
genType ln_ten ()
 
template<typename genType >
genType ln_two ()
 
template<typename genType >
genType one ()
 
template<typename genType >
genType one_over_pi ()
 
template<typename genType >
genType one_over_root_two ()
 
template<typename genType >
genType pi ()
 
template<typename genType >
genType quarter_pi ()
 
template<typename genType >
genType root_five ()
 
template<typename genType >
genType root_half_pi ()
 
template<typename genType >
genType root_ln_four ()
 
template<typename genType >
genType root_pi ()
 
template<typename genType >
genType root_three ()
 
template<typename genType >
genType root_two ()
 
template<typename genType >
genType root_two_pi ()
 
template<typename genType >
genType third ()
 
template<typename genType >
genType two_over_pi ()
 
template<typename genType >
genType two_over_root_pi ()
 
template<typename genType >
genType two_thirds ()
 
template<typename genType >
genType zero ()
 
-

Detailed Description

-

Allow to perform bit operations on integer values.

-

<glm/gtc/constants.hpp> need to be included to use these features.

-

Function Documentation

- -
-
- - - - - - - -
genType glm::e ()
-
- -

Return e constant.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::epsilon ()
-
- -

Return the epsilon constant for floating point types.

-
Todo:
Implement epsilon for half-precision floating point type.
-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::euler ()
-
- -

Return Euler's constant.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::golden_ratio ()
-
- -

Return the golden ratio constant.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::half_pi ()
-
- -

Return pi / 2.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::ln_ln_two ()
-
- -

Return ln(ln(2)).

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::ln_ten ()
-
- -

Return ln(10).

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::ln_two ()
-
- -

Return ln(2).

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::one ()
-
- -

Return 1.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::one_over_pi ()
-
- -

Return 1 / pi.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::one_over_root_two ()
-
- -

Return 1 / sqrt(2).

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::pi ()
-
- -

Return the pi constant.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::quarter_pi ()
-
- -

Return pi / 4.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::root_five ()
-
- -

Return sqrt(5).

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::root_half_pi ()
-
- -

Return sqrt(pi / 2).

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::root_ln_four ()
-
- -

Return sqrt(ln(4)).

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::root_pi ()
-
- -

Return square root of pi.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::root_three ()
-
- -

Return sqrt(3).

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::root_two ()
-
- -

Return sqrt(2).

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::root_two_pi ()
-
- -

Return sqrt(2 * pi).

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::third ()
-
- -

Return 1 / 3.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::two_over_pi ()
-
- -

Return 2 / pi.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::two_over_root_pi ()
-
- -

Return 2 / sqrt(pi).

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::two_thirds ()
-
- -

Return 2 / 3.

-
See Also
GLM_GTC_constants
- -
-
- -
-
- - - - - - - -
genType glm::zero ()
-
- -

Return 0.

-
See Also
GLM_GTC_constants
- -
-
-
- - - - + + + + + + +GLM: vec4.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
vec4.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file vec4.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00145_source.html glm-0.9.5.1/doc/api/a00145_source.html --- glm-0.9.4.6/doc/api/a00145_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00145_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,69 @@ + + + + + + +GLM: vec4.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
vec4.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_VEC4_INCLUDED
+
30 #define GLM_VEC4_INCLUDED
+
31 
+
32 #include "detail/type_vec4.hpp"
+
33 
+
34 #endif//GLM_VEC4_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00146.html glm-0.9.5.1/doc/api/a00146.html --- glm-0.9.4.6/doc/api/a00146.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00146.html 2014-01-11 22:29:08.000000000 +0000 @@ -1,209 +1,101 @@ - - - - - -GLM_GTC_epsilon - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_epsilon
-
-
- - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType::boolType epsilonEqual (genType const &x, genType const &y, typename genType::value_type const &epsilon)
 
template<typename genType >
genType::boolType epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
genType::boolType epsilonNotEqual (genType const &x, genType const &y, typename genType::value_type const &epsilon)
 
template<typename genType >
genType::boolType epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 
-

Detailed Description

-

Comparison functions for a user defined epsilon values.

-

<glm/gtc/epsilon.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType::boolType glm::epsilonEqual (genType const & x,
genType const & y,
typename genType::value_type const & epsilon 
)
-
- -

Returns the component-wise compare of |x - y| < epsilon.

-
See Also
GLM_GTC_epsilon
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType::boolType glm::epsilonEqual (genType const & x,
genType const & y,
genType const & epsilon 
)
-
- -

Returns the component-wise compare of |x - y| < epsilon.

-
See Also
GLM_GTC_epsilon
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType::boolType glm::epsilonNotEqual (genType const & x,
genType const & y,
typename genType::value_type const & epsilon 
)
-
- -

Returns the component-wise compare of |x - y| < epsilon.

-
See Also
GLM_GTC_epsilon
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType::boolType glm::epsilonNotEqual (genType const & x,
genType const & y,
genType const & epsilon 
)
-
- -

Returns the component-wise compare of |x - y| >= epsilon.

-
See Also
GLM_GTC_epsilon
- -
-
-
- - - - + + + + + + +GLM: vector_angle.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
vector_angle.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + +

+Functions

template<typename vecType >
GLM_FUNC_QUALIFIER
+vecType::value_type 
angle (vecType const &x, vecType const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec2< T, P > const &x, detail::tvec2< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, detail::tvec3< T, P > const &ref)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_vector_angle

+
Date
2005-12-30 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+
+GLM_GTX_quaternion (dependence)
+
+gtx_epsilon (dependence)
+ +

Definition in file vector_angle.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00146_source.html glm-0.9.5.1/doc/api/a00146_source.html --- glm-0.9.4.6/doc/api/a00146_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00146_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,102 @@ + + + + + + +GLM: vector_angle.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
vector_angle.hpp
+
+
+Go to the documentation of this file.
1 
+
40 #ifndef GLM_GTX_vector_angle
+
41 #define GLM_GTX_vector_angle
+
42 
+
43 // Dependency:
+
44 #include "../glm.hpp"
+
45 #include "../gtc/epsilon.hpp"
+
46 #include "../gtx/quaternion.hpp"
+
47 #include "../gtx/rotate_vector.hpp"
+
48 
+
49 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
50 # pragma message("GLM: GLM_GTX_vector_angle extension included")
+
51 #endif
+
52 
+
53 namespace glm
+
54 {
+
57 
+
61  template <typename vecType>
+
62  GLM_FUNC_QUALIFIER typename vecType::value_type angle(
+
63  vecType const & x,
+
64  vecType const & y);
+
65 
+
69  template <typename T, precision P>
+
70  GLM_FUNC_QUALIFIER T orientedAngle(
+
71  detail::tvec2<T, P> const & x,
+
72  detail::tvec2<T, P> const & y);
+
73 
+
77  template <typename T, precision P>
+
78  GLM_FUNC_QUALIFIER T orientedAngle(
+
79  detail::tvec3<T, P> const & x,
+
80  detail::tvec3<T, P> const & y,
+
81  detail::tvec3<T, P> const & ref);
+
82 
+
84 }// namespace glm
+
85 
+
86 #include "vector_angle.inl"
+
87 
+
88 #endif//GLM_GTX_vector_angle
+
GLM_FUNC_QUALIFIER T orientedAngle(detail::tvec2< T, P > const &x, detail::tvec2< T, P > const &y)
Returns the oriented angle between two 2d vectors Parameters need to be normalized.
+
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
Returns the quaternion rotation angle.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00147.html glm-0.9.5.1/doc/api/a00147.html --- glm-0.9.4.6/doc/api/a00147.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00147.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,465 +1,105 @@ - - - - - -GLM_GTC_half_float - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_half_float
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::half half
 
typedef detail::tmat2x2
-< detail::half > 
hmat2
 
typedef detail::tmat2x2
-< detail::half > 
hmat2x2
 
typedef detail::tmat2x3
-< detail::half > 
hmat2x3
 
typedef detail::tmat2x4
-< detail::half > 
hmat2x4
 
typedef detail::tmat3x3
-< detail::half > 
hmat3
 
typedef detail::tmat3x2
-< detail::half > 
hmat3x2
 
typedef detail::tmat3x3
-< detail::half > 
hmat3x3
 
typedef detail::tmat3x4
-< detail::half > 
hmat3x4
 
typedef detail::tmat4x4
-< detail::half > 
hmat4
 
typedef detail::tmat4x2
-< detail::half > 
hmat4x2
 
typedef detail::tmat4x3
-< detail::half > 
hmat4x3
 
typedef detail::tmat4x4
-< detail::half > 
hmat4x4
 
typedef detail::tvec2
-< detail::half > 
hvec2
 
typedef detail::tvec3
-< detail::half > 
hvec3
 
typedef detail::tvec4
-< detail::half > 
hvec4
 
- - - - - - - - - -

-Functions

half abs (half const &x)
 
hvec2 abs (hvec2 const &x)
 
hvec3 abs (hvec3 const &x)
 
hvec4 abs (hvec4 const &x)
 
-

Detailed Description

-

Defines the half-precision floating-point type, along with various typedefs for vectors and matrices.

-

<glm/gtc/half_float.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- -
-
- - - - -
typedef detail::half half
-
- -

Type for half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 357 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<detail::half> hmat2
-
- -

2 * 2 matrix of half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 373 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<detail::half> hmat2x2
-
- -

2 * 2 matrix of half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 385 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<detail::half> hmat2x3
-
- -

2 * 3 matrix of half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 389 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<detail::half> hmat2x4
-
- -

2 * 4 matrix of half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 393 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<detail::half> hmat3
-
- -

3 * 3 matrix of half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 377 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<detail::half> hmat3x2
-
- -

3 * 2 matrix of half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 397 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<detail::half> hmat3x3
-
- -

3 * 3 matrix of half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 401 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<detail::half> hmat3x4
-
- -

3 * 4 matrix of half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 405 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<detail::half> hmat4
-
- -

4 * 4 matrix of half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 381 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<detail::half> hmat4x2
-
- -

4 * 2 matrix of half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 409 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<detail::half> hmat4x3
-
- -

4 * 3 matrix of half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 413 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<detail::half> hmat4x4
-
- -

4 * 4 matrix of half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 417 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<detail::half> hvec2
-
- -

Vector of 2 half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 361 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<detail::half> hvec3
-
- -

Vector of 3 half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 365 of file half_float.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<detail::half> hvec4
-
- -

Vector of 4 half-precision floating-point numbers.

-
See Also
GLM_GTC_half_float
- -

Definition at line 369 of file half_float.hpp.

- -
-
-

Function Documentation

- -
-
- - - - - - - - -
half glm::abs (half const & x)
-
- -

Returns the absolute value of a half-precision floating-point value.

-
See Also
GLM_GTC_half_float
- -
-
- -
-
- - - - - - - - -
hvec2 glm::abs (hvec2 const & x)
-
- -

Returns the absolute value of a half-precision floating-point two dimensional vector.

-
See Also
GLM_GTC_half_float
- -
-
- -
-
- - - - - - - - -
hvec3 glm::abs (hvec3 const & x)
-
- -

Returns the absolute value of a half-precision floating-point three dimensional vector.

-
See Also
GLM_GTC_half_float
- -
-
- -
-
- - - - - - - - -
hvec4 glm::abs (hvec4 const & x)
-
- -

Returns the absolute value of a half-precision floating-point four dimensional vector.

-
See Also
GLM_GTC_half_float
- -
-
-
- - - - + + + + + + +GLM: vector_query.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
vector_query.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P, template< typename, precision > class vecType>
bool areCollinear (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool areOrthogonal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool areOrthonormal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
vecType< bool, P > isCompNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool isNormalized (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool isNull (vecType< T, P > const &v, T const &epsilon)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_vector_query

+
Date
2008-03-10 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file vector_query.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00147_source.html glm-0.9.5.1/doc/api/a00147_source.html --- glm-0.9.4.6/doc/api/a00147_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00147_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,108 @@ + + + + + + +GLM: vector_query.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
vector_query.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_vector_query
+
39 #define GLM_GTX_vector_query
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 #include <cfloat>
+
44 #include <limits>
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
47 # pragma message("GLM: GLM_GTX_vector_query extension included")
+
48 #endif
+
49 
+
50 namespace glm
+
51 {
+
54 
+
57  template <typename T, precision P, template <typename, precision> class vecType>
+
58  bool areCollinear(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
+
59 
+
62  template <typename T, precision P, template <typename, precision> class vecType>
+
63  bool areOrthogonal(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
+
64 
+
67  template <typename T, precision P, template <typename, precision> class vecType>
+
68  bool isNormalized(vecType<T, P> const & v, T const & epsilon);
+
69 
+
72  template <typename T, precision P, template <typename, precision> class vecType>
+
73  bool isNull(vecType<T, P> const & v, T const & epsilon);
+
74 
+
77  template <typename T, precision P, template <typename, precision> class vecType>
+
78  vecType<bool, P> isCompNull(vecType<T, P> const & v, T const & epsilon);
+
79 
+
82  template <typename T, precision P, template <typename, precision> class vecType>
+
83  bool areOrthonormal(vecType<T, P> const & v0, vecType<T, P> const & v1, T const & epsilon);
+
84 
+
86 }// namespace glm
+
87 
+
88 #include "vector_query.inl"
+
89 
+
90 #endif//GLM_GTX_vector_query
+
GLM_FUNC_DECL genType epsilon()
Return the epsilon constant for floating point types.
+
bool areOrthonormal(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are orthonormal.
+
bool areOrthogonal(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are orthogonals.
+
bool areCollinear(vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
Check whether two vectors are collinears.
+
bool isNormalized(detail::tmat2x2< T, P > const &m, T const &epsilon)
Return whether a matrix is a normalized matrix.
+
bool isNull(detail::tmat2x2< T, P > const &m, T const &epsilon)
Return whether a matrix a null matrix.
+
vecType< bool, P > isCompNull(vecType< T, P > const &v, T const &epsilon)
Check whether a each component of a vector is null.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00148.html glm-0.9.5.1/doc/api/a00148.html --- glm-0.9.4.6/doc/api/a00148.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00148.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,197 +1,74 @@ - - - - - -GLM_GTC_matrix_access - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_matrix_access
-
-
- - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType::col_type column (genType const &m, int index)
 
template<typename genType >
genType column (genType const &m, int index, typename genType::col_type const &x)
 
template<typename genType >
genType::row_type row (genType const &m, int index)
 
template<typename genType >
genType row (genType const &m, int index, typename genType::row_type const &x)
 
-

Detailed Description

-

Defines functions to access rows or columns of a matrix easily.

-

<glm/gtc/matrix_access.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
genType::col_type glm::column (genType const & m,
int index 
)
-
- -

Get a specific column of a matrix.

-
See Also
GLM_GTC_matrix_access
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType glm::column (genType const & m,
int index,
typename genType::col_type const & x 
)
-
- -

Set a specific column to a matrix.

-
See Also
GLM_GTC_matrix_access
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType::row_type glm::row (genType const & m,
int index 
)
-
- -

Get a specific row of a matrix.

-
See Also
GLM_GTC_matrix_access
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType glm::row (genType const & m,
int index,
typename genType::row_type const & x 
)
-
- -

Set a specific row to a matrix.

-
See Also
GLM_GTC_matrix_access
- -
-
-
- - - - + + + + + + +GLM: vector_relational.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
vector_relational.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM Core

+
Date
2013-12-24 / 2013-12-24
+
Author
Christophe Riccio
+ +

Definition in file vector_relational.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00148_source.html glm-0.9.5.1/doc/api/a00148_source.html --- glm-0.9.4.6/doc/api/a00148_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00148_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,69 @@ + + + + + + +GLM: vector_relational.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
vector_relational.hpp
+
+
+Go to the documentation of this file.
1 
+
29 #ifndef GLM_VECTOR_RELATIONAL_INCLUDED
+
30 #define GLM_VECTOR_RELATIONAL_INCLUDED
+
31 
+
32 #include "detail/func_vector_relational.hpp"
+
33 
+
34 #endif//GLM_VECTOR_RELATIONAL_INCLUDED
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00149.html glm-0.9.5.1/doc/api/a00149.html --- glm-0.9.4.6/doc/api/a00149.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00149.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,1941 +1,96 @@ - - - - - -GLM_GTC_matrix_integer - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_matrix_integer
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::tmat2x2
-< highp_int > 
highp_imat2
 
typedef detail::tmat2x2
-< highp_int > 
highp_imat2x2
 
typedef detail::tmat2x3
-< highp_int > 
highp_imat2x3
 
typedef detail::tmat2x4
-< highp_int > 
highp_imat2x4
 
typedef detail::tmat3x3
-< highp_int > 
highp_imat3
 
typedef detail::tmat3x2
-< highp_int > 
highp_imat3x2
 
typedef detail::tmat3x3
-< highp_int > 
highp_imat3x3
 
typedef detail::tmat3x4
-< highp_int > 
highp_imat3x4
 
typedef detail::tmat4x4
-< highp_int > 
highp_imat4
 
typedef detail::tmat4x2
-< highp_int > 
highp_imat4x2
 
typedef detail::tmat4x3
-< highp_int > 
highp_imat4x3
 
typedef detail::tmat4x4
-< highp_int > 
highp_imat4x4
 
typedef detail::tmat2x2
-< highp_uint > 
highp_umat2
 
typedef detail::tmat2x2
-< highp_uint > 
highp_umat2x2
 
typedef detail::tmat2x3
-< highp_uint > 
highp_umat2x3
 
typedef detail::tmat2x4
-< highp_uint > 
highp_umat2x4
 
typedef detail::tmat3x3
-< highp_uint > 
highp_umat3
 
typedef detail::tmat3x2
-< highp_uint > 
highp_umat3x2
 
typedef detail::tmat3x3
-< highp_uint > 
highp_umat3x3
 
typedef detail::tmat3x4
-< highp_uint > 
highp_umat3x4
 
typedef detail::tmat4x4
-< highp_uint > 
highp_umat4
 
typedef detail::tmat4x2
-< highp_uint > 
highp_umat4x2
 
typedef detail::tmat4x3
-< highp_uint > 
highp_umat4x3
 
typedef detail::tmat4x4
-< highp_uint > 
highp_umat4x4
 
typedef mediump_imat2 imat2
 
typedef mediump_imat2x2 imat2x2
 
typedef mediump_imat2x3 imat2x3
 
typedef mediump_imat2x4 imat2x4
 
typedef mediump_imat3 imat3
 
typedef mediump_imat3x2 imat3x2
 
typedef mediump_imat3x3 imat3x3
 
typedef mediump_imat3x4 imat3x4
 
typedef mediump_imat4 imat4
 
typedef mediump_imat4x2 imat4x2
 
typedef mediump_imat4x3 imat4x3
 
typedef mediump_imat4x4 imat4x4
 
typedef detail::tmat2x2< lowp_int > lowp_imat2
 
typedef detail::tmat2x2< lowp_int > lowp_imat2x2
 
typedef detail::tmat2x3< lowp_int > lowp_imat2x3
 
typedef detail::tmat2x4< lowp_int > lowp_imat2x4
 
typedef detail::tmat3x3< lowp_int > lowp_imat3
 
typedef detail::tmat3x2< lowp_int > lowp_imat3x2
 
typedef detail::tmat3x3< lowp_int > lowp_imat3x3
 
typedef detail::tmat3x4< lowp_int > lowp_imat3x4
 
typedef detail::tmat4x4< lowp_int > lowp_imat4
 
typedef detail::tmat4x2< lowp_int > lowp_imat4x2
 
typedef detail::tmat4x3< lowp_int > lowp_imat4x3
 
typedef detail::tmat4x4< lowp_int > lowp_imat4x4
 
typedef detail::tmat2x2
-< lowp_uint > 
lowp_umat2
 
typedef detail::tmat2x2
-< lowp_uint > 
lowp_umat2x2
 
typedef detail::tmat2x3
-< lowp_uint > 
lowp_umat2x3
 
typedef detail::tmat2x4
-< lowp_uint > 
lowp_umat2x4
 
typedef detail::tmat3x3
-< lowp_uint > 
lowp_umat3
 
typedef detail::tmat3x2
-< lowp_uint > 
lowp_umat3x2
 
typedef detail::tmat3x3
-< lowp_uint > 
lowp_umat3x3
 
typedef detail::tmat3x4
-< lowp_uint > 
lowp_umat3x4
 
typedef detail::tmat4x4
-< lowp_uint > 
lowp_umat4
 
typedef detail::tmat4x2
-< lowp_uint > 
lowp_umat4x2
 
typedef detail::tmat4x3
-< lowp_uint > 
lowp_umat4x3
 
typedef detail::tmat4x4
-< lowp_uint > 
lowp_umat4x4
 
typedef detail::tmat2x2
-< mediump_int > 
mediump_imat2
 
typedef detail::tmat2x2
-< mediump_int > 
mediump_imat2x2
 
typedef detail::tmat2x3
-< mediump_int > 
mediump_imat2x3
 
typedef detail::tmat2x4
-< mediump_int > 
mediump_imat2x4
 
typedef detail::tmat3x3
-< mediump_int > 
mediump_imat3
 
typedef detail::tmat3x2
-< mediump_int > 
mediump_imat3x2
 
typedef detail::tmat3x3
-< mediump_int > 
mediump_imat3x3
 
typedef detail::tmat3x4
-< mediump_int > 
mediump_imat3x4
 
typedef detail::tmat4x4
-< mediump_int > 
mediump_imat4
 
typedef detail::tmat4x2
-< mediump_int > 
mediump_imat4x2
 
typedef detail::tmat4x3
-< mediump_int > 
mediump_imat4x3
 
typedef detail::tmat4x4
-< mediump_int > 
mediump_imat4x4
 
typedef detail::tmat2x2
-< mediump_uint > 
mediump_umat2
 
typedef detail::tmat2x2
-< mediump_uint > 
mediump_umat2x2
 
typedef detail::tmat2x3
-< mediump_uint > 
mediump_umat2x3
 
typedef detail::tmat2x4
-< mediump_uint > 
mediump_umat2x4
 
typedef detail::tmat3x3
-< mediump_uint > 
mediump_umat3
 
typedef detail::tmat3x2
-< mediump_uint > 
mediump_umat3x2
 
typedef detail::tmat3x3
-< mediump_uint > 
mediump_umat3x3
 
typedef detail::tmat3x4
-< mediump_uint > 
mediump_umat3x4
 
typedef detail::tmat4x4
-< mediump_uint > 
mediump_umat4
 
typedef detail::tmat4x2
-< mediump_uint > 
mediump_umat4x2
 
typedef detail::tmat4x3
-< mediump_uint > 
mediump_umat4x3
 
typedef detail::tmat4x4
-< mediump_uint > 
mediump_umat4x4
 
typedef mediump_umat2 umat2
 
typedef mediump_umat2x2 umat2x2
 
typedef mediump_umat2x3 umat2x3
 
typedef mediump_umat2x4 umat2x4
 
typedef mediump_umat3 umat3
 
typedef mediump_umat3x2 umat3x2
 
typedef mediump_umat3x3 umat3x3
 
typedef mediump_umat3x4 umat3x4
 
typedef mediump_umat4 umat4
 
typedef mediump_umat4x2 umat4x2
 
typedef mediump_umat4x3 umat4x3
 
typedef mediump_umat4x4 umat4x4
 
-

Detailed Description

-

Defines a number of matrices with integer types.

-

<glm/gtc/matrix_integer.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- -
-
- - - - -
typedef detail::tmat2x2<highp_int> highp_imat2
-
- -

High-precision signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 54 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<highp_int> highp_imat2x2
-
- -

High-precision signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 66 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<highp_int> highp_imat2x3
-
- -

High-precision signed integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 70 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<highp_int> highp_imat2x4
-
- -

High-precision signed integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 74 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<highp_int> highp_imat3
-
- -

High-precision signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 58 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<highp_int> highp_imat3x2
-
- -

High-precision signed integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 78 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<highp_int> highp_imat3x3
-
- -

High-precision signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 82 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<highp_int> highp_imat3x4
-
- -

High-precision signed integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 86 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<highp_int> highp_imat4
-
- -

High-precision signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 62 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<highp_int> highp_imat4x2
-
- -

High-precision signed integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 90 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<highp_int> highp_imat4x3
-
- -

High-precision signed integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 94 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<highp_int> highp_imat4x4
-
- -

High-precision signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 98 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<highp_uint> highp_umat2
-
- -

High-precision unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 203 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<highp_uint> highp_umat2x2
-
- -

High-precision unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 215 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<highp_uint> highp_umat2x3
-
- -

High-precision unsigned integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 219 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<highp_uint> highp_umat2x4
-
- -

High-precision unsigned integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 223 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<highp_uint> highp_umat3
-
- -

High-precision unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 207 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<highp_uint> highp_umat3x2
-
- -

High-precision unsigned integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 227 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<highp_uint> highp_umat3x3
-
- -

High-precision unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 231 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<highp_uint> highp_umat3x4
-
- -

High-precision unsigned integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 235 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<highp_uint> highp_umat4
-
- -

High-precision unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 211 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<highp_uint> highp_umat4x2
-
- -

High-precision unsigned integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 239 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<highp_uint> highp_umat4x3
-
- -

High-precision unsigned integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 243 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<highp_uint> highp_umat4x4
-
- -

High-precision unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 247 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat2 imat2
-
- -

Signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 379 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat2x2 imat2x2
-
- -

Signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 391 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat2x3 imat2x3
-
- -

Signed integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 395 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat2x4 imat2x4
-
- -

Signed integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 399 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat3 imat3
-
- -

Signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 383 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat3x2 imat3x2
-
- -

Signed integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 403 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat3x3 imat3x3
-
- -

Signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 407 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat3x4 imat3x4
-
- -

Signed integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 411 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat4 imat4
-
- -

Signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 387 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat4x2 imat4x2
-
- -

Signed integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 415 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat4x3 imat4x3
-
- -

Signed integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 419 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_imat4x4 imat4x4
-
- -

Signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 423 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<lowp_int> lowp_imat2
-
- -

Low-precision signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 153 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<lowp_int> lowp_imat2x2
-
- -

Low-precision signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 166 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<lowp_int> lowp_imat2x3
-
- -

Low-precision signed integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 170 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<lowp_int> lowp_imat2x4
-
- -

Low-precision signed integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 174 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<lowp_int> lowp_imat3
-
- -

Low-precision signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 157 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<lowp_int> lowp_imat3x2
-
- -

Low-precision signed integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 178 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<lowp_int> lowp_imat3x3
-
- -

Low-precision signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 182 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<lowp_int> lowp_imat3x4
-
- -

Low-precision signed integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 186 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<lowp_int> lowp_imat4
-
- -

Low-precision signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 161 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<lowp_int> lowp_imat4x2
-
- -

Low-precision signed integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 190 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<lowp_int> lowp_imat4x3
-
- -

Low-precision signed integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 194 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<lowp_int> lowp_imat4x4
-
- -

Low-precision signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 198 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<lowp_uint> lowp_umat2
-
- -

Low-precision unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 302 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<lowp_uint> lowp_umat2x2
-
- -

Low-precision unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 315 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<lowp_uint> lowp_umat2x3
-
- -

Low-precision unsigned integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 319 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<lowp_uint> lowp_umat2x4
-
- -

Low-precision unsigned integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 323 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<lowp_uint> lowp_umat3
-
- -

Low-precision unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 306 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<lowp_uint> lowp_umat3x2
-
- -

Low-precision unsigned integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 327 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<lowp_uint> lowp_umat3x3
-
- -

Low-precision unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 331 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<lowp_uint> lowp_umat3x4
-
- -

Low-precision unsigned integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 335 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<lowp_uint> lowp_umat4
-
- -

Low-precision unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 310 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<lowp_uint> lowp_umat4x2
-
- -

Low-precision unsigned integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 339 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<lowp_uint> lowp_umat4x3
-
- -

Low-precision unsigned integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 343 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<lowp_uint> lowp_umat4x4
-
- -

Low-precision unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 347 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<mediump_int> mediump_imat2
-
- -

Medium-precision signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 103 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<mediump_int> mediump_imat2x2
-
- -

Medium-precision signed integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 116 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<mediump_int> mediump_imat2x3
-
- -

Medium-precision signed integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 120 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<mediump_int> mediump_imat2x4
-
- -

Medium-precision signed integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 124 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<mediump_int> mediump_imat3
-
- -

Medium-precision signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 107 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<mediump_int> mediump_imat3x2
-
- -

Medium-precision signed integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 128 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<mediump_int> mediump_imat3x3
-
- -

Medium-precision signed integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 132 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<mediump_int> mediump_imat3x4
-
- -

Medium-precision signed integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 136 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<mediump_int> mediump_imat4
-
- -

Medium-precision signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 111 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<mediump_int> mediump_imat4x2
-
- -

Medium-precision signed integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 140 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<mediump_int> mediump_imat4x3
-
- -

Medium-precision signed integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 144 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<mediump_int> mediump_imat4x4
-
- -

Medium-precision signed integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 148 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<mediump_uint> mediump_umat2
-
- -

Medium-precision unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 252 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<mediump_uint> mediump_umat2x2
-
- -

Medium-precision unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 265 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<mediump_uint> mediump_umat2x3
-
- -

Medium-precision unsigned integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 269 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<mediump_uint> mediump_umat2x4
-
- -

Medium-precision unsigned integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 273 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<mediump_uint> mediump_umat3
-
- -

Medium-precision unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 256 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<mediump_uint> mediump_umat3x2
-
- -

Medium-precision unsigned integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 277 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<mediump_uint> mediump_umat3x3
-
- -

Medium-precision unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 281 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<mediump_uint> mediump_umat3x4
-
- -

Medium-precision unsigned integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 285 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<mediump_uint> mediump_umat4
-
- -

Medium-precision unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 260 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<mediump_uint> mediump_umat4x2
-
- -

Medium-precision unsigned integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 289 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<mediump_uint> mediump_umat4x3
-
- -

Medium-precision unsigned integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 293 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<mediump_uint> mediump_umat4x4
-
- -

Medium-precision unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 297 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_umat2 umat2
-
- -

Unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 456 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_umat2x2 umat2x2
-
- -

Unsigned integer 2x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 468 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_umat2x3 umat2x3
-
- -

Unsigned integer 2x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 472 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_umat2x4 umat2x4
-
- -

Unsigned integer 2x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 476 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_umat3 umat3
-
- -

Unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 460 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_umat3x2 umat3x2
-
- -

Unsigned integer 3x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 480 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_umat3x3 umat3x3
-
- -

Unsigned integer 3x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 484 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_umat3x4 umat3x4
-
- -

Unsigned integer 3x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 488 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_umat4 umat4
-
- -

Unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 464 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_umat4x2 umat4x2
-
- -

Unsigned integer 4x2 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 492 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_umat4x3 umat4x3
-
- -

Unsigned integer 4x3 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 496 of file matrix_integer.hpp.

- -
-
- -
-
- - - - -
typedef mediump_umat4x4 umat4x4
-
- -

Unsigned integer 4x4 matrix.

-
See Also
GLM_GTC_matrix_integer
- -

Definition at line 500 of file matrix_integer.hpp.

- -
-
-
- - - - + + + + + + +GLM: wrap.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+ +
+
wrap.hpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

 glm
 
+ + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType mirrorRepeat (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType repeat (genType const &Texcoord)
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

GLM_GTX_wrap

+
Date
2009-11-25 / 2011-06-07
+
Author
Christophe Riccio
+
See Also
GLM Core (dependence)
+ +

Definition in file wrap.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00149_source.html glm-0.9.5.1/doc/api/a00149_source.html --- glm-0.9.4.6/doc/api/a00149_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00149_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,93 @@ + + + + + + +GLM: wrap.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
wrap.hpp
+
+
+Go to the documentation of this file.
1 
+
38 #ifndef GLM_GTX_wrap
+
39 #define GLM_GTX_wrap
+
40 
+
41 // Dependency:
+
42 #include "../glm.hpp"
+
43 
+
44 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
+
45 # pragma message("GLM: GLM_GTX_wrap extension included")
+
46 #endif
+
47 
+
48 namespace glm
+
49 {
+
52 
+
55  template <typename genType>
+
56  GLM_FUNC_DECL genType clamp(genType const & Texcoord);
+
57 
+
60  template <typename genType>
+
61  GLM_FUNC_DECL genType repeat(genType const & Texcoord);
+
62 
+
65  template <typename genType>
+
66  GLM_FUNC_DECL genType mirrorRepeat(genType const & Texcoord);
+
67 
+
69 }// namespace glm
+
70 
+
71 #include "wrap.inl"
+
72 
+
73 #endif//GLM_GTX_wrap
+
GLM_FUNC_DECL genType mirrorRepeat(genType const &Texcoord)
Simulate GL_MIRROR_REPEAT OpenGL wrap mode.
+
GLM_FUNC_DECL genType clamp(genType const &x, genType const &minVal, genType const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
+
GLM_FUNC_DECL genType repeat(genType const &Texcoord)
Simulate GL_REPEAT OpenGL wrap mode.
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00150.html glm-0.9.5.1/doc/api/a00150.html --- glm-0.9.4.6/doc/api/a00150.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00150.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,126 +1,77 @@ - - - - - -GLM_GTC_matrix_inverse - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_matrix_inverse
-
-
- - - - - - - - -

-Functions

template<typename genType >
genType affineInverse (genType const &m)
 
template<typename genType >
GLM_FUNC_QUALIFIER
-genType::value_type 
inverseTranspose (genType const &m)
 
-

Detailed Description

-

Defines additional matrix inverting functions.

-

<glm/gtc/matrix_inverse.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
genType glm::affineInverse (genType const & m)
-
- -

Fast matrix inverse for affine matrix.

-
Parameters
- - -
mInput matrix to invert.
-
-
-
Template Parameters
- - -
genTypeSquared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate.
-
-
-
See Also
GLM_GTC_matrix_inverse
- -
-
- -
-
- - - - - - - - -
GLM_FUNC_QUALIFIER genType::value_type glm::inverseTranspose (genType const & m)
-
- -

Compute the inverse transpose of a matrix.

-
Parameters
- - -
mInput matrix to invert transpose.
-
-
-
Template Parameters
- - -
genTypeSquared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate.
-
-
-
See Also
GLM_GTC_matrix_inverse
- -
-
-
- - - - + + + + + + +GLM: xstream.hpp File Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
xstream.hpp File Reference
+
+
+ +

Go to the source code of this file.

+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net) 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.

+

GLM_VIRTREV_xstream: xml like output

+
Date
2008-05-24 / 2008-05-26
+
Author
Mathieu Roumillac (matrem84.free.fr)
+
See Also
GLM Core (dependence)
+
+GLM_GTC_matrix_access (dependence)
+ +

Definition in file xstream.hpp.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00150_source.html glm-0.9.5.1/doc/api/a00150_source.html --- glm-0.9.4.6/doc/api/a00150_source.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00150_source.html 2014-01-11 22:29:08.000000000 +0000 @@ -0,0 +1,191 @@ + + + + + + +GLM: xstream.hpp Source File + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + +
+
+
+
xstream.hpp
+
+
+Go to the documentation of this file.
1 
+
39 #ifndef GLM_VIRTREV_xstream
+
40 #define GLM_VIRTREV_xstream GLM_VERSION
+
41 
+
42 #include "../glm.hpp"
+
43 #include "../gtc/matrix_access.hpp"
+
44 #include <iostream>
+
45 
+
46 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
+
47 # pragma message("GLM: GLM_VIRTREV_xstream extension included")
+
48 #endif
+
49 /*
+
50 namespace glm{
+
51 namespace detail
+
52 {
+
53  template<typename T>
+
54  std::ostream & operator << (std::ostream & stream, glm::detail::tvec2<T, P> const & vec)
+
55  {
+
56  stream << "<glm_vec2 ";
+
57  stream << "x=\"" << vec.x << "\" ";
+
58  stream << "y=\"" << vec.y << "\" ";
+
59  stream << "/>";
+
60 
+
61  return stream;
+
62  }
+
63 
+
64  template<typename T>
+
65  std::ostream & operator << (std::ostream & stream, glm::detail::tvec3<T, P> const & vec)
+
66  {
+
67  stream << "<glm_vec3 ";
+
68  stream << "x=\"" << vec.x << "\" ";
+
69  stream << "y=\"" << vec.y << "\" ";
+
70  stream << "z=\"" << vec.z << "\" ";
+
71  stream << "/>";
+
72 
+
73  return stream;
+
74  }
+
75 
+
76  template<typename T>
+
77  std::ostream & operator << (std::ostream & stream, glm::detail::tvec4<T, P> const & vec)
+
78  {
+
79  stream << "<glm_vec4 ";
+
80  stream << "x=\"" << vec.x << "\" ";
+
81  stream << "y=\"" << vec.y << "\" ";
+
82  stream << "z=\"" << vec.z << "\" ";
+
83  stream << "w=\"" << vec.w << "\" ";
+
84  stream << "/>";
+
85 
+
86  return stream;
+
87  }
+
88 
+
89  template<typename T>
+
90  std::ostream & operator << (std::ostream & stream, glm::detail::tmat2x2<T, P> const & mat)
+
91  {
+
92  stream << "<glm_mat2>" << std::endl;
+
93  stream << "<row ";
+
94  stream << "x=\"" << glm::row(mat, 0)[0] << "\" ";
+
95  stream << "y=\"" << glm::row(mat, 0)[1] << "\" ";
+
96  stream << "/>" << std::endl;
+
97  stream << "<row ";
+
98  stream << "x=\"" << glm::row(mat, 1)[0] << "\" ";
+
99  stream << "y=\"" << glm::row(mat, 1)[1] << "\" ";
+
100  stream << "/>" << std::endl;
+
101  stream << "</glm_mat2>";
+
102 
+
103  return stream;
+
104  }
+
105 
+
106  template<typename T>
+
107  std::ostream & operator << (std::ostream & stream, glm::detail::tmat3x3<T, P> const & mat)
+
108  {
+
109  stream << "<glm_mat3>" << std::endl;
+
110  stream << "<row ";
+
111  stream << "x=\"" << glm::row(mat, 0)[0] << "\" ";
+
112  stream << "y=\"" << glm::row(mat, 0)[1] << "\" ";
+
113  stream << "z=\"" << glm::row(mat, 0)[2] << "\" ";
+
114  stream << "/>" << std::endl;
+
115  stream << "<row ";
+
116  stream << "x=\"" << glm::row(mat, 1)[0] << "\" ";
+
117  stream << "y=\"" << glm::row(mat, 1)[1] << "\" ";
+
118  stream << "z=\"" << glm::row(mat, 1)[2] << "\" ";
+
119  stream << "/>" << std::endl;
+
120  stream << "<row ";
+
121  stream << "x=\"" << glm::row(mat, 2)[0] << "\" ";
+
122  stream << "y=\"" << glm::row(mat, 2)[1] << "\" ";
+
123  stream << "z=\"" << glm::row(mat, 2)[2] << "\" ";
+
124  stream << "/>" << std::endl;
+
125  stream << "</glm_mat3>";
+
126 
+
127  return stream;
+
128  }
+
129 
+
130  template<typename T>
+
131  std::ostream & operator << (std::ostream & stream, glm::detail::tmat4x4<T, P> const & mat)
+
132  {
+
133  stream << "<glm_mat4>" << std::endl;
+
134  stream << "<row ";
+
135  stream << "x=\"" << glm::row(mat, 0)[0] << "\" ";
+
136  stream << "y=\"" << glm::row(mat, 0)[1] << "\" ";
+
137  stream << "z=\"" << glm::row(mat, 0)[2] << "\" ";
+
138  stream << "w=\"" << glm::row(mat, 0)[3] << "\" ";
+
139  stream << "/>" << std::endl;
+
140  stream << "<row ";
+
141  stream << "x=\"" << glm::row(mat, 1)[0] << "\" ";
+
142  stream << "y=\"" << glm::row(mat, 1)[1] << "\" ";
+
143  stream << "z=\"" << glm::row(mat, 1)[2] << "\" ";
+
144  stream << "w=\"" << glm::row(mat, 1)[3] << "\" ";
+
145  stream << "/>" << std::endl;
+
146  stream << "<row ";
+
147  stream << "x=\"" << glm::row(mat, 2)[0] << "\" ";
+
148  stream << "y=\"" << glm::row(mat, 2)[1] << "\" ";
+
149  stream << "z=\"" << glm::row(mat, 2)[2] << "\" ";
+
150  stream << "w=\"" << glm::row(mat, 2)[3] << "\" ";
+
151  stream << "/>" << std::endl;
+
152  stream << "<row ";
+
153  stream << "x=\"" << glm::row(mat, 3)[0] << "\" ";
+
154  stream << "y=\"" << glm::row(mat, 3)[1] << "\" ";
+
155  stream << "z=\"" << glm::row(mat, 3)[2] << "\" ";
+
156  stream << "w=\"" << glm::row(mat, 3)[3] << "\" ";
+
157  stream << "/>" << std::endl;
+
158  stream << "</glm_mat4>";
+
159 
+
160  return stream;
+
161  }
+
162 
+
163 }//namespace detail
+
164 }//namespace glm
+
165 */
+
166 #endif//GLM_VIRTREV_xstream
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00151.html glm-0.9.5.1/doc/api/a00151.html --- glm-0.9.4.6/doc/api/a00151.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00151.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,891 +1,4075 @@ - - - - - -GLM_GTC_matrix_transform - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_matrix_transform
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat4x4< T > frustum (T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)
 
template<typename T >
detail::tmat4x4< T > infinitePerspective (T fovy, T aspect, T near)
 
template<typename T >
detail::tmat4x4< T > lookAt (detail::tvec3< T > const &eye, detail::tvec3< T > const &center, detail::tvec3< T > const &up)
 
template<typename T >
detail::tmat4x4< T > ortho (T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
 
template<typename T >
detail::tmat4x4< T > ortho (T const &left, T const &right, T const &bottom, T const &top)
 
template<typename T >
detail::tmat4x4< T > perspective (T const &fovy, T const &aspect, T const &near, T const &far)
 
template<typename valType >
detail::tmat4x4< valType > perspectiveFov (valType const &fov, valType const &width, valType const &height, valType const &near, valType const &far)
 
template<typename T , typename U >
detail::tmat4x4< T > pickMatrix (detail::tvec2< T > const &center, detail::tvec2< T > const &delta, detail::tvec4< U > const &viewport)
 
template<typename T , typename U >
detail::tvec3< T > project (detail::tvec3< T > const &obj, detail::tmat4x4< T > const &model, detail::tmat4x4< T > const &proj, detail::tvec4< U > const &viewport)
 
template<typename T >
detail::tmat4x4< T > rotate (detail::tmat4x4< T > const &m, T const &angle, detail::tvec3< T > const &axis)
 
template<typename T >
detail::tmat4x4< T > scale (detail::tmat4x4< T > const &m, detail::tvec3< T > const &v)
 
template<typename T >
detail::tmat4x4< T > translate (detail::tmat4x4< T > const &m, detail::tvec3< T > const &v)
 
template<typename T >
detail::tmat4x4< T > tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T , typename U >
detail::tvec3< T > unProject (detail::tvec3< T > const &win, detail::tmat4x4< T > const &model, detail::tmat4x4< T > const &proj, detail::tvec4< U > const &viewport)
 
-

Detailed Description

-

Defines functions that generate common transformation matrices.

-

The matrices generated by this extension use standard OpenGL fixed-function conventions. For example, the lookAt function generates a transform from world space into the specific eye space that the projective matrix functions (perspective, ortho, etc) are designed to expect. The OpenGL compatibility specifications defines the particular layout of this eye space.

-

<glm/gtc/matrix_transform.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::frustum (T const & left,
T const & right,
T const & bottom,
T const & top,
T const & near,
T const & far 
)
-
- -

Creates a frustum matrix.

-
Parameters
- - - - - - - -
left
right
bottom
top
near
far
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See Also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::infinitePerspective (fovy,
aspect,
near 
)
-
- -

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite.

-
Parameters
- - - - -
fovyExpressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
aspect
near
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See Also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::lookAt (detail::tvec3< T > const & eye,
detail::tvec3< T > const & center,
detail::tvec3< T > const & up 
)
-
- -

Build a look at view matrix.

-
Parameters
- - - - -
eyePosition of the camera
centerPosition where the camera is looking at
upNormalized up vector, how the camera is oriented. Typically (0, 0, 1)
-
-
-
See Also
GLM_GTC_matrix_transform
-
-- frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal) frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::ortho (T const & left,
T const & right,
T const & bottom,
T const & top,
T const & zNear,
T const & zFar 
)
-
- -

Creates a matrix for an orthographic parallel viewing volume.

-
Parameters
- - - - - - - -
left
right
bottom
top
zNear
zFar
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See Also
GLM_GTC_matrix_transform
-
-- glm::ortho(T const & left, T const & right, T const & bottom, T const & top)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::ortho (T const & left,
T const & right,
T const & bottom,
T const & top 
)
-
- -

Creates a matrix for projecting two-dimensional coordinates onto the screen.

-
Parameters
- - - - - -
left
right
bottom
top
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See Also
GLM_GTC_matrix_transform
-
-- glm::ortho(T const & left, T const & right, T const & bottom, T const & top, T const & zNear, T const & zFar)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::perspective (T const & fovy,
T const & aspect,
T const & near,
T const & far 
)
-
- -

Creates a matrix for a symetric perspective-view frustum.

-
Parameters
- - - - - -
fovyExpressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
aspect
near
far
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See Also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<valType> glm::perspectiveFov (valType const & fov,
valType const & width,
valType const & height,
valType const & near,
valType const & far 
)
-
- -

Builds a perspective projection matrix based on a field of view.

-
Parameters
- - - - - - -
fovExpressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
width
height
near
far
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See Also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::pickMatrix (detail::tvec2< T > const & center,
detail::tvec2< T > const & delta,
detail::tvec4< U > const & viewport 
)
-
- -

Define a picking region.

-
Parameters
- - - - -
center
delta
viewport
-
-
-
Template Parameters
- - - -
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
-
-
-
See Also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tvec3<T> glm::project (detail::tvec3< T > const & obj,
detail::tmat4x4< T > const & model,
detail::tmat4x4< T > const & proj,
detail::tvec4< U > const & viewport 
)
-
- -

Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.

-
Parameters
- - - - - -
obj
model
proj
viewport
-
-
-
Template Parameters
- - - -
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
-
-
-
See Also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::rotate (detail::tmat4x4< T > const & m,
T const & angle,
detail::tvec3< T > const & axis 
)
-
- -

Builds a rotation 4 * 4 matrix created from an axis vector and an angle.

-
Parameters
- - - - -
mInput matrix multiplied by this rotation matrix.
angleRotation angle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisRotation axis, recommanded to be normalized.
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Supported: half, float or double.
-
-
-
See Also
GLM_GTC_matrix_transform
-
-GLM_GTX_transform
-
-- rotate(T angle, T x, T y, T z)
-
-- rotate(detail::tmat4x4<T> const & m, T angle, T x, T y, T z)
-
-- rotate(T angle, detail::tvec3<T> const & v)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::scale (detail::tmat4x4< T > const & m,
detail::tvec3< T > const & v 
)
-
- -

Builds a scale 4 * 4 matrix created from 3 scalars.

-
Parameters
- - - -
mInput matrix multiplied by this scale matrix.
vRatio of scaling for each axis.
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See Also
GLM_GTC_matrix_transform
-
-GLM_GTX_transform
-
-- scale(T x, T y, T z) scale(T const & x, T const & y, T const & z)
-
-- scale(detail::tmat4x4<T> const & m, T x, T y, T z)
-
-- scale(detail::tvec3<T> const & v)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::translate (detail::tmat4x4< T > const & m,
detail::tvec3< T > const & v 
)
-
- -

Builds a translation 4 * 4 matrix created from a vector of 3 components.

-
Parameters
- - - -
mInput matrix multiplied by this translation matrix.
vCoordinates of a translation vector.
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
#include <glm/glm.hpp>
- -
...
-
glm::mat4 m = glm::translate(glm::mat4(1.0f), glm::vec3(1.0f));
-
// m[0][0] == 1.0f, m[0][1] == 0.0f, m[0][2] == 0.0f, m[0][3] == 0.0f
-
// m[1][0] == 0.0f, m[1][1] == 1.0f, m[1][2] == 0.0f, m[1][3] == 0.0f
-
// m[2][0] == 0.0f, m[2][1] == 0.0f, m[2][2] == 1.0f, m[2][3] == 0.0f
-
// m[3][0] == 1.0f, m[3][1] == 1.0f, m[3][2] == 1.0f, m[3][3] == 1.0f
-
-
-
-
See Also
GLM_GTC_matrix_transform
-
-GLM_GTX_transform
-
-- translate(T x, T y, T z)
-
-- translate(detail::tmat4x4<T> const & m, T x, T y, T z)
-
-- translate(detail::tvec3<T> const & v)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::tweakedInfinitePerspective (fovy,
aspect,
near 
)
-
- -

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.

-
Parameters
- - - - -
fovyExpressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
aspect
near
-
-
-
Template Parameters
- - -
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
-
-
-
See Also
GLM_GTC_matrix_transform
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tvec3<T> glm::unProject (detail::tvec3< T > const & win,
detail::tmat4x4< T > const & model,
detail::tmat4x4< T > const & proj,
detail::tvec4< U > const & viewport 
)
-
- -

Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.

-
Parameters
- - - - - -
win
model
proj
viewport
-
-
-
Template Parameters
- - - -
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
-
-
-
See Also
GLM_GTC_matrix_transform
- -
-
-
- - - - + + + + + + +GLM: glm Namespace Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+ +
+
glm Namespace Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

+typedef bool bool1
 
+typedef bool bool1x1
 
+typedef detail::tvec2< bool,
+highp > 
bool2
 
+typedef detail::tmat2x2< bool,
+highp > 
bool2x2
 
+typedef detail::tmat2x3< bool,
+highp > 
bool2x3
 
+typedef detail::tmat2x4< bool,
+highp > 
bool2x4
 
+typedef detail::tvec3< bool,
+highp > 
bool3
 
+typedef detail::tmat3x2< bool,
+highp > 
bool3x2
 
+typedef detail::tmat3x3< bool,
+highp > 
bool3x3
 
+typedef detail::tmat3x4< bool,
+highp > 
bool3x4
 
+typedef detail::tvec4< bool,
+highp > 
bool4
 
+typedef detail::tmat4x2< bool,
+highp > 
bool4x2
 
+typedef detail::tmat4x3< bool,
+highp > 
bool4x3
 
+typedef detail::tmat4x4< bool,
+highp > 
bool4x4
 
typedef highp_bvec1 bvec1
 
typedef highp_bvec2 bvec2
 
typedef highp_bvec3 bvec3
 
typedef highp_bvec4 bvec4
 
typedef detail::uint8 byte
 
typedef highp_ddualquat ddualquat
 
typedef highp_dmat2x2 dmat2
 
typedef highp_dmat2x2 dmat2x2
 
typedef highp_dmat2x3 dmat2x3
 
typedef highp_dmat2x4 dmat2x4
 
typedef highp_dmat3x3 dmat3
 
typedef highp_dmat3x2 dmat3x2
 
typedef highp_dmat3x3 dmat3x3
 
typedef highp_dmat3x4 dmat3x4
 
typedef highp_dmat4x4 dmat4
 
typedef highp_dmat4x2 dmat4x2
 
typedef highp_dmat4x3 dmat4x3
 
typedef highp_dmat4x4 dmat4x4
 
+typedef double double1
 
+typedef double double1x1
 
+typedef detail::tvec2< double,
+highp > 
double2
 
+typedef detail::tmat2x2
+< double, highp > 
double2x2
 
+typedef detail::tmat2x3
+< double, highp > 
double2x3
 
+typedef detail::tmat2x4
+< double, highp > 
double2x4
 
+typedef detail::tvec3< double,
+highp > 
double3
 
+typedef detail::tmat3x2
+< double, highp > 
double3x2
 
+typedef detail::tmat3x3
+< double, highp > 
double3x3
 
+typedef detail::tmat3x4
+< double, highp > 
double3x4
 
+typedef detail::tvec4< double,
+highp > 
double4
 
+typedef detail::tmat4x2
+< double, highp > 
double4x2
 
+typedef detail::tmat4x3
+< double, highp > 
double4x3
 
+typedef detail::tmat4x4
+< double, highp > 
double4x4
 
typedef highp_dquat dquat
 
typedef highp_fdualquat dualquat
 
typedef highp_dvec2 dvec2
 
typedef highp_dvec3 dvec3
 
typedef highp_dvec4 dvec4
 
typedef detail::uint32 dword
 
typedef highp_float32_t f32
 
typedef f32mat2x2 f32mat2
 
typedef highp_f32mat2x2 f32mat2x2
 
typedef highp_f32mat2x3 f32mat2x3
 
typedef highp_f32mat2x4 f32mat2x4
 
typedef f32mat3x3 f32mat3
 
typedef highp_f32mat3x2 f32mat3x2
 
typedef highp_f32mat3x3 f32mat3x3
 
typedef highp_f32mat3x4 f32mat3x4
 
typedef f32mat4x4 f32mat4
 
typedef highp_f32mat4x2 f32mat4x2
 
typedef highp_f32mat4x3 f32mat4x3
 
typedef highp_f32mat4x4 f32mat4x4
 
typedef highp_f32quat f32quat
 
typedef highp_f32vec1 f32vec1
 
typedef highp_f32vec2 f32vec2
 
typedef highp_f32vec3 f32vec3
 
typedef highp_f32vec4 f32vec4
 
typedef highp_float64_t f64
 
typedef f64mat2x2 f64mat2
 
typedef highp_f64mat2x2 f64mat2x2
 
typedef highp_f64mat2x3 f64mat2x3
 
typedef highp_f64mat2x4 f64mat2x4
 
typedef f64mat3x3 f64mat3
 
typedef highp_f64mat3x2 f64mat3x2
 
typedef highp_f64mat3x3 f64mat3x3
 
typedef highp_f64mat3x4 f64mat3x4
 
typedef f64mat4x4 f64mat4
 
typedef highp_f64mat4x2 f64mat4x2
 
typedef highp_f64mat4x3 f64mat4x3
 
typedef highp_f64mat4x4 f64mat4x4
 
typedef highp_f64quat f64quat
 
typedef highp_f64vec1 f64vec1
 
typedef highp_f64vec2 f64vec2
 
typedef highp_f64vec3 f64vec3
 
typedef highp_f64vec4 f64vec4
 
typedef highp_fdualquat fdualquat
 
+typedef float float1
 
+typedef float float1x1
 
+typedef detail::tvec2< float,
+highp > 
float2
 
+typedef detail::tmat2x2< float,
+highp > 
float2x2
 
+typedef detail::tmat2x3< float,
+highp > 
float2x3
 
+typedef detail::tmat2x4< float,
+highp > 
float2x4
 
+typedef detail::tvec3< float,
+highp > 
float3
 
typedef float float32
 
typedef highp_float32_t float32_t
 
+typedef detail::tmat3x2< float,
+highp > 
float3x2
 
+typedef detail::tmat3x3< float,
+highp > 
float3x3
 
+typedef detail::tmat3x4< float,
+highp > 
float3x4
 
+typedef detail::tvec4< float,
+highp > 
float4
 
+typedef detail::tmat4x2< float,
+highp > 
float4x2
 
+typedef detail::tmat4x3< float,
+highp > 
float4x3
 
+typedef detail::tmat4x4< float,
+highp > 
float4x4
 
typedef double float64
 
typedef highp_float64_t float64_t
 
typedef fmat2x2 fmat2
 
typedef highp_f32mat2x2 fmat2x2
 
typedef highp_f32mat2x3 fmat2x3
 
typedef highp_f32mat2x4 fmat2x4
 
typedef fmat3x3 fmat3
 
typedef highp_f32mat3x2 fmat3x2
 
typedef highp_f32mat3x3 fmat3x3
 
typedef highp_f32mat3x4 fmat3x4
 
typedef fmat4x4 fmat4
 
typedef highp_f32mat4x2 fmat4x2
 
typedef highp_f32mat4x3 fmat4x3
 
typedef highp_f32mat4x4 fmat4x4
 
typedef quat fquat
 
typedef highp_f32vec1 fvec1
 
typedef highp_f32vec2 fvec2
 
typedef highp_f32vec3 fvec3
 
typedef highp_f32vec4 fvec4
 
typedef highp_bvec1_t highp_bvec1
 
typedef detail::tvec2< bool,
+highp > 
highp_bvec2
 
typedef detail::tvec3< bool,
+highp > 
highp_bvec3
 
typedef detail::tvec4< bool,
+highp > 
highp_bvec4
 
typedef detail::tdualquat
+< double, highp > 
highp_ddualquat
 
typedef detail::tmat2x2
+< double, highp > 
highp_dmat2
 
typedef detail::tmat2x2
+< double, highp > 
highp_dmat2x2
 
typedef detail::tmat2x3
+< double, highp > 
highp_dmat2x3
 
typedef detail::tmat2x4
+< double, highp > 
highp_dmat2x4
 
typedef detail::tmat3x3
+< double, highp > 
highp_dmat3
 
typedef detail::tmat3x2
+< double, highp > 
highp_dmat3x2
 
typedef detail::tmat3x3
+< double, highp > 
highp_dmat3x3
 
typedef detail::tmat3x4
+< double, highp > 
highp_dmat3x4
 
typedef detail::tmat4x4
+< double, highp > 
highp_dmat4
 
typedef detail::tmat4x2
+< double, highp > 
highp_dmat4x2
 
typedef detail::tmat4x3
+< double, highp > 
highp_dmat4x3
 
typedef detail::tmat4x4
+< double, highp > 
highp_dmat4x4
 
typedef detail::tquat< double,
+highp > 
highp_dquat
 
typedef detail::tdualquat
+< float, highp > 
highp_dualquat
 
typedef detail::tvec2< double,
+highp > 
highp_dvec2
 
typedef detail::tvec3< double,
+highp > 
highp_dvec3
 
typedef detail::tvec4< double,
+highp > 
highp_dvec4
 
typedef float32 highp_f32
 
typedef highp_f32mat2x2 highp_f32mat2
 
typedef detail::tmat2x2< f32,
+highp > 
highp_f32mat2x2
 
typedef detail::tmat2x3< f32,
+highp > 
highp_f32mat2x3
 
typedef detail::tmat2x4< f32,
+highp > 
highp_f32mat2x4
 
typedef highp_f32mat3x3 highp_f32mat3
 
typedef detail::tmat3x2< f32,
+highp > 
highp_f32mat3x2
 
typedef detail::tmat3x3< f32,
+highp > 
highp_f32mat3x3
 
typedef detail::tmat3x4< f32,
+highp > 
highp_f32mat3x4
 
typedef highp_f32mat4x4 highp_f32mat4
 
typedef detail::tmat4x2< f32,
+highp > 
highp_f32mat4x2
 
typedef detail::tmat4x3< f32,
+highp > 
highp_f32mat4x3
 
typedef detail::tmat4x4< f32,
+highp > 
highp_f32mat4x4
 
typedef detail::tquat< f32, highp > highp_f32quat
 
typedef detail::tvec1< f32, highp > highp_f32vec1
 
typedef detail::tvec2< f32, highp > highp_f32vec2
 
typedef detail::tvec3< f32, highp > highp_f32vec3
 
typedef detail::tvec4< f32, highp > highp_f32vec4
 
typedef float64 highp_f64
 
typedef highp_f64mat2x2 highp_f64mat2
 
typedef detail::tmat2x2< f64,
+highp > 
highp_f64mat2x2
 
typedef detail::tmat2x3< f64,
+highp > 
highp_f64mat2x3
 
typedef detail::tmat2x4< f64,
+highp > 
highp_f64mat2x4
 
typedef highp_f64mat3x3 highp_f64mat3
 
typedef detail::tmat3x2< f64,
+highp > 
highp_f64mat3x2
 
typedef detail::tmat3x3< f64,
+highp > 
highp_f64mat3x3
 
typedef detail::tmat3x4< f64,
+highp > 
highp_f64mat3x4
 
typedef highp_f64mat4x4 highp_f64mat4
 
typedef detail::tmat4x2< f64,
+highp > 
highp_f64mat4x2
 
typedef detail::tmat4x3< f64,
+highp > 
highp_f64mat4x3
 
typedef detail::tmat4x4< f64,
+highp > 
highp_f64mat4x4
 
typedef detail::tquat< f64, highp > highp_f64quat
 
typedef detail::tvec1< f64, highp > highp_f64vec1
 
typedef detail::tvec2< f64, highp > highp_f64vec2
 
typedef detail::tvec3< f64, highp > highp_f64vec3
 
typedef detail::tvec4< f64, highp > highp_f64vec4
 
typedef detail::tdualquat
+< float, highp > 
highp_fdualquat
 
typedef highp_float_t highp_float
 
typedef detail::float32 highp_float32
 
typedef detail::float32 highp_float32_t
 
typedef detail::float64 highp_float64
 
typedef detail::float64 highp_float64_t
 
typedef highp_fmat2x2 highp_fmat2
 
typedef detail::tmat2x2< f32,
+highp > 
highp_fmat2x2
 
typedef detail::tmat2x3< f32,
+highp > 
highp_fmat2x3
 
typedef detail::tmat2x4< f32,
+highp > 
highp_fmat2x4
 
typedef highp_fmat3x3 highp_fmat3
 
typedef detail::tmat3x2< f32,
+highp > 
highp_fmat3x2
 
typedef detail::tmat3x3< f32,
+highp > 
highp_fmat3x3
 
typedef detail::tmat3x4< f32,
+highp > 
highp_fmat3x4
 
typedef highp_fmat4x4 highp_fmat4
 
typedef detail::tmat4x2< f32,
+highp > 
highp_fmat4x2
 
typedef detail::tmat4x3< f32,
+highp > 
highp_fmat4x3
 
typedef detail::tmat4x4< f32,
+highp > 
highp_fmat4x4
 
typedef highp_quat highp_fquat
 
typedef detail::tvec1< float,
+highp > 
highp_fvec1
 
typedef detail::tvec2< float,
+highp > 
highp_fvec2
 
typedef detail::tvec3< float,
+highp > 
highp_fvec3
 
typedef detail::tvec4< float,
+highp > 
highp_fvec4
 
typedef detail::int16 highp_i16
 
typedef detail::tvec1< i16, highp > highp_i16vec1
 
typedef detail::tvec2< i16, highp > highp_i16vec2
 
typedef detail::tvec3< i16, highp > highp_i16vec3
 
typedef detail::tvec4< i16, highp > highp_i16vec4
 
typedef detail::int32 highp_i32
 
typedef detail::tvec1< i32, highp > highp_i32vec1
 
typedef detail::tvec2< i32, highp > highp_i32vec2
 
typedef detail::tvec3< i32, highp > highp_i32vec3
 
typedef detail::tvec4< i32, highp > highp_i32vec4
 
typedef detail::int64 highp_i64
 
typedef detail::tvec1< i64, highp > highp_i64vec1
 
typedef detail::tvec2< i64, highp > highp_i64vec2
 
typedef detail::tvec3< i64, highp > highp_i64vec3
 
typedef detail::tvec4< i64, highp > highp_i64vec4
 
typedef detail::int8 highp_i8
 
typedef detail::tvec1< i8, highp > highp_i8vec1
 
typedef detail::tvec2< i8, highp > highp_i8vec2
 
typedef detail::tvec3< i8, highp > highp_i8vec3
 
typedef detail::tvec4< i8, highp > highp_i8vec4
 
typedef detail::tmat2x2< int,
+highp > 
highp_imat2
 
typedef detail::tmat2x2< int,
+highp > 
highp_imat2x2
 
typedef detail::tmat2x3< int,
+highp > 
highp_imat2x3
 
typedef detail::tmat2x4< int,
+highp > 
highp_imat2x4
 
typedef detail::tmat3x3< int,
+highp > 
highp_imat3
 
typedef detail::tmat3x2< int,
+highp > 
highp_imat3x2
 
typedef detail::tmat3x3< int,
+highp > 
highp_imat3x3
 
typedef detail::tmat3x4< int,
+highp > 
highp_imat3x4
 
typedef detail::tmat4x4< int,
+highp > 
highp_imat4
 
typedef detail::tmat4x2< int,
+highp > 
highp_imat4x2
 
typedef detail::tmat4x3< int,
+highp > 
highp_imat4x3
 
typedef detail::tmat4x4< int,
+highp > 
highp_imat4x4
 
typedef detail::highp_int_t highp_int
 
typedef detail::int16 highp_int16
 
typedef detail::int16 highp_int16_t
 
typedef detail::int32 highp_int32
 
typedef detail::int32 highp_int32_t
 
typedef detail::int64 highp_int64
 
typedef detail::int64 highp_int64_t
 
typedef detail::int8 highp_int8
 
typedef detail::int8 highp_int8_t
 
typedef highp_ivec1_t highp_ivec1
 
typedef detail::tvec2< int, highp > highp_ivec2
 
typedef detail::tvec3< int, highp > highp_ivec3
 
typedef detail::tvec4< int, highp > highp_ivec4
 
typedef detail::tmat2x2< float,
+highp > 
highp_mat2
 
typedef detail::tmat2x2< float,
+highp > 
highp_mat2x2
 
typedef detail::tmat2x3< float,
+highp > 
highp_mat2x3
 
typedef detail::tmat2x4< float,
+highp > 
highp_mat2x4
 
typedef detail::tmat3x3< float,
+highp > 
highp_mat3
 
typedef detail::tmat3x2< float,
+highp > 
highp_mat3x2
 
typedef detail::tmat3x3< float,
+highp > 
highp_mat3x3
 
typedef detail::tmat3x4< float,
+highp > 
highp_mat3x4
 
typedef detail::tmat4x4< float,
+highp > 
highp_mat4
 
typedef detail::tmat4x2< float,
+highp > 
highp_mat4x2
 
typedef detail::tmat4x3< float,
+highp > 
highp_mat4x3
 
typedef detail::tmat4x4< float,
+highp > 
highp_mat4x4
 
typedef detail::tquat< float,
+highp > 
highp_quat
 
typedef detail::uint16 highp_u16
 
typedef detail::tvec1< u16, highp > highp_u16vec1
 
typedef detail::tvec2< u16, highp > highp_u16vec2
 
typedef detail::tvec3< u16, highp > highp_u16vec3
 
typedef detail::tvec4< u16, highp > highp_u16vec4
 
typedef detail::uint32 highp_u32
 
typedef detail::tvec1< u32, highp > highp_u32vec1
 
typedef detail::tvec2< u32, highp > highp_u32vec2
 
typedef detail::tvec3< u32, highp > highp_u32vec3
 
typedef detail::tvec4< u32, highp > highp_u32vec4
 
typedef detail::uint64 highp_u64
 
typedef detail::tvec1< u64, highp > highp_u64vec1
 
typedef detail::tvec2< u64, highp > highp_u64vec2
 
typedef detail::tvec3< u64, highp > highp_u64vec3
 
typedef detail::tvec4< u64, highp > highp_u64vec4
 
typedef detail::uint8 highp_u8
 
typedef detail::tvec1< u8, highp > highp_u8vec1
 
typedef detail::tvec2< u8, highp > highp_u8vec2
 
typedef detail::tvec3< u8, highp > highp_u8vec3
 
typedef detail::tvec4< u8, highp > highp_u8vec4
 
typedef detail::highp_uint_t highp_uint
 
typedef detail::uint16 highp_uint16
 
typedef detail::uint16 highp_uint16_t
 
typedef detail::uint32 highp_uint32
 
typedef detail::uint32 highp_uint32_t
 
typedef detail::uint64 highp_uint64
 
typedef detail::uint64 highp_uint64_t
 
typedef detail::uint8 highp_uint8
 
typedef detail::uint8 highp_uint8_t
 
typedef detail::tmat2x2< uint,
+highp > 
highp_umat2
 
typedef detail::tmat2x2< uint,
+highp > 
highp_umat2x2
 
typedef detail::tmat2x3< uint,
+highp > 
highp_umat2x3
 
typedef detail::tmat2x4< uint,
+highp > 
highp_umat2x4
 
typedef detail::tmat3x3< uint,
+highp > 
highp_umat3
 
typedef detail::tmat3x2< uint,
+highp > 
highp_umat3x2
 
typedef detail::tmat3x3< uint,
+highp > 
highp_umat3x3
 
typedef detail::tmat3x4< uint,
+highp > 
highp_umat3x4
 
typedef detail::tmat4x4< uint,
+highp > 
highp_umat4
 
typedef detail::tmat4x2< uint,
+highp > 
highp_umat4x2
 
typedef detail::tmat4x3< uint,
+highp > 
highp_umat4x3
 
typedef detail::tmat4x4< uint,
+highp > 
highp_umat4x4
 
typedef highp_uvec1_t highp_uvec1
 
typedef detail::tvec2< uint,
+highp > 
highp_uvec2
 
typedef detail::tvec3< uint,
+highp > 
highp_uvec3
 
typedef detail::tvec4< uint,
+highp > 
highp_uvec4
 
typedef detail::tvec1< float,
+highp > 
highp_vec1
 
typedef detail::tvec2< float,
+highp > 
highp_vec2
 
typedef detail::tvec3< float,
+highp > 
highp_vec3
 
typedef detail::tvec4< float,
+highp > 
highp_vec4
 
typedef detail::int16 i16
 
typedef highp_i16vec1 i16vec1
 
typedef highp_i16vec2 i16vec2
 
typedef highp_i16vec3 i16vec3
 
typedef highp_i16vec4 i16vec4
 
typedef detail::int32 i32
 
typedef highp_i32vec1 i32vec1
 
typedef highp_i32vec2 i32vec2
 
typedef highp_i32vec3 i32vec3
 
typedef highp_i32vec4 i32vec4
 
typedef detail::int64 i64
 
typedef highp_i64vec1 i64vec1
 
typedef highp_i64vec2 i64vec2
 
typedef highp_i64vec3 i64vec3
 
typedef highp_i64vec4 i64vec4
 
typedef detail::int8 i8
 
typedef highp_i8vec1 i8vec1
 
typedef highp_i8vec2 i8vec2
 
typedef highp_i8vec3 i8vec3
 
typedef highp_i8vec4 i8vec4
 
typedef mediump_imat2 imat2
 
typedef mediump_imat2x2 imat2x2
 
typedef mediump_imat2x3 imat2x3
 
typedef mediump_imat2x4 imat2x4
 
typedef mediump_imat3 imat3
 
typedef mediump_imat3x2 imat3x2
 
typedef mediump_imat3x3 imat3x3
 
typedef mediump_imat3x4 imat3x4
 
typedef mediump_imat4 imat4
 
typedef mediump_imat4x2 imat4x2
 
typedef mediump_imat4x3 imat4x3
 
typedef mediump_imat4x4 imat4x4
 
+typedef int int1
 
typedef detail::int16 int16
 
typedef detail::int16 int16_t
 
+typedef int int1x1
 
+typedef detail::tvec2< int, highp > int2
 
+typedef detail::tmat2x2< int,
+highp > 
int2x2
 
+typedef detail::tmat2x3< int,
+highp > 
int2x3
 
+typedef detail::tmat2x4< int,
+highp > 
int2x4
 
+typedef detail::tvec3< int, highp > int3
 
typedef detail::int32 int32
 
typedef detail::int32 int32_t
 
+typedef detail::tmat3x2< int,
+highp > 
int3x2
 
+typedef detail::tmat3x3< int,
+highp > 
int3x3
 
+typedef detail::tmat3x4< int,
+highp > 
int3x4
 
+typedef detail::tvec4< int, highp > int4
 
+typedef detail::tmat4x2< int,
+highp > 
int4x2
 
+typedef detail::tmat4x3< int,
+highp > 
int4x3
 
+typedef detail::tmat4x4< int,
+highp > 
int4x4
 
typedef detail::int64 int64
 
typedef detail::int64 int64_t
 
typedef detail::int8 int8
 
typedef detail::int8 int8_t
 
typedef highp_ivec1 ivec1
 
typedef highp_ivec2 ivec2
 
typedef highp_ivec3 ivec3
 
typedef highp_ivec4 ivec4
 
typedef lowp_bvec1_t lowp_bvec1
 
typedef detail::tvec2< bool, lowp > lowp_bvec2
 
typedef detail::tvec3< bool, lowp > lowp_bvec3
 
typedef detail::tvec4< bool, lowp > lowp_bvec4
 
typedef detail::tdualquat
+< double, lowp > 
lowp_ddualquat
 
typedef detail::tmat2x2
+< double, lowp > 
lowp_dmat2
 
typedef detail::tmat2x2
+< double, lowp > 
lowp_dmat2x2
 
typedef detail::tmat2x3
+< double, lowp > 
lowp_dmat2x3
 
typedef detail::tmat2x4
+< double, lowp > 
lowp_dmat2x4
 
typedef detail::tmat3x3< float,
+lowp > 
lowp_dmat3
 
typedef detail::tmat3x2
+< double, lowp > 
lowp_dmat3x2
 
typedef detail::tmat3x3
+< double, lowp > 
lowp_dmat3x3
 
typedef detail::tmat3x4
+< double, lowp > 
lowp_dmat3x4
 
typedef detail::tmat4x4
+< double, lowp > 
lowp_dmat4
 
typedef detail::tmat4x2
+< double, lowp > 
lowp_dmat4x2
 
typedef detail::tmat4x3
+< double, lowp > 
lowp_dmat4x3
 
typedef detail::tmat4x4
+< double, lowp > 
lowp_dmat4x4
 
typedef detail::tquat< double,
+lowp > 
lowp_dquat
 
typedef detail::tdualquat
+< float, lowp > 
lowp_dualquat
 
typedef detail::tvec2< double,
+lowp > 
lowp_dvec2
 
typedef detail::tvec3< double,
+lowp > 
lowp_dvec3
 
typedef detail::tvec4< double,
+lowp > 
lowp_dvec4
 
typedef float32 lowp_f32
 
typedef lowp_f32mat2x2 lowp_f32mat2
 
typedef detail::tmat2x2< f32,
+lowp > 
lowp_f32mat2x2
 
typedef detail::tmat2x3< f32,
+lowp > 
lowp_f32mat2x3
 
typedef detail::tmat2x4< f32,
+lowp > 
lowp_f32mat2x4
 
typedef lowp_f32mat3x3 lowp_f32mat3
 
typedef detail::tmat3x2< f32,
+lowp > 
lowp_f32mat3x2
 
typedef detail::tmat3x3< f32,
+lowp > 
lowp_f32mat3x3
 
typedef detail::tmat3x4< f32,
+lowp > 
lowp_f32mat3x4
 
typedef lowp_f32mat4x4 lowp_f32mat4
 
typedef detail::tmat4x2< f32,
+lowp > 
lowp_f32mat4x2
 
typedef detail::tmat4x3< f32,
+lowp > 
lowp_f32mat4x3
 
typedef detail::tmat4x4< f32,
+lowp > 
lowp_f32mat4x4
 
typedef detail::tquat< f32, lowp > lowp_f32quat
 
typedef detail::tvec1< f32, lowp > lowp_f32vec1
 
typedef detail::tvec2< f32, lowp > lowp_f32vec2
 
typedef detail::tvec3< f32, lowp > lowp_f32vec3
 
typedef detail::tvec4< f32, lowp > lowp_f32vec4
 
typedef float64 lowp_f64
 
typedef lowp_f64mat2x2 lowp_f64mat2
 
typedef detail::tmat2x2< f64,
+lowp > 
lowp_f64mat2x2
 
typedef detail::tmat2x3< f64,
+lowp > 
lowp_f64mat2x3
 
typedef detail::tmat2x4< f64,
+lowp > 
lowp_f64mat2x4
 
typedef lowp_f64mat3x3 lowp_f64mat3
 
typedef detail::tmat3x2< f64,
+lowp > 
lowp_f64mat3x2
 
typedef detail::tmat3x3< f64,
+lowp > 
lowp_f64mat3x3
 
typedef detail::tmat3x4< f64,
+lowp > 
lowp_f64mat3x4
 
typedef lowp_f64mat4x4 lowp_f64mat4
 
typedef detail::tmat4x2< f64,
+lowp > 
lowp_f64mat4x2
 
typedef detail::tmat4x3< f64,
+lowp > 
lowp_f64mat4x3
 
typedef detail::tmat4x4< f64,
+lowp > 
lowp_f64mat4x4
 
typedef detail::tquat< f64, lowp > lowp_f64quat
 
typedef detail::tvec1< f64, lowp > lowp_f64vec1
 
typedef detail::tvec2< f64, lowp > lowp_f64vec2
 
typedef detail::tvec3< f64, lowp > lowp_f64vec3
 
typedef detail::tvec4< f64, lowp > lowp_f64vec4
 
typedef detail::tdualquat
+< float, lowp > 
lowp_fdualquat
 
typedef lowp_float_t lowp_float
 
typedef detail::float32 lowp_float32
 
typedef detail::float32 lowp_float32_t
 
typedef detail::float64 lowp_float64
 
typedef detail::float64 lowp_float64_t
 
typedef lowp_fmat2x2 lowp_fmat2
 
typedef detail::tmat2x2< f32,
+lowp > 
lowp_fmat2x2
 
typedef detail::tmat2x3< f32,
+lowp > 
lowp_fmat2x3
 
typedef detail::tmat2x4< f32,
+lowp > 
lowp_fmat2x4
 
typedef lowp_fmat3x3 lowp_fmat3
 
typedef detail::tmat3x2< f32,
+lowp > 
lowp_fmat3x2
 
typedef detail::tmat3x3< f32,
+lowp > 
lowp_fmat3x3
 
typedef detail::tmat3x4< f32,
+lowp > 
lowp_fmat3x4
 
typedef lowp_fmat4x4 lowp_fmat4
 
typedef detail::tmat4x2< f32,
+lowp > 
lowp_fmat4x2
 
typedef detail::tmat4x3< f32,
+lowp > 
lowp_fmat4x3
 
typedef detail::tmat4x4< f32,
+lowp > 
lowp_fmat4x4
 
typedef lowp_quat lowp_fquat
 
typedef detail::tvec1< float,
+lowp > 
lowp_fvec1
 
typedef detail::tvec2< float,
+lowp > 
lowp_fvec2
 
typedef detail::tvec3< float,
+lowp > 
lowp_fvec3
 
typedef detail::tvec4< float,
+lowp > 
lowp_fvec4
 
typedef detail::int16 lowp_i16
 
typedef detail::tvec1< i16, lowp > lowp_i16vec1
 
typedef detail::tvec2< i16, lowp > lowp_i16vec2
 
typedef detail::tvec3< i16, lowp > lowp_i16vec3
 
typedef detail::tvec4< i16, lowp > lowp_i16vec4
 
typedef detail::int32 lowp_i32
 
typedef detail::tvec1< i32, lowp > lowp_i32vec1
 
typedef detail::tvec2< i32, lowp > lowp_i32vec2
 
typedef detail::tvec3< i32, lowp > lowp_i32vec3
 
typedef detail::tvec4< i32, lowp > lowp_i32vec4
 
typedef detail::int64 lowp_i64
 
typedef detail::tvec1< i64, lowp > lowp_i64vec1
 
typedef detail::tvec2< i64, lowp > lowp_i64vec2
 
typedef detail::tvec3< i64, lowp > lowp_i64vec3
 
typedef detail::tvec4< i64, lowp > lowp_i64vec4
 
typedef detail::int8 lowp_i8
 
typedef detail::tvec1< i8, lowp > lowp_i8vec1
 
typedef detail::tvec2< i8, lowp > lowp_i8vec2
 
typedef detail::tvec3< i8, lowp > lowp_i8vec3
 
typedef detail::tvec4< i8, lowp > lowp_i8vec4
 
typedef detail::tmat2x2< int,
+lowp > 
lowp_imat2
 
typedef detail::tmat2x2< int,
+lowp > 
lowp_imat2x2
 
typedef detail::tmat2x3< int,
+lowp > 
lowp_imat2x3
 
typedef detail::tmat2x4< int,
+lowp > 
lowp_imat2x4
 
typedef detail::tmat3x3< int,
+lowp > 
lowp_imat3
 
typedef detail::tmat3x2< int,
+lowp > 
lowp_imat3x2
 
typedef detail::tmat3x3< int,
+lowp > 
lowp_imat3x3
 
typedef detail::tmat3x4< int,
+lowp > 
lowp_imat3x4
 
typedef detail::tmat4x4< int,
+lowp > 
lowp_imat4
 
typedef detail::tmat4x2< int,
+lowp > 
lowp_imat4x2
 
typedef detail::tmat4x3< int,
+lowp > 
lowp_imat4x3
 
typedef detail::tmat4x4< int,
+lowp > 
lowp_imat4x4
 
typedef detail::lowp_int_t lowp_int
 
typedef detail::int16 lowp_int16
 
typedef detail::int16 lowp_int16_t
 
typedef detail::int32 lowp_int32
 
typedef detail::int32 lowp_int32_t
 
typedef detail::int64 lowp_int64
 
typedef detail::int64 lowp_int64_t
 
typedef detail::int8 lowp_int8
 
typedef detail::int8 lowp_int8_t
 
typedef lowp_ivec1_t lowp_ivec1
 
typedef detail::tvec2< int, lowp > lowp_ivec2
 
typedef detail::tvec3< int, lowp > lowp_ivec3
 
typedef detail::tvec4< int, lowp > lowp_ivec4
 
typedef detail::tmat2x2< float,
+lowp > 
lowp_mat2
 
typedef detail::tmat2x2< float,
+lowp > 
lowp_mat2x2
 
typedef detail::tmat2x3< float,
+lowp > 
lowp_mat2x3
 
typedef detail::tmat2x4< float,
+lowp > 
lowp_mat2x4
 
typedef detail::tmat3x3< float,
+lowp > 
lowp_mat3
 
typedef detail::tmat3x2< float,
+lowp > 
lowp_mat3x2
 
typedef detail::tmat3x3< float,
+lowp > 
lowp_mat3x3
 
typedef detail::tmat3x4< float,
+lowp > 
lowp_mat3x4
 
typedef detail::tmat4x4< float,
+lowp > 
lowp_mat4
 
typedef detail::tmat4x2< float,
+lowp > 
lowp_mat4x2
 
typedef detail::tmat4x3< float,
+lowp > 
lowp_mat4x3
 
typedef detail::tmat4x4< float,
+lowp > 
lowp_mat4x4
 
typedef detail::tquat< float,
+lowp > 
lowp_quat
 
typedef detail::uint16 lowp_u16
 
typedef detail::tvec1< u16, lowp > lowp_u16vec1
 
typedef detail::tvec2< u16, lowp > lowp_u16vec2
 
typedef detail::tvec3< u16, lowp > lowp_u16vec3
 
typedef detail::tvec4< u16, lowp > lowp_u16vec4
 
typedef detail::uint32 lowp_u32
 
typedef detail::tvec1< u32, lowp > lowp_u32vec1
 
typedef detail::tvec2< u32, lowp > lowp_u32vec2
 
typedef detail::tvec3< u32, lowp > lowp_u32vec3
 
typedef detail::tvec4< u32, lowp > lowp_u32vec4
 
typedef detail::uint64 lowp_u64
 
typedef detail::tvec1< u64, lowp > lowp_u64vec1
 
typedef detail::tvec2< u64, lowp > lowp_u64vec2
 
typedef detail::tvec3< u64, lowp > lowp_u64vec3
 
typedef detail::tvec4< u64, lowp > lowp_u64vec4
 
typedef detail::uint8 lowp_u8
 
typedef detail::tvec1< u8, lowp > lowp_u8vec1
 
typedef detail::tvec2< u8, lowp > lowp_u8vec2
 
typedef detail::tvec3< u8, lowp > lowp_u8vec3
 
typedef detail::tvec4< u8, lowp > lowp_u8vec4
 
typedef detail::lowp_uint_t lowp_uint
 
typedef detail::uint16 lowp_uint16
 
typedef detail::uint16 lowp_uint16_t
 
typedef detail::uint32 lowp_uint32
 
typedef detail::uint32 lowp_uint32_t
 
typedef detail::uint64 lowp_uint64
 
typedef detail::uint64 lowp_uint64_t
 
typedef detail::uint8 lowp_uint8
 
typedef detail::uint8 lowp_uint8_t
 
typedef detail::tmat2x2< uint,
+lowp > 
lowp_umat2
 
typedef detail::tmat2x2< uint,
+lowp > 
lowp_umat2x2
 
typedef detail::tmat2x3< uint,
+lowp > 
lowp_umat2x3
 
typedef detail::tmat2x4< uint,
+lowp > 
lowp_umat2x4
 
typedef detail::tmat3x3< uint,
+lowp > 
lowp_umat3
 
typedef detail::tmat3x2< uint,
+lowp > 
lowp_umat3x2
 
typedef detail::tmat3x3< uint,
+lowp > 
lowp_umat3x3
 
typedef detail::tmat3x4< uint,
+lowp > 
lowp_umat3x4
 
typedef detail::tmat4x4< uint,
+lowp > 
lowp_umat4
 
typedef detail::tmat4x2< uint,
+lowp > 
lowp_umat4x2
 
typedef detail::tmat4x3< uint,
+lowp > 
lowp_umat4x3
 
typedef detail::tmat4x4< uint,
+lowp > 
lowp_umat4x4
 
typedef lowp_uvec1_t lowp_uvec1
 
typedef detail::tvec2< uint, lowp > lowp_uvec2
 
typedef detail::tvec3< uint, lowp > lowp_uvec3
 
typedef detail::tvec4< uint, lowp > lowp_uvec4
 
typedef detail::tvec1< float,
+lowp > 
lowp_vec1
 
typedef detail::tvec2< float,
+lowp > 
lowp_vec2
 
typedef detail::tvec3< float,
+lowp > 
lowp_vec3
 
typedef detail::tvec4< float,
+lowp > 
lowp_vec4
 
typedef mat2x2 mat2
 
typedef highp_mat2x2 mat2x2
 
typedef highp_mat2x3 mat2x3
 
typedef highp_mat2x4 mat2x4
 
typedef mat3x3 mat3
 
typedef highp_mat3x2 mat3x2
 
typedef highp_mat3x3 mat3x3
 
typedef highp_mat3x4 mat3x4
 
typedef mat4x4 mat4
 
typedef highp_mat4x2 mat4x2
 
typedef highp_mat4x3 mat4x3
 
typedef highp_mat4x4 mat4x4
 
typedef mediump_bvec1_t mediump_bvec1
 
typedef detail::tvec2< bool,
+mediump > 
mediump_bvec2
 
typedef detail::tvec3< bool,
+mediump > 
mediump_bvec3
 
typedef detail::tvec4< bool,
+mediump > 
mediump_bvec4
 
typedef detail::tdualquat
+< double, mediump > 
mediump_ddualquat
 
typedef detail::tmat2x2
+< double, mediump > 
mediump_dmat2
 
typedef detail::tmat2x2
+< double, mediump > 
mediump_dmat2x2
 
typedef detail::tmat2x3
+< double, mediump > 
mediump_dmat2x3
 
typedef detail::tmat2x4
+< double, mediump > 
mediump_dmat2x4
 
typedef detail::tmat3x3
+< double, mediump > 
mediump_dmat3
 
typedef detail::tmat3x2
+< double, mediump > 
mediump_dmat3x2
 
typedef detail::tmat3x3
+< double, mediump > 
mediump_dmat3x3
 
typedef detail::tmat3x4
+< double, mediump > 
mediump_dmat3x4
 
typedef detail::tmat4x4
+< double, mediump > 
mediump_dmat4
 
typedef detail::tmat4x2
+< double, mediump > 
mediump_dmat4x2
 
typedef detail::tmat4x3
+< double, mediump > 
mediump_dmat4x3
 
typedef detail::tmat4x4
+< double, mediump > 
mediump_dmat4x4
 
typedef detail::tquat< double,
+mediump > 
mediump_dquat
 
typedef detail::tdualquat
+< float, mediump > 
mediump_dualquat
 
typedef detail::tvec2< double,
+mediump > 
mediump_dvec2
 
typedef detail::tvec3< double,
+mediump > 
mediump_dvec3
 
typedef detail::tvec4< double,
+mediump > 
mediump_dvec4
 
typedef float32 mediump_f32
 
typedef mediump_f32mat2x2 mediump_f32mat2
 
typedef detail::tmat2x2< f32,
+mediump > 
mediump_f32mat2x2
 
typedef detail::tmat2x3< f32,
+mediump > 
mediump_f32mat2x3
 
typedef detail::tmat2x4< f32,
+mediump > 
mediump_f32mat2x4
 
typedef mediump_f32mat3x3 mediump_f32mat3
 
typedef detail::tmat3x2< f32,
+mediump > 
mediump_f32mat3x2
 
typedef detail::tmat3x3< f32,
+mediump > 
mediump_f32mat3x3
 
typedef detail::tmat3x4< f32,
+mediump > 
mediump_f32mat3x4
 
typedef mediump_f32mat4x4 mediump_f32mat4
 
typedef detail::tmat4x2< f32,
+mediump > 
mediump_f32mat4x2
 
typedef detail::tmat4x3< f32,
+mediump > 
mediump_f32mat4x3
 
typedef detail::tmat4x4< f32,
+mediump > 
mediump_f32mat4x4
 
typedef detail::tquat< f32,
+mediump > 
mediump_f32quat
 
typedef detail::tvec1< f32,
+mediump > 
mediump_f32vec1
 
typedef detail::tvec2< f32,
+mediump > 
mediump_f32vec2
 
typedef detail::tvec3< f32,
+mediump > 
mediump_f32vec3
 
typedef detail::tvec4< f32,
+mediump > 
mediump_f32vec4
 
typedef float64 mediump_f64
 
typedef mediump_f64mat2x2 mediump_f64mat2
 
typedef detail::tmat2x2< f64,
+mediump > 
mediump_f64mat2x2
 
typedef detail::tmat2x3< f64,
+mediump > 
mediump_f64mat2x3
 
typedef detail::tmat2x4< f64,
+mediump > 
mediump_f64mat2x4
 
typedef mediump_f64mat3x3 mediump_f64mat3
 
typedef detail::tmat3x2< f64,
+mediump > 
mediump_f64mat3x2
 
typedef detail::tmat3x3< f64,
+mediump > 
mediump_f64mat3x3
 
typedef detail::tmat3x4< f64,
+mediump > 
mediump_f64mat3x4
 
typedef mediump_f64mat4x4 mediump_f64mat4
 
typedef detail::tmat4x2< f64,
+mediump > 
mediump_f64mat4x2
 
typedef detail::tmat4x3< f64,
+mediump > 
mediump_f64mat4x3
 
typedef detail::tmat4x4< f64,
+mediump > 
mediump_f64mat4x4
 
typedef detail::tquat< f64,
+mediump > 
mediump_f64quat
 
typedef detail::tvec1< f64,
+mediump > 
mediump_f64vec1
 
typedef detail::tvec2< f64,
+mediump > 
mediump_f64vec2
 
typedef detail::tvec3< f64,
+mediump > 
mediump_f64vec3
 
typedef detail::tvec4< f64,
+mediump > 
mediump_f64vec4
 
typedef detail::tdualquat
+< float, mediump > 
mediump_fdualquat
 
typedef mediump_float_t mediump_float
 
typedef detail::float32 mediump_float32
 
typedef detail::float32 mediump_float32_t
 
typedef detail::float64 mediump_float64
 
typedef detail::float64 mediump_float64_t
 
typedef mediump_fmat2x2 mediump_fmat2
 
typedef detail::tmat2x2< f32,
+mediump > 
mediump_fmat2x2
 
typedef detail::tmat2x3< f32,
+mediump > 
mediump_fmat2x3
 
typedef detail::tmat2x4< f32,
+mediump > 
mediump_fmat2x4
 
typedef mediump_fmat3x3 mediump_fmat3
 
typedef detail::tmat3x2< f32,
+mediump > 
mediump_fmat3x2
 
typedef detail::tmat3x3< f32,
+mediump > 
mediump_fmat3x3
 
typedef detail::tmat3x4< f32,
+mediump > 
mediump_fmat3x4
 
typedef mediump_fmat4x4 mediump_fmat4
 
typedef detail::tmat4x2< f32,
+mediump > 
mediump_fmat4x2
 
typedef detail::tmat4x3< f32,
+mediump > 
mediump_fmat4x3
 
typedef detail::tmat4x4< f32,
+mediump > 
mediump_fmat4x4
 
typedef mediump_quat mediump_fquat
 
typedef detail::tvec1< float,
+mediump > 
mediump_fvec1
 
typedef detail::tvec2< float,
+mediump > 
mediump_fvec2
 
typedef detail::tvec3< float,
+mediump > 
mediump_fvec3
 
typedef detail::tvec4< float,
+mediump > 
mediump_fvec4
 
typedef detail::int16 mediump_i16
 
typedef detail::tvec1< i16,
+mediump > 
mediump_i16vec1
 
typedef detail::tvec2< i16,
+mediump > 
mediump_i16vec2
 
typedef detail::tvec3< i16,
+mediump > 
mediump_i16vec3
 
typedef detail::tvec4< i16,
+mediump > 
mediump_i16vec4
 
typedef detail::int32 mediump_i32
 
typedef detail::tvec1< i32,
+mediump > 
mediump_i32vec1
 
typedef detail::tvec2< i32,
+mediump > 
mediump_i32vec2
 
typedef detail::tvec3< i32,
+mediump > 
mediump_i32vec3
 
typedef detail::tvec4< i32,
+mediump > 
mediump_i32vec4
 
typedef detail::int64 mediump_i64
 
typedef detail::tvec1< i64,
+mediump > 
mediump_i64vec1
 
typedef detail::tvec2< i64,
+mediump > 
mediump_i64vec2
 
typedef detail::tvec3< i64,
+mediump > 
mediump_i64vec3
 
typedef detail::tvec4< i64,
+mediump > 
mediump_i64vec4
 
typedef detail::int8 mediump_i8
 
typedef detail::tvec1< i8,
+mediump > 
mediump_i8vec1
 
typedef detail::tvec2< i8,
+mediump > 
mediump_i8vec2
 
typedef detail::tvec3< i8,
+mediump > 
mediump_i8vec3
 
typedef detail::tvec4< i8,
+mediump > 
mediump_i8vec4
 
typedef detail::tmat2x2< int,
+mediump > 
mediump_imat2
 
typedef detail::tmat2x2< int,
+mediump > 
mediump_imat2x2
 
typedef detail::tmat2x3< int,
+mediump > 
mediump_imat2x3
 
typedef detail::tmat2x4< int,
+mediump > 
mediump_imat2x4
 
typedef detail::tmat3x3< int,
+mediump > 
mediump_imat3
 
typedef detail::tmat3x2< int,
+mediump > 
mediump_imat3x2
 
typedef detail::tmat3x3< int,
+mediump > 
mediump_imat3x3
 
typedef detail::tmat3x4< int,
+mediump > 
mediump_imat3x4
 
typedef detail::tmat4x4< int,
+mediump > 
mediump_imat4
 
typedef detail::tmat4x2< int,
+mediump > 
mediump_imat4x2
 
typedef detail::tmat4x3< int,
+mediump > 
mediump_imat4x3
 
typedef detail::tmat4x4< int,
+mediump > 
mediump_imat4x4
 
typedef detail::mediump_int_t mediump_int
 
typedef detail::int16 mediump_int16
 
typedef detail::int16 mediump_int16_t
 
typedef detail::int32 mediump_int32
 
typedef detail::int32 mediump_int32_t
 
typedef detail::int64 mediump_int64
 
typedef detail::int64 mediump_int64_t
 
typedef detail::int8 mediump_int8
 
typedef detail::int8 mediump_int8_t
 
typedef mediump_ivec1_t mediump_ivec1
 
typedef detail::tvec2< int,
+mediump > 
mediump_ivec2
 
typedef detail::tvec3< int,
+mediump > 
mediump_ivec3
 
typedef detail::tvec4< int,
+mediump > 
mediump_ivec4
 
typedef detail::tmat2x2< float,
+mediump > 
mediump_mat2
 
typedef detail::tmat2x2< float,
+mediump > 
mediump_mat2x2
 
typedef detail::tmat2x3< float,
+mediump > 
mediump_mat2x3
 
typedef detail::tmat2x4< float,
+mediump > 
mediump_mat2x4
 
typedef detail::tmat3x3< float,
+mediump > 
mediump_mat3
 
typedef detail::tmat3x2< float,
+mediump > 
mediump_mat3x2
 
typedef detail::tmat3x3< float,
+mediump > 
mediump_mat3x3
 
typedef detail::tmat3x4< float,
+mediump > 
mediump_mat3x4
 
typedef detail::tmat4x4< float,
+mediump > 
mediump_mat4
 
typedef detail::tmat4x2< float,
+mediump > 
mediump_mat4x2
 
typedef detail::tmat4x3< float,
+mediump > 
mediump_mat4x3
 
typedef detail::tmat4x4< float,
+mediump > 
mediump_mat4x4
 
typedef detail::tquat< float,
+mediump > 
mediump_quat
 
typedef detail::uint16 mediump_u16
 
typedef detail::tvec1< u16,
+mediump > 
mediump_u16vec1
 
typedef detail::tvec2< u16,
+mediump > 
mediump_u16vec2
 
typedef detail::tvec3< u16,
+mediump > 
mediump_u16vec3
 
typedef detail::tvec4< u16,
+mediump > 
mediump_u16vec4
 
typedef detail::uint32 mediump_u32
 
typedef detail::tvec1< u32,
+mediump > 
mediump_u32vec1
 
typedef detail::tvec2< u32,
+mediump > 
mediump_u32vec2
 
typedef detail::tvec3< u32,
+mediump > 
mediump_u32vec3
 
typedef detail::tvec4< u32,
+mediump > 
mediump_u32vec4
 
typedef detail::uint64 mediump_u64
 
typedef detail::tvec1< u64,
+mediump > 
mediump_u64vec1
 
typedef detail::tvec2< u64,
+mediump > 
mediump_u64vec2
 
typedef detail::tvec3< u64,
+mediump > 
mediump_u64vec3
 
typedef detail::tvec4< u64,
+mediump > 
mediump_u64vec4
 
typedef detail::uint8 mediump_u8
 
typedef detail::tvec1< u8,
+mediump > 
mediump_u8vec1
 
typedef detail::tvec2< u8,
+mediump > 
mediump_u8vec2
 
typedef detail::tvec3< u8,
+mediump > 
mediump_u8vec3
 
typedef detail::tvec4< u8,
+mediump > 
mediump_u8vec4
 
typedef detail::mediump_uint_t mediump_uint
 
typedef detail::uint16 mediump_uint16
 
typedef detail::uint16 mediump_uint16_t
 
typedef detail::uint32 mediump_uint32
 
typedef detail::uint32 mediump_uint32_t
 
typedef detail::uint64 mediump_uint64
 
typedef detail::uint64 mediump_uint64_t
 
typedef detail::uint8 mediump_uint8
 
typedef detail::uint8 mediump_uint8_t
 
typedef detail::tmat2x2< uint,
+mediump > 
mediump_umat2
 
typedef detail::tmat2x2< uint,
+mediump > 
mediump_umat2x2
 
typedef detail::tmat2x3< uint,
+mediump > 
mediump_umat2x3
 
typedef detail::tmat2x4< uint,
+mediump > 
mediump_umat2x4
 
typedef detail::tmat3x3< uint,
+mediump > 
mediump_umat3
 
typedef detail::tmat3x2< uint,
+mediump > 
mediump_umat3x2
 
typedef detail::tmat3x3< uint,
+mediump > 
mediump_umat3x3
 
typedef detail::tmat3x4< uint,
+mediump > 
mediump_umat3x4
 
typedef detail::tmat4x4< uint,
+mediump > 
mediump_umat4
 
typedef detail::tmat4x2< uint,
+mediump > 
mediump_umat4x2
 
typedef detail::tmat4x3< uint,
+mediump > 
mediump_umat4x3
 
typedef detail::tmat4x4< uint,
+mediump > 
mediump_umat4x4
 
typedef mediump_uvec1_t mediump_uvec1
 
typedef detail::tvec2< uint,
+mediump > 
mediump_uvec2
 
typedef detail::tvec3< uint,
+mediump > 
mediump_uvec3
 
typedef detail::tvec4< uint,
+mediump > 
mediump_uvec4
 
typedef detail::tvec1< float,
+mediump > 
mediump_vec1
 
typedef detail::tvec2< float,
+mediump > 
mediump_vec2
 
typedef detail::tvec3< float,
+mediump > 
mediump_vec3
 
typedef detail::tvec4< float,
+mediump > 
mediump_vec4
 
+typedef highp_quat quat
 
typedef detail::uint64 qword
 
typedef signed int sint
 
typedef detail::tvec2
+< std::size_t, defaultp > 
size2
 
typedef detail::tvec2
+< std::size_t, defaultp > 
size2_t
 
typedef detail::tvec3
+< std::size_t, defaultp > 
size3
 
typedef detail::tvec3
+< std::size_t, defaultp > 
size3_t
 
typedef detail::tvec4
+< std::size_t, defaultp > 
size4
 
typedef detail::tvec4
+< std::size_t, defaultp > 
size4_t
 
typedef detail::uint16 u16
 
typedef highp_u16vec1 u16vec1
 
typedef highp_u16vec2 u16vec2
 
typedef highp_u16vec3 u16vec3
 
typedef highp_u16vec4 u16vec4
 
typedef detail::uint32 u32
 
typedef highp_u32vec1 u32vec1
 
typedef highp_u32vec2 u32vec2
 
typedef highp_u32vec3 u32vec3
 
typedef highp_u32vec4 u32vec4
 
typedef detail::uint64 u64
 
typedef highp_u64vec1 u64vec1
 
typedef highp_u64vec2 u64vec2
 
typedef highp_u64vec3 u64vec3
 
typedef highp_u64vec4 u64vec4
 
typedef detail::uint8 u8
 
typedef highp_u8vec1 u8vec1
 
typedef highp_u8vec2 u8vec2
 
typedef highp_u8vec3 u8vec3
 
typedef highp_u8vec4 u8vec4
 
typedef unsigned int uint
 
typedef detail::uint16 uint16
 
typedef detail::uint16 uint16_t
 
typedef detail::uint32 uint32
 
typedef detail::uint32 uint32_t
 
typedef detail::uint64 uint64
 
typedef detail::uint64 uint64_t
 
typedef detail::uint8 uint8
 
typedef detail::uint8 uint8_t
 
typedef mediump_umat2 umat2
 
typedef mediump_umat2x2 umat2x2
 
typedef mediump_umat2x3 umat2x3
 
typedef mediump_umat2x4 umat2x4
 
typedef mediump_umat3 umat3
 
typedef mediump_umat3x2 umat3x2
 
typedef mediump_umat3x3 umat3x3
 
typedef mediump_umat3x4 umat3x4
 
typedef mediump_umat4 umat4
 
typedef mediump_umat4x2 umat4x2
 
typedef mediump_umat4x3 umat4x3
 
typedef mediump_umat4x4 umat4x4
 
typedef highp_uvec1 uvec1
 
typedef highp_uvec2 uvec2
 
typedef highp_uvec3 uvec3
 
typedef highp_uvec4 uvec4
 
typedef highp_vec1 vec1
 
typedef highp_vec2 vec2
 
typedef highp_vec3 vec3
 
typedef highp_vec4 vec4
 
typedef detail::uint16 word
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType abs (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acos (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acosh (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acot (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acoth (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsc (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsch (genType const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER genType affineInverse (genType const &m)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool all (vecType< bool, P > const &v)
 
template<typename vecType >
GLM_FUNC_QUALIFIER
+vecType::value_type 
angle (vecType const &x, vecType const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T angle (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > angleAxis (T const &angle, detail::tvec3< T, P > const &axis)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool any (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool areCollinear (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool areOrthogonal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool areOrthonormal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL genType asec (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asech (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asin (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asinh (genType const &x)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
template<typename genType >
GLM_FUNC_DECL genType atan (genType const &y, genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType atan (genType const &y_over_x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec2< T, P > 
atan2 (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec3< T, P > 
atan2 (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec4< T, P > 
atan2 (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y)
 
template<typename genType >
GLM_FUNC_DECL genType atanh (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > axis (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
void axisAngle (detail::tmat4x4< T, P > const &mat, detail::tvec3< T, P > &axis, T &angle)
 
template<typename T , precision P>
detail::tmat4x4< T, P > axisAngleMatrix (detail::tvec3< T, P > const &axis, T const angle)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
+defaultp > 
ballRand (T const &Radius)
 
template<typename T , template< typename > class genIUType>
GLM_FUNC_DECL genIUType< T >
+::signed_type 
bitCount (genIUType< T > const &Value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldExtract (genIUType const &Value, int const &Offset, int const &Bits)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldInsert (genIUType const &Base, genIUType const &Insert, int const &Offset, int const &Bits)
 
GLM_FUNC_DECL int16 bitfieldInterleave (int8 x, int8 y)
 
GLM_FUNC_DECL uint16 bitfieldInterleave (uint8 x, uint8 y)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int16 x, int16 y)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y, int32 z)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldReverse (genIUType const &Value)
 
template<typename genType >
GLM_DEPRECATED GLM_FUNC_DECL
+genType 
bitRevert (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType bitRotateLeft (genType const &In, std::size_t Shift)
 
template<typename genType >
GLM_FUNC_DECL genType bitRotateRight (genType const &In, std::size_t Shift)
 
template<typename genType >
GLM_FUNC_DECL genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType ceil (genType const &x)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
+defaultp > 
circularRand (T const &Radius)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &x, genType const &minVal, genType const &maxVal)
 
template<typename T , precision P>
detail::tvec3< T, P > closestPointOnLine (detail::tvec3< T, P > const &point, detail::tvec3< T, P > const &a, detail::tvec3< T, P > const &b)
 
template<typename T , precision P>
detail::tmat2x2< T, P > colMajor2 (detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
 
template<typename T , precision P>
detail::tmat2x2< T, P > colMajor2 (detail::tmat2x2< T, P > const &m)
 
template<typename T , precision P>
detail::tmat3x3< T, P > colMajor3 (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
template<typename T , precision P>
detail::tmat3x3< T, P > colMajor3 (detail::tmat3x3< T, P > const &m)
 
template<typename T , precision P>
detail::tmat4x4< T, P > colMajor4 (detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
 
template<typename T , precision P>
detail::tmat4x4< T, P > colMajor4 (detail::tmat4x4< T, P > const &m)
 
template<typename genType >
genType::col_type column (genType const &m, length_t const &index)
 
template<typename genType >
genType column (genType const &m, length_t const &index, typename genType::col_type const &x)
 
template<typename genType >
genType::value_type compAdd (genType const &v)
 
template<typename genType >
genType::value_type compMax (genType const &v)
 
template<typename genType >
genType::value_type compMin (genType const &v)
 
template<typename genType >
genType::value_type compMul (genType const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > conjugate (detail::tquat< T, P > const &q)
 
template<typename genType >
GLM_FUNC_DECL genType cos (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType cosh (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > cross (detail::tquat< T, P > const &q, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec3< T, P > cross (detail::tvec3< T, P > const &v, detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > cross (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType csc (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csch (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType degrees (genType const &radians)
 
template<typename T , precision P>
detail::tmat2x2< T, P > diagonal2x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat2x3< T, P > diagonal2x3 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat2x4< T, P > diagonal2x4 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x2< T, P > diagonal3x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x3< T, P > diagonal3x3 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x4< T, P > diagonal3x4 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x2< T, P > diagonal4x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x3< T, P > diagonal4x3 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > diagonal4x4 (detail::tvec4< T, P > const &v)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
+defaultp > 
diskRand (T const &Radius)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type distance (genType const &p0, genType const &p1)
 
template<typename T >
distance2 (T const &p0, T const &p1)
 
template<typename genType >
genType::value_type distance2 (genType const &p0, genType const &p1)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T dot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType dot (genType const &x, genType const &y)
 
template<typename T , precision P, template< typename, precision > class quatType>
GLM_FUNC_DECL T dot (quatType< T, P > const &x, quatType< T, P > const &y)
 
template<typename T , precision P>
detail::tdualquat< T, P > dualquat_cast (detail::tmat2x4< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > dualquat_cast (detail::tmat3x4< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType e ()
 
template<typename genType >
GLM_FUNC_DECL genType epsilon ()
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > epsilonEqual (vecType< T, P > const &x, vecType< T, P > const &y, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL genType::boolType epsilonNotEqual (genType const &x, genType const &y, typename genType::value_type const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
equal (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
detail::tvec3< T, P > euclidean (detail::tvec2< T, P > const &polar)
 
template<typename genType >
GLM_FUNC_DECL genType euler ()
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > eulerAngles (detail::tquat< T, P > const &x)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleX (T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleY (T const &angleY)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZ (T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZX (T const &angle, T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename genType >
GLM_FUNC_DECL genType exp (genType const &x)
 
template<typename T , precision P>
detail::tquat< T, P > exp (detail::tquat< T, P > const &q)
 
template<typename genType >
GLM_FUNC_DECL genType exp2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 
template<typename T , precision P>
detail::tmat4x4< T, P > extractMatrixRotation (detail::tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
extractRealComponent (detail::tquat< T, P > const &q)
 
template<typename genType >
GLM_FUNC_DECL genType faceforward (genType const &N, genType const &I, genType const &Nref)
 
template<typename genType >
genType factorial (genType const &x)
 
template<typename T >
fastAcos (const T &angle)
 
template<typename T >
fastAsin (const T &angle)
 
template<typename T >
fastAtan (const T &y, const T &x)
 
template<typename T >
fastAtan (const T &angle)
 
template<typename T >
fastCos (const T &angle)
 
template<typename genType >
genType::value_type fastDistance (genType const &x, genType const &y)
 
template<typename T >
fastExp (const T &x)
 
template<typename T >
fastExp2 (const T &x)
 
template<typename genType >
genType fastInverseSqrt (genType const &x)
 
template<typename genType >
genType::value_type fastLength (genType const &x)
 
template<typename T >
fastLn (const T &x)
 
template<typename T >
fastLog (const T &x)
 
template<typename T >
fastLog2 (const T &x)
 
template<typename T , precision P>
detail::tquat< T, P > fastMix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename genType >
genType fastNormalize (genType const &x)
 
template<typename genType >
genType::value_type fastNormalizeDot (genType const &x, genType const &y)
 
template<typename genType >
genType fastPow (genType const &x, genType const &y)
 
template<typename genTypeT , typename genTypeU >
genTypeT fastPow (genTypeT const &x, genTypeU const &y)
 
template<typename T >
fastSin (const T &angle)
 
template<typename genType >
genType fastSqrt (genType const &x)
 
template<typename T >
fastTan (const T &angle)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType fillBitfieldWithOne (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType fillBitfieldWithZero (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename T , template< typename > class genIUType>
GLM_FUNC_DECL genIUType< T >
+::signed_type 
findLSB (genIUType< T > const &Value)
 
template<typename T , template< typename > class genIUType>
GLM_FUNC_DECL genIUType< T >
+::signed_type 
findMSB (genIUType< T > const &Value)
 
template<typename T >
GLM_FUNC_DECL uint float_distance (T const &x, T const &y)
 
template<typename T , template< typename > class vecType>
GLM_FUNC_DECL vecType< uintfloat_distance (vecType< T > const &x, vecType< T > const &y)
 
GLM_FUNC_DECL int floatBitsToInt (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< int, P > floatBitsToInt (vecType< float, P > const &v)
 
GLM_FUNC_DECL uint floatBitsToUint (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< uint, P > floatBitsToUint (vecType< float, P > const &v)
 
template<typename genType >
GLM_FUNC_DECL genType floor (genType const &x)
 
unsigned int floor_log2 (unsigned int x)
 
template<typename genType >
GLM_FUNC_DECL genType fma (genType const &a, genType const &b, genType const &c)
 
template<typename genType >
GLM_FUNC_DECL genType fract (genType const &x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType frexp (genType const &x, genIType &exp)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
frustum (T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType const &Mean, genType const &Deviation)
 
template<typename genType >
GLM_FUNC_DECL genType golden_ratio ()
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P >
+::bool_type 
greaterThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
greaterThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P >
+::bool_type 
greaterThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
greaterThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 
template<typename genType >
genType higherMultiple (genType const &Source, genType const &Multiple)
 
template<typename genType >
GLM_FUNC_DECL genType highestBitValue (genType const &value)
 
template<typename T , precision P>
detail::tvec3< T, P > hsvColor (detail::tvec3< T, P > const &rgbValue)
 
template<typename genIType >
GLM_FUNC_DECL void imulExtended (genIType const &x, genIType const &y, genIType &msb, genIType &lsb)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
infinitePerspective (T fovy, T aspect, T near)
 
GLM_FUNC_DECL float intBitsToFloat (int const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > intBitsToFloat (vecType< int, P > const &v)
 
template<typename T , precision P>
detail::tquat< T, P > intermediate (detail::tquat< T, P > const &prev, detail::tquat< T, P > const &curr, detail::tquat< T, P > const &next)
 
template<typename T , precision P>
detail::tmat4x4< T, P > interpolate (detail::tmat4x4< T, P > const &m1, detail::tmat4x4< T, P > const &m2, T const delta)
 
template<typename genType >
bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 
template<typename genType >
bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename genType >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 
template<typename genType >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
 
template<typename T , precision P>
detail::tdualquat< T, P > inverse (detail::tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > inverse (detail::tquat< T, P > const &q)
 
template<typename genType >
GLM_FUNC_DECL genType inversesqrt (genType const &x)
 
template<typename genType >
GLM_FUNC_QUALIFIER
+genType::value_type 
inverseTranspose (genType const &m)
 
template<typename T , precision P, template< typename, precision > class vecType>
vecType< bool, P > isCompNull (vecType< T, P > const &v, T const &epsilon)
 
+template<typename genType >
bool isfinite (genType const &x)
 
+template<typename T , precision P>
detail::tvec2< bool, P > isfinite (const detail::tvec2< T, P > &x)
 
+template<typename T , precision P>
detail::tvec3< bool, P > isfinite (const detail::tvec3< T, P > &x)
 
+template<typename T , precision P>
detail::tvec4< bool, P > isfinite (const detail::tvec4< T, P > &x)
 
template<typename T , precision P, template< typename, precision > class matType>
bool isIdentity (matType< T, P > const &m, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isinf (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isnan (genType const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool isNormalized (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool isNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
bool isOrthogonal (matType< T, P > const &m, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool isPowerOfTwo (genType const &value)
 
template<typename T , precision P>
l1Norm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename T , precision P>
l1Norm (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
l2Norm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename T , precision P>
l2Norm (detail::tvec3< T, P > const &x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType ldexp (genType const &x, genIType const &exp)
 
template<typename T , precision P>
bool leftHanded (detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type length (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T length (detail::tquat< T, P > const &q)
 
template<typename T >
length2 (T const &x)
 
template<typename genType >
genType::value_type length2 (genType const &x)
 
template<typename T , precision P>
length2 (detail::tquat< T, P > const &q)
 
+template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec2< T, P > 
lerp (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec3< T, P > 
lerp (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec4< T, P > 
lerp (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec2< T, P > 
lerp (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y, const detail::tvec2< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec3< T, P > 
lerp (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y, const detail::tvec3< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec4< T, P > 
lerp (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y, const detail::tvec4< T, P > &a)
 
template<typename T , precision P>
detail::tdualquat< T, P > lerp (detail::tdualquat< T, P > const &x, detail::tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > lerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
lessThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P >
+::bool_type 
lessThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
lessThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
linearGradient (detail::tvec2< T, P > const &Point0, detail::tvec2< T, P > const &Point1, detail::tvec2< T, P > const &Position)
 
template<typename genType >
GLM_FUNC_DECL genType linearRand (genType const &Min, genType const &Max)
 
template<typename genType >
GLM_FUNC_DECL genType ln_ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ten ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_two ()
 
template<typename genType >
genType log (genType const &x, genType const &base)
 
template<typename genType >
GLM_FUNC_DECL genType log (genType const &x)
 
template<typename T , precision P>
detail::tquat< T, P > log (detail::tquat< T, P > const &q)
 
template<typename genIUType >
genIUType log2 (genIUType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType log2 (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
lookAt (detail::tvec3< T, P > const &eye, detail::tvec3< T, P > const &center, detail::tvec3< T, P > const &up)
 
template<typename genType >
genType lowerMultiple (genType const &Source, genType const &Multiple)
 
template<typename T , precision P>
luminosity (detail::tvec3< T, P > const &color)
 
template<typename T , precision P>
lxNorm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, unsigned int Depth)
 
template<typename T , precision P>
lxNorm (detail::tvec3< T, P > const &x, unsigned int Depth)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x2
+< T, defaultp > 
make_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x2
+< T, defaultp > 
make_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x3
+< T, defaultp > 
make_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x4
+< T, defaultp > 
make_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x3
+< T, defaultp > 
make_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x2
+< T, defaultp > 
make_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x3
+< T, defaultp > 
make_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x4
+< T, defaultp > 
make_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
+< T, defaultp > 
make_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x2
+< T, defaultp > 
make_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x3
+< T, defaultp > 
make_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
+< T, defaultp > 
make_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tquat< T,
+defaultp > 
make_quat (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
+defaultp > 
make_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
+defaultp > 
make_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec4< T,
+defaultp > 
make_vec4 (T const *const ptr)
 
template<typename genIType >
GLM_FUNC_DECL genIType mask (genIType const &count)
 
template<typename T , precision P>
detail::tmat2x4< T, P > mat2x4_cast (detail::tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat3x3
+< T, P > 
mat3_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat3x4< T, P > mat3x4_cast (detail::tdualquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
mat4_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat3x3< T, P > matrixCross3 (detail::tvec3< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > matrixCross4 (detail::tvec3< T, P > const &x)
 
template<typename T >
max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename genType >
GLM_FUNC_DECL genType max (genType const &x, genType const &y)
 
template<typename T >
min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename genType >
GLM_FUNC_DECL genType min (genType const &x, genType const &y)
 
template<typename genType >
GLM_FUNC_DECL genType mirrorRepeat (genType const &Texcoord)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > mix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT mix (genTypeT const &x, genTypeT const &y, genTypeU const &a)
 
+template<typename T , precision P>
mixedProduct (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
int mod (int x, int y)
 
uint mod (uint x, uint y)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType const &x, genType const &y)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType const &x, typename genType::value_type const &y)
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType const &x, genType &i)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x, uint const &Distance)
 
uint nlz (uint x)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type noise1 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL detail::tvec2
+< typename genType::value_type,
+defaultp > 
noise2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL detail::tvec3
+< typename genType::value_type,
+defaultp > 
noise3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL detail::tvec4
+< typename genType::value_type,
+defaultp > 
noise4 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType normalize (genType const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > normalize (detail::tdualquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > normalize (detail::tquat< T, P > const &q)
 
template<typename genType >
genType::value_type normalizeDot (genType const &x, genType const &y)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > not_ (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P >
+::bool_type 
notEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
notEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType one ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_root_two ()
 
template<typename T >
detail::tmat2x2< T, defaultp > orientate2 (T const &angle)
 
template<typename T >
detail::tmat3x3< T, defaultp > orientate3 (T const &angle)
 
template<typename T , precision P>
detail::tmat3x3< T, P > orientate3 (detail::tvec3< T, P > const &angles)
 
template<typename T , precision P>
detail::tmat4x4< T, P > orientate4 (detail::tvec3< T, P > const &angles)
 
template<typename T , precision P>
detail::tmat4x4< T, P > orientation (detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec2< T, P > const &x, detail::tvec2< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, detail::tvec3< T, P > const &ref)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
+< T, defaultp > 
ortho (T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
+< T, defaultp > 
ortho (T const &left, T const &right, T const &bottom, T const &top)
 
template<typename T , precision P>
detail::tmat3x3< T, P > orthonormalize (const detail::tmat3x3< T, P > &m)
 
template<typename T , precision P>
detail::tvec3< T, P > orthonormalize (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y)
 
GLM_FUNC_DECL double packDouble2x32 (uvec2 const &v)
 
GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 
GLM_FUNC_DECL uint16 packHalf1x16 (float const &v)
 
GLM_FUNC_DECL uint packHalf2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float const &v)
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float const &s)
 
GLM_FUNC_DECL uint packSnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint16 packSnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packSnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packSnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint packSnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packU3x10_1x2 (uvec4 const &v)
 
GLM_FUNC_DECL uint16 packUnorm1x16 (float const &v)
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float const &v)
 
GLM_FUNC_DECL uint packUnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint16 packUnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packUnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packUnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint packUnorm4x8 (vec4 const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
perlin (vecType< T, P > const &p)
 
template<typename T , precision P, template< typename, precision > class vecType>
perlin (vecType< T, P > const &p, vecType< T, P > const &rep)
 
template<typename vecType >
vecType perp (vecType const &x, vecType const &Normal)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
perspective (T const &fovy, T const &aspect, T const &near, T const &far)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
perspectiveFov (T const &fov, T const &width, T const &height, T const &near, T const &far)
 
template<typename genType >
GLM_FUNC_DECL genType pi ()
 
template<typename T , precision P, typename U >
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
pickMatrix (detail::tvec2< T, P > const &center, detail::tvec2< T, P > const &delta, detail::tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_DECL T pitch (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tvec3< T, P > polar (detail::tvec3< T, P > const &euclidean)
 
int pow (int x, int y)
 
template<typename genType >
GLM_FUNC_DECL genType pow (genType const &base, genType const &exponent)
 
uint pow (uint x, uint y)
 
template<typename T , precision P>
detail::tquat< T, P > pow (detail::tquat< T, P > const &x, T const &y)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoAbove (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoBelow (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoNearest (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x, uint const &Distance)
 
template<typename vecType >
vecType proj (vecType const &x, vecType const &Normal)
 
template<typename T , precision P>
detail::tmat3x3< T, P > proj2D (const detail::tmat3x3< T, P > &m, const detail::tvec3< T, P > &normal)
 
template<typename T , precision P>
detail::tmat4x4< T, P > proj3D (const detail::tmat4x4< T, P > &m, const detail::tvec3< T, P > &normal)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > project (detail::tvec3< T, P > const &obj, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
 
template<typename genType >
GLM_FUNC_DECL genType quarter_pi ()
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > quat_cast (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > quat_cast (detail::tmat4x4< T, P > const &x)
 
template<typename T , precision P>
radialGradient (detail::tvec2< T, P > const &Center, T const &Radius, detail::tvec2< T, P > const &Focal, detail::tvec2< T, P > const &Position)
 
template<typename genType >
GLM_FUNC_DECL genType radians (genType const &degrees)
 
template<typename genType >
GLM_FUNC_DECL genType reflect (genType const &I, genType const &N)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > refract (vecType< T, P > const &I, vecType< T, P > const &N, T const &eta)
 
template<typename genType >
GLM_FUNC_DECL genType repeat (genType const &Texcoord)
 
template<typename T , precision P>
detail::tvec3< T, P > rgb2YCoCg (detail::tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
detail::tvec3< T, P > rgb2YCoCgR (detail::tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
detail::tvec3< T, P > rgbColor (detail::tvec3< T, P > const &hsvValue)
 
template<typename T , precision P>
bool rightHanded (detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL T roll (detail::tquat< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType root_five ()
 
template<typename genType >
GLM_FUNC_DECL genType root_half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_ln_four ()
 
template<typename genType >
GLM_FUNC_DECL genType root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_three ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two_pi ()
 
template<typename T , precision P>
detail::tvec2< T, P > rotate (detail::tvec2< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotate (detail::tvec3< T, P > const &v, T const &angle, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rotate (T angle, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec4< T, P > rotate (detail::tvec4< T, P > const &v, T const &angle, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
rotate (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
detail::tvec3< T, P > rotate (detail::tquat< T, P > const &q, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec4< T, P > rotate (detail::tquat< T, P > const &q, detail::tvec4< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > rotate (detail::tquat< T, P > const &q, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rotateNormalizedAxis (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
detail::tquat< T, P > rotateNormalizedAxis (detail::tquat< T, P > const &q, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateX (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateX (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateY (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateY (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateZ (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateZ (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tquat< T, P > rotation (detail::tvec3< T, P > const &orig, detail::tvec3< T, P > const &dest)
 
template<typename genType >
GLM_FUNC_DECL genType round (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType roundEven (genType const &x)
 
template<typename genType >
genType::row_type row (genType const &m, length_t const &index)
 
template<typename genType >
genType row (genType const &m, length_t const &index, typename genType::row_type const &x)
 
template<typename T , precision P>
detail::tmat2x2< T, P > rowMajor2 (detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
 
template<typename T , precision P>
detail::tmat2x2< T, P > rowMajor2 (detail::tmat2x2< T, P > const &m)
 
template<typename T , precision P>
detail::tmat3x3< T, P > rowMajor3 (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
template<typename T , precision P>
detail::tmat3x3< T, P > rowMajor3 (detail::tmat3x3< T, P > const &m)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rowMajor4 (detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rowMajor4 (detail::tmat4x4< T, P > const &m)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER T saturate (T x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec2< T, P > 
saturate (const detail::tvec2< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec3< T, P > 
saturate (const detail::tvec3< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec4< T, P > 
saturate (const detail::tvec4< T, P > &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > saturation (T const s)
 
template<typename T , precision P>
detail::tvec3< T, P > saturation (T const s, detail::tvec3< T, P > const &color)
 
template<typename T , precision P>
detail::tvec4< T, P > saturation (T const s, detail::tvec4< T, P > const &color)
 
template<typename T , precision P>
detail::tmat4x4< T, P > scale (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
scale (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
 
template<typename valType , precision P>
detail::tmat4x4< valType, P > scaleBias (valType scale, valType bias)
 
template<typename valType , precision P>
detail::tmat4x4< valType, P > scaleBias (detail::tmat4x4< valType, P > const &m, valType scale, valType bias)
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType const &angle)
 
template<typename T , precision P>
detail::tmat3x3< T, P > shearX2D (detail::tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearX3D (const detail::tmat4x4< T, P > &m, T y, T z)
 
template<typename T , precision P>
detail::tmat3x3< T, P > shearY2D (detail::tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearY3D (const detail::tmat4x4< T, P > &m, T x, T z)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearZ3D (const detail::tmat4x4< T, P > &m, T x, T y)
 
template<typename T , precision P>
detail::tquat< T, P > shortMix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename genType >
GLM_FUNC_DECL genType sign (genType const &x)
 
template<typename T , precision P, template< typename, precision > class vecType>
simplex (vecType< T, P > const &p)
 
template<typename genType >
GLM_FUNC_DECL genType sin (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sinh (genType const &angle)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType const &edge0, genType const &edge1, genType const &x)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
+defaultp > 
sphericalRand (T const &Radius)
 
int sqrt (int x)
 
uint sqrt (uint x)
 
template<typename genType >
GLM_FUNC_DECL genType sqrt (genType const &x)
 
template<typename T , precision P>
detail::tquat< T, P > squad (detail::tquat< T, P > const &q1, detail::tquat< T, P > const &q2, detail::tquat< T, P > const &s1, detail::tquat< T, P > const &s2, T const &h)
 
template<typename genType >
GLM_FUNC_DECL genType step (genType const &edge, genType const &x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (T const &edge, vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType tan (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType tanh (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType third ()
 
template<typename genType >
std::string to_string (genType const &x)
 
template<typename T , precision P>
detail::tmat3x3< T, P > toMat3 (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > toMat4 (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tquat< T, P > toQuat (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
detail::tquat< T, P > toQuat (detail::tmat4x4< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > translate (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
translate (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec3< T, P > triangleNormal (detail::tvec3< T, P > const &p1, detail::tvec3< T, P > const &p2, detail::tvec3< T, P > const &p3)
 
template<typename genType >
GLM_FUNC_DECL genType trunc (genType const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename genType >
GLM_FUNC_DECL genType two_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_thirds ()
 
template<typename genUType >
GLM_FUNC_DECL genUType uaddCarry (genUType const &x, genUType const &y, genUType &carry)
 
+GLM_DEPRECATED dword uint10_10_10_2_cast (glm::vec4 const &v)
 
GLM_FUNC_DECL float uintBitsToFloat (uint const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > uintBitsToFloat (vecType< uint, P > const &v)
 
template<typename genUType >
GLM_FUNC_DECL void umulExtended (genUType const &x, genUType const &y, genUType &msb, genUType &lsb)
 
GLM_FUNC_DECL uvec2 unpackDouble2x32 (double const &v)
 
GLM_FUNC_DECL vec3 unpackF2x11_1x10 (uint32 const &p)
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 const &v)
 
GLM_FUNC_DECL vec2 unpackHalf2x16 (uint const &v)
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 const &p)
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 const &p)
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 const &p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x16 (uint const &p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x8 (uint const &p)
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 const &p)
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 const &p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x16 (uint const &p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x8 (uint const &p)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > unProject (detail::tvec3< T, P > const &win, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
 
template<typename genUType >
GLM_FUNC_DECL genUType usubBorrow (genUType const &x, genUType const &y, genUType &borrow)
 
template<typename genType >
GLM_FUNC_DECL
+genType::value_type const * 
value_ptr (genType const &vec)
 
template<typename T , precision P>
GLM_FUNC_DECL T yaw (detail::tquat< T, P > const &x)
 
template<typename T >
detail::tmat4x4< T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 
template<typename T , precision P>
detail::tvec3< T, P > YCoCg2rgb (detail::tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
detail::tvec3< T, P > YCoCgR2rgb (detail::tvec3< T, P > const &YCoCgColor)
 
template<typename genType >
GLM_FUNC_DECL genType zero ()
 
+

Detailed Description

+

OpenGL Mathematics (glm.g-truc.net)

+

Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 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.

+

Typedef Documentation

+ +
+
+ + + + +
typedef highp_bvec1 bvec1
+
+ +

1 component vector of boolean.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 122 of file vec1.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dquat dquat
+
+ +

Quaternion of default double-precision floating-point numbers.

+
See Also
GLM_GTC_quaternion
+ +

Definition at line 118 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_bvec1_t highp_bvec1
+
+ +

1 component vector of high precision boolean.

+

There is no guarantee on the actual precision.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 98 of file vec1.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat<double, highp> highp_dquat
+
+ +

Quaternion of high double-precision floating-point numbers.

+
See Also
GLM_GTC_quaternion
+ +

Definition at line 106 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_quat highp_fquat
+
+ +

Quaternion of high single-precision floating-point numbers.

+
See Also
GLM_GTC_quaternion
+ +

Definition at line 85 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_ivec1_t highp_ivec1
+
+ +

1 component vector of high precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 68 of file vec1.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat<float, highp> highp_quat
+
+ +

Quaternion of high single-precision floating-point numbers.

+
See Also
GLM_GTC_quaternion
+ +

Definition at line 59 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_uvec1_t highp_uvec1
+
+ +

1 component vector of high precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 83 of file vec1.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_ivec1 ivec1
+
+ +

1 component vector of signed integer numbers.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 146 of file vec1.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_bvec1_t lowp_bvec1
+
+ +

1 component vector of low precision boolean.

+

There is no guarantee on the actual precision.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 108 of file vec1.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat<double, lowp> lowp_dquat
+
+ +

Quaternion of low double-precision floating-point numbers.

+
See Also
GLM_GTC_quaternion
+ +

Definition at line 96 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_quat lowp_fquat
+
+ +

Quaternion of low single-precision floating-point numbers.

+
See Also
GLM_GTC_quaternion
+ +

Definition at line 75 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_ivec1_t lowp_ivec1
+
+ +

1 component vector of low precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 78 of file vec1.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat<float, lowp> lowp_quat
+
+ +

Quaternion of low single-precision floating-point numbers.

+
See Also
GLM_GTC_quaternion
+ +

Definition at line 49 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_uvec1_t lowp_uvec1
+
+ +

1 component vector of low precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 93 of file vec1.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_bvec1_t mediump_bvec1
+
+ +

1 component vector of medium precision boolean.

+

There is no guarantee on the actual precision.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 103 of file vec1.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat<double, mediump> mediump_dquat
+
+ +

Quaternion of medium double-precision floating-point numbers.

+
See Also
GLM_GTC_quaternion
+ +

Definition at line 101 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_quat mediump_fquat
+
+ +

Quaternion of medium single-precision floating-point numbers.

+
See Also
GLM_GTC_quaternion
+ +

Definition at line 80 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_ivec1_t mediump_ivec1
+
+ +

1 component vector of medium precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 73 of file vec1.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat<float, mediump> mediump_quat
+
+ +

Quaternion of medium single-precision floating-point numbers.

+
See Also
GLM_GTC_quaternion
+ +

Definition at line 54 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_uvec1_t mediump_uvec1
+
+ +

1 component vector of medium precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 88 of file vec1.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_uvec1 uvec1
+
+ +

1 component vector of unsigned integer numbers.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 158 of file vec1.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_vec1 vec1
+
+ +

1 component vector of floating-point numbers.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 134 of file vec1.hpp.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00152.html glm-0.9.5.1/doc/api/a00152.html --- glm-0.9.4.6/doc/api/a00152.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00152.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,132 +0,0 @@ - - - - - -GLM_GTC_noise - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_noise
-
-
- - - - - - - - - - - -

-Functions

template<typename T , template< typename > class vecType>
perlin (vecType< T > const &p)
 
template<typename T , template< typename > class vecType>
perlin (vecType< T > const &p, vecType< T > const &rep)
 
template<typename T , template< typename > class vecType>
simplex (vecType< T > const &p)
 
-

Detailed Description

-

Defines 2D, 3D and 4D procedural noise functions Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": https://github.com/ashima/webgl-noise Following Stefan Gustavson's paper "Simplex noise demystified": http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf <glm/gtc/noise.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
T glm::perlin (vecType< T > const & p)
-
- -

Classic perlin noise.

-
See Also
GLM_GTC_noise
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
T glm::perlin (vecType< T > const & p,
vecType< T > const & rep 
)
-
- -

Periodic perlin noise.

-
See Also
GLM_GTC_noise
- -
-
- -
-
- - - - - - - - -
T glm::simplex (vecType< T > const & p)
-
- -

Simplex noise.

-
See Also
GLM_GTC_noise
- -
-
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00153.html glm-0.9.5.1/doc/api/a00153.html --- glm-0.9.4.6/doc/api/a00153.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00153.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,848 +0,0 @@ - - - - - -GLM_GTC_quaternion - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_quaternion
-
-
- - - - - - - - - - - - - - - - -

-Typedefs

typedef detail::tquat< double > dquat
 
typedef detail::tquat< float > fquat
 
typedef detail::tquat
-< highp_float > 
highp_quat
 
typedef detail::tquat
-< detail::half > 
hquat
 
typedef detail::tquat< lowp_float > lowp_quat
 
typedef detail::tquat
-< mediump_float > 
mediump_quat
 
typedef detail::tquat< float > quat
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
valType angle (detail::tquat< valType > const &x)
 
template<typename valType >
detail::tquat< valType > angleAxis (valType const &angle, valType const &x, valType const &y, valType const &z)
 
template<typename valType >
detail::tquat< valType > angleAxis (valType const &angle, detail::tvec3< valType > const &axis)
 
template<typename valType >
detail::tvec3< valType > axis (detail::tquat< valType > const &x)
 
template<typename T >
detail::tquat< T > conjugate (detail::tquat< T > const &q)
 
template<typename T >
dot (detail::tquat< T > const &q1, detail::tquat< T > const &q2)
 
template<typename T >
detail::tvec3< T > eulerAngles (detail::tquat< T > const &x)
 
template<typename T >
detail::tquat< T > inverse (detail::tquat< T > const &q)
 
template<typename T >
length (detail::tquat< T > const &q)
 
template<typename T >
detail::tquat< T > lerp (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename T >
detail::tmat3x3< T > mat3_cast (detail::tquat< T > const &x)
 
template<typename T >
detail::tmat4x4< T > mat4_cast (detail::tquat< T > const &x)
 
template<typename T >
detail::tquat< T > mix (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename T >
detail::tquat< T > normalize (detail::tquat< T > const &q)
 
template<typename valType >
valType pitch (detail::tquat< valType > const &x)
 
template<typename T >
detail::tquat< T > quat_cast (detail::tmat3x3< T > const &x)
 
template<typename T >
detail::tquat< T > quat_cast (detail::tmat4x4< T > const &x)
 
template<typename valType >
valType roll (detail::tquat< valType > const &x)
 
template<typename T >
detail::tquat< T > rotate (detail::tquat< T > const &q, typename detail::tquat< T >::value_type const &angle, detail::tvec3< T > const &axis)
 
template<typename T >
detail::tquat< T > slerp (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename valType >
valType yaw (detail::tquat< valType > const &x)
 
-

Detailed Description

-

Defines a templated quaternion type and several quaternion operations.

-

<glm/gtc/quaternion.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- -
-
- - - - -
typedef detail::tquat<double> dquat
-
- -

Quaternion of double-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 359 of file gtc/quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<float> fquat
-
- -

Quaternion of single-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 354 of file gtc/quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<highp_float> highp_quat
-
- -

Quaternion of high precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 374 of file gtc/quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<detail::half> hquat
-
- -

Quaternion of half-precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 349 of file gtc/quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<lowp_float> lowp_quat
-
- -

Quaternion of low precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 364 of file gtc/quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<mediump_float> mediump_quat
-
- -

Quaternion of medium precision floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 369 of file gtc/quaternion.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<float> quat
-
- -

Quaternion of floating-point numbers.

-
See Also
GLM_GTC_quaternion
- -

Definition at line 344 of file gtc/quaternion.hpp.

- -
-
-

Function Documentation

- -
-
- - - - - - - - -
valType glm::angle (detail::tquat< valType > const & x)
-
- -

Returns the quaternion rotation angle.

-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tquat<valType> glm::angleAxis (valType const & angle,
valType const & x,
valType const & y,
valType const & z 
)
-
- -

Build a quaternion from an angle and a normalized axis.

-
Parameters
- - - - - -
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
xx component of the x-axis, x, y, z must be a normalized axis
yy component of the y-axis, x, y, z must be a normalized axis
zz component of the z-axis, x, y, z must be a normalized axis
-
-
-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tquat<valType> glm::angleAxis (valType const & angle,
detail::tvec3< valType > const & axis 
)
-
- -

Build a quaternion from an angle and a normalized axis.

-
Parameters
- - - -
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisAxis of the quaternion, must be normalized.
-
-
-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
detail::tvec3<valType> glm::axis (detail::tquat< valType > const & x)
-
- -

Returns the q rotation axis.

-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
detail::tquat<T> glm::conjugate (detail::tquat< T > const & q)
-
- -

Returns the q conjugate.

-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
T glm::dot (detail::tquat< T > const & q1,
detail::tquat< T > const & q2 
)
-
- -

Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...

-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
detail::tvec3<T> glm::eulerAngles (detail::tquat< T > const & x)
-
- -

Returns euler angles, yitch as x, yaw as y, roll as z.

-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
detail::tquat<T> glm::inverse (detail::tquat< T > const & q)
-
- -

Returns the q inverse.

-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
T glm::length (detail::tquat< T > const & q)
-
- -

Returns the length of the quaternion.

-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tquat<T> glm::lerp (detail::tquat< T > const & x,
detail::tquat< T > const & y,
T const & a 
)
-
- -

Linear interpolation of two quaternions.

-

The interpolation is oriented.

-
Parameters
- - - - -
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined in the range [0, 1].
-
-
-
Template Parameters
- - -
TValue type used to build the quaternion. Supported: half, float or double.
-
-
-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<T> glm::mat3_cast (detail::tquat< T > const & x)
-
- -

Converts a quaternion to a 3 * 3 matrix.

-
See Also
GLM_GTC_quaternion
- -

Referenced by glm::toMat3().

- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T> glm::mat4_cast (detail::tquat< T > const & x)
-
- -

Converts a quaternion to a 4 * 4 matrix.

-
See Also
GLM_GTC_quaternion
- -

Referenced by glm::toMat4().

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tquat<T> glm::mix (detail::tquat< T > const & x,
detail::tquat< T > const & y,
T const & a 
)
-
- -

Spherical linear interpolation of two quaternions.

-

The interpolation is oriented and the rotation is performed at constant speed. For short path spherical linear interpolation, use the slerp function.

-
Parameters
- - - - -
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
-
-
-
Template Parameters
- - -
TValue type used to build the quaternion. Supported: half, float or double.
-
-
-
See Also
GLM_GTC_quaternion
-
-- slerp(detail::tquat<T> const & x, detail::tquat<T> const & y, T const & a)
- -
-
- -
-
- - - - - - - - -
detail::tquat<T> glm::normalize (detail::tquat< T > const & q)
-
- -

Returns the normalized quaternion.

-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
valType glm::pitch (detail::tquat< valType > const & x)
-
- -

Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
detail::tquat<T> glm::quat_cast (detail::tmat3x3< T > const & x)
-
- -

Converts a 3 * 3 matrix to a quaternion.

-
See Also
GLM_GTC_quaternion
- -

Referenced by glm::toQuat().

- -
-
- -
-
- - - - - - - - -
detail::tquat<T> glm::quat_cast (detail::tmat4x4< T > const & x)
-
- -

Converts a 4 * 4 matrix to a quaternion.

-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - -
valType glm::roll (detail::tquat< valType > const & x)
-
- -

Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tquat<T> glm::rotate (detail::tquat< T > const & q,
typename detail::tquat< T >::value_type const & angle,
detail::tvec3< T > const & axis 
)
-
- -

Rotates a quaternion from an vector of 3 components axis and an angle.

-
Parameters
- - - - -
qSource orientation
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisAxis of the rotation, must be normalized.
-
-
-
See Also
GLM_GTC_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_QUALIFIER T slerp (detail::tquat< T > const & x,
detail::tquat< T > const & y,
T const & a 
)
-
- -

Spherical linear interpolation of two quaternions.

-

Returns the slurp interpolation between two quaternions.

-

The interpolation always take the short path and the rotation is performed at constant speed.

-
Parameters
- - - - -
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
-
-
-
Template Parameters
- - -
TValue type used to build the quaternion. Supported: half, float or double.
-
-
-
See Also
GLM_GTC_quaternion
- -

Definition at line 73 of file compatibility.hpp.

- -

References glm::mix().

- -
-
- -
-
- - - - - - - - -
valType glm::yaw (detail::tquat< valType > const & x)
-
- -

Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.

-
See Also
GLM_GTX_quaternion
- -
-
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00154.html glm-0.9.5.1/doc/api/a00154.html --- glm-0.9.4.6/doc/api/a00154.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00154.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,254 +0,0 @@ - - - - - -GLM_GTC_random - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_random
-
-
- - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec3< T > 
ballRand (T const &Radius)
 
template<typename T >
detail::tvec2< T > circularRand (T const &Radius)
 
template<typename T >
detail::tvec2< T > diskRand (T const &Radius)
 
template<typename genType >
genType gaussRand (genType const &Mean, genType const &Deviation)
 
template<typename genType >
genType linearRand (genType const &Min, genType const &Max)
 
template<typename T >
detail::tvec3< T > sphericalRand (T const &Radius)
 
-

Detailed Description

-

Generate random number from various distribution methods.

-

<glm/gtc/random.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
GLM_FUNC_QUALIFIER detail::tvec3<T> glm::ballRand (T const & Radius)
-
- -

Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of a given radius.

-
Parameters
- - -
Radius
-
-
-
See Also
GLM_GTC_random
- -
-
- -
-
- - - - - - - - -
detail::tvec2<T> glm::circularRand (T const & Radius)
-
- -

Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius.

-
Parameters
- - -
Radius
-
-
-
See Also
GLM_GTC_random
- -
-
- -
-
- - - - - - - - -
detail::tvec2<T> glm::diskRand (T const & Radius)
-
- -

Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a given radius.

-
Parameters
- - -
Radius
-
-
-
See Also
GLM_GTC_random
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::gaussRand (genType const & Mean,
genType const & Deviation 
)
-
- -

Generate random numbers in the interval [Min, Max], according a gaussian distribution.

-
Parameters
- - - -
Mean
Deviation
-
-
-
See Also
GLM_GTC_random
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::linearRand (genType const & Min,
genType const & Max 
)
-
- -

Generate random numbers in the interval [Min, Max], according a linear distribution.

-
Parameters
- - - -
Min
Max
-
-
-
Template Parameters
- - -
genTypeValue type. Currently supported: half (not recommanded), float or double scalars and vectors.
-
-
-
See Also
GLM_GTC_random
- -
-
- -
-
- - - - - - - - -
detail::tvec3<T> glm::sphericalRand (T const & Radius)
-
- -

Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius.

-
Parameters
- - -
Radius
-
-
-
See Also
GLM_GTC_random
- -
-
-
- - - - diff -Nru glm-0.9.4.6/doc/api/a00155.html glm-0.9.5.1/doc/api/a00155.html --- glm-0.9.4.6/doc/api/a00155.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00155.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,324 +1,1133 @@ - - - - - -GLM_GTC_reciprocal - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_reciprocal
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType acot (genType const &x)
 
template<typename genType >
genType acoth (genType const &x)
 
template<typename genType >
genType acsc (genType const &x)
 
template<typename genType >
genType acsch (genType const &x)
 
template<typename genType >
genType asec (genType const &x)
 
template<typename genType >
genType asech (genType const &x)
 
template<typename genType >
genType cot (genType const &angle)
 
template<typename genType >
genType coth (genType const &angle)
 
template<typename genType >
genType csc (genType const &angle)
 
template<typename genType >
genType csch (genType const &angle)
 
template<typename genType >
genType sec (genType const &angle)
 
template<typename genType >
genType sech (genType const &angle)
 
-

Detailed Description

-

Define secant, cosecant and cotangent functions.

-

<glm/gtc/reciprocal.hpp> need to be included to use these features.

-

Function Documentation

- -
-
- - - - - - - - -
genType glm::acot (genType const & x)
-
- -

Inverse cotangent function.

-
See Also
GLM_GTC_reciprocal
- -
-
- -
-
- - - - - - - - -
genType glm::acoth (genType const & x)
-
- -

Inverse cotangent hyperbolic function.

-
See Also
GLM_GTC_reciprocal
- -
-
- -
-
- - - - - - - - -
genType glm::acsc (genType const & x)
-
- -

Inverse cosecant function.

-
See Also
GLM_GTC_reciprocal
- -
-
- -
-
- - - - - - - - -
genType glm::acsch (genType const & x)
-
- -

Inverse cosecant hyperbolic function.

-
See Also
GLM_GTC_reciprocal
- -
-
- -
-
- - - - - - - - -
genType glm::asec (genType const & x)
-
- -

Inverse secant function.

-
See Also
GLM_GTC_reciprocal
- -
-
- -
-
- - - - - - - - -
genType glm::asech (genType const & x)
-
- -

Inverse secant hyperbolic function.

-
See Also
GLM_GTC_reciprocal
- -
-
- -
-
- - - - - - - - -
genType glm::cot (genType const & angle)
-
- -

Cotangent function.

-

adjacent / opposite or 1 / tan(x)

-
See Also
GLM_GTC_reciprocal
- -
-
- -
-
- - - - - - - - -
genType glm::coth (genType const & angle)
-
- -

Cotangent hyperbolic function.

-
See Also
GLM_GTC_reciprocal
- -
-
- -
-
- - - - - - - - -
genType glm::csc (genType const & angle)
-
- -

Cosecant function.

-

hypotenuse / opposite or 1 / sin(x)

-
See Also
GLM_GTC_reciprocal
- -
-
- -
-
- - - - - - - - -
genType glm::csch (genType const & angle)
-
- -

Cosecant hyperbolic function.

-
See Also
GLM_GTC_reciprocal
- -
-
- -
-
- - - - - - - - -
genType glm::sec (genType const & angle)
-
- -

Secant function.

-

hypotenuse / adjacent or 1 / cos(x)

-
See Also
GLM_GTC_reciprocal
- -
-
- -
-
- - - - - - - - -
genType glm::sech (genType const & angle)
-
- -

Secant hyperbolic function.

-
See Also
GLM_GTC_reciprocal
- -
-
-
- - - - + + + + + + +GLM: Common functions + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
Common functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType abs (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType ceil (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &x, genType const &minVal, genType const &maxVal)
 
GLM_FUNC_DECL int floatBitsToInt (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< int, P > floatBitsToInt (vecType< float, P > const &v)
 
GLM_FUNC_DECL uint floatBitsToUint (float const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< uint, P > floatBitsToUint (vecType< float, P > const &v)
 
template<typename genType >
GLM_FUNC_DECL genType floor (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType fma (genType const &a, genType const &b, genType const &c)
 
template<typename genType >
GLM_FUNC_DECL genType fract (genType const &x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType frexp (genType const &x, genIType &exp)
 
GLM_FUNC_DECL float intBitsToFloat (int const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > intBitsToFloat (vecType< int, P > const &v)
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isinf (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isnan (genType const &x)
 
template<typename genType , typename genIType >
GLM_FUNC_DECL genType ldexp (genType const &x, genIType const &exp)
 
template<typename genType >
GLM_FUNC_DECL genType max (genType const &x, genType const &y)
 
template<typename genType >
GLM_FUNC_DECL genType min (genType const &x, genType const &y)
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT mix (genTypeT const &x, genTypeT const &y, genTypeU const &a)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType const &x, genType const &y)
 
template<typename genType >
GLM_FUNC_DECL genType mod (genType const &x, typename genType::value_type const &y)
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType const &x, genType &i)
 
template<typename genType >
GLM_FUNC_DECL genType round (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType roundEven (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType sign (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType const &edge0, genType const &edge1, genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType step (genType const &edge, genType const &x)
 
template<template< typename, precision > class vecType, typename T , precision P>
GLM_FUNC_DECL vecType< T, P > step (T const &edge, vecType< T, P > const &x)
 
template<typename genType >
GLM_FUNC_DECL genType trunc (genType const &x)
 
GLM_FUNC_DECL float uintBitsToFloat (uint const &v)
 
template<template< typename, precision > class vecType, precision P>
GLM_FUNC_DECL vecType< float, P > uintBitsToFloat (vecType< uint, P > const &v)
 
+

Detailed Description

+

These all operate component-wise.

+

The description is per component.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::abs (genType const & x)
+
+ +

Returns x if x >= 0; otherwise, it returns -x.

+
Template Parameters
+ + +
genTypefloating-point or signed integer; scalar or vector types.
+
+
+
See Also
GLSL abs man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::ceil (genType const & x)
+
+ +

Returns a value equal to the nearest integer that is greater than or equal to x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL ceil man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::clamp (genType const & x,
genType const & minVal,
genType const & maxVal 
)
+
+ +

Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.

+
Template Parameters
+ + +
genTypeFloating-point or integer; scalar or vector types.
+
+
+
See Also
GLSL clamp man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +

Referenced by glm::saturate().

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL int glm::floatBitsToInt (float const & v)
+
+ +

Returns a signed integer value representing the encoding of a floating-point value.

+

The floating-point value's bit-level representation is preserved.

+
See Also
GLSL floatBitsToInt man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<int, P> glm::floatBitsToInt (vecType< float, P > const & v)
+
+ +

Returns a signed integer value representing the encoding of a floating-point value.

+

The floatingpoint value's bit-level representation is preserved.

+
See Also
GLSL floatBitsToInt man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint glm::floatBitsToUint (float const & v)
+
+ +

Returns a unsigned integer value representing the encoding of a floating-point value.

+

The floatingpoint value's bit-level representation is preserved.

+
See Also
GLSL floatBitsToUint man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<uint, P> glm::floatBitsToUint (vecType< float, P > const & v)
+
+ +

Returns a unsigned integer value representing the encoding of a floating-point value.

+

The floatingpoint value's bit-level representation is preserved.

+
See Also
GLSL floatBitsToUint man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::floor (genType const & x)
+
+ +

Returns a value equal to the nearest integer that is less then or equal to x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL floor man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::fma (genType const & a,
genType const & b,
genType const & c 
)
+
+ +

Computes and returns a * b + c.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL fma man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::fract (genType const & x)
+
+ +

Return x - floor(x).

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL fract man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::frexp (genType const & x,
genIType & exp 
)
+
+ +

Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent)

+

The significand is returned by the function and the exponent is returned in the parameter exp. For a floating-point value of zero, the significant and exponent are both zero. For a floating-point value that is an infinity or is not a number, the results are undefined.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL frexp man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::intBitsToFloat (int const & v)
+
+ +

Returns a floating-point value corresponding to a signed integer encoding of a floating-point value.

+

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

+
See Also
GLSL intBitsToFloat man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<float, P> glm::intBitsToFloat (vecType< int, P > const & v)
+
+ +

Returns a floating-point value corresponding to a signed integer encoding of a floating-point value.

+

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

+
See Also
GLSL intBitsToFloat man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType::bool_type glm::isinf (genType const & x)
+
+ +

Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations.

+

Returns false otherwise, including for implementations with no infinity representations.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL isinf man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType::bool_type glm::isnan (genType const & x)
+
+ +

Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations.

+

Returns false otherwise, including for implementations with no NaN representations.

+

/!\ When using compiler fast math, this function may fail.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL isnan man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::ldexp (genType const & x,
genIType const & exp 
)
+
+ +

Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent)

+

If this product is too large to be represented in the floating-point type, the result is undefined.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL ldexp man page;
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::max (genType const & x,
genType const & y 
)
+
+ +

Returns y if x < y; otherwise, it returns x.

+
Template Parameters
+ + +
genTypeFloating-point or integer; scalar or vector types.
+
+
+
See Also
GLSL max man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::min (genType const & x,
genType const & y 
)
+
+ +

Returns y if y < x; otherwise, it returns x.

+
Template Parameters
+ + +
genTypeFloating-point or integer; scalar or vector types.
+
+
+
See Also
GLSL min man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions<<<<<<< HEAD
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genTypeT glm::mix (genTypeT const & x,
genTypeT const & y,
genTypeU const & a 
)
+
+ +

If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a.

+

The value for a is not restricted to the range [0, 1].

+

If genTypeU is a boolean scalar or vector: Selects which vector each returned component comes from. For a component of that is false, the corresponding component of x is returned. For a component of a that is true, the corresponding component of y is returned. Components of x and y that are not selected are allowed to be invalid floating point values and will have no effect on the results. Thus, this provides different functionality than genType mix(genType x, genType y, genType(a)) where a is a Boolean vector.

+
See Also
GLSL mix man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+
Parameters
+ + + + +
[in]xValue to interpolate.
[in]yValue to interpolate.
[in]aInterpolant.
+
+
+
Template Parameters
+ + + +
genTypeTFloating point scalar or vector.
genTypeUFloating point or boolean scalar or vector. It can't be a vector if it is the length of genTypeT.
+
+
+
* #include <glm/glm.hpp>
+
* ...
+
* float a;
+
* bool b;
+ + + + +
* ...
+
* glm::vec4 r = glm::mix(g, h, a); // Interpolate with a floating-point scalar two vectors.
+
* glm::vec4 s = glm::mix(g, h, b); // Teturns g or h;
+
* glm::dvec3 t = glm::mix(e, f, a); // Types of the third parameter is not required to match with the first and the second.
+
* glm::vec4 u = glm::mix(g, h, r); // Interpolations can be perform per component with a vector for the last parameter.
+
*
+
+

Referenced by glm::lerp(), and glm::slerp().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::mod (genType const & x,
genType const & y 
)
+
+ +

Modulus.

+

Returns x - y * floor(x / y) for each component in x using the floating point value y.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL mod man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::mod (genType const & x,
typename genType::value_type const & y 
)
+
+ +

Modulus.

+

Returns x - y * floor(x / y) for each component in x using the floating point value y.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL mod man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::modf (genType const & x,
genType & i 
)
+
+ +

Returns the fractional part of x and sets i to the integer part (as a whole number floating point value).

+

Both the return value and the output parameter will have the same sign as x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL modf man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::round (genType const & x)
+
+ +

Returns a value equal to the nearest integer to x.

+

The fraction 0.5 will round in a direction chosen by the implementation, presumably the direction that is fastest. This includes the possibility that round(x) returns the same value as roundEven(x) for all values of x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL round man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::roundEven (genType const & x)
+
+ +

Returns a value equal to the nearest integer to x.

+

A fractional part of 0.5 will round toward the nearest even integer. (Both 3.5 and 4.5 for x will return 4.0.)

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL roundEven man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+
+New round to even technique
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::sign (genType const & x)
+
+ +

Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.

+
Template Parameters
+ + +
genTypeFloating-point or signed integer; scalar or vector types.
+
+
+
See Also
GLSL sign man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::smoothstep (genType const & edge0,
genType const & edge1,
genType const & x 
)
+
+ +

Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1.

+

This is useful in cases where you would want a threshold function with a smooth transition. This is equivalent to: genType t; t = clamp ((x - edge0) / (edge1 - edge0), 0, 1); return t * t * (3 - 2 * t); Results are undefined if edge0 >= edge1.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL smoothstep man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::step (genType const & edge,
genType const & x 
)
+
+ +

Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType.

+
See Also
GLSL step man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::step (T const & edge,
vecType< T, P > const & x 
)
+
+ +

Returns 0.0 if x < edge, otherwise it returns 1.0.

+
See Also
GLSL step man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::trunc (genType const & x)
+
+ +

Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL trunc man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::uintBitsToFloat (uint const & v)
+
+ +

Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value.

+

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

+
See Also
GLSL uintBitsToFloat man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<float, P> glm::uintBitsToFloat (vecType< uint, P > const & v)
+
+ +

Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value.

+

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

+
See Also
GLSL uintBitsToFloat man page
+
+GLSL 4.20.8 specification, section 8.3 Common Functions
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00156.html glm-0.9.5.1/doc/api/a00156.html --- glm-0.9.4.6/doc/api/a00156.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00156.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,50 +1,327 @@ - - - - - -GLM_GTC_swizzle - - - - - - -
-
- - - - - - -
-
- - - -
-
-
-
GLM_GTC_swizzle
-
-
-

Detailed Description

-

Provide functions to emulate GLSL swizzle operator fonctionalities.

-

<glm/gtc/swizzle.hpp> need to be included to use these functionalities.

-
- - - - + + + + + + +GLM: Exponential functions + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
Exponential functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType exp (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType exp2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType inversesqrt (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType log (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType log2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType pow (genType const &base, genType const &exponent)
 
template<typename genType >
GLM_FUNC_DECL genType sqrt (genType const &x)
 
+

Detailed Description

+

These all operate component-wise.

+

The description is per component.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::exp (genType const & x)
+
+ +

Returns the natural exponentiation of x, i.e., e^x.

+
Parameters
+ + +
xexp function is defined for input values of x defined in the range (inf-, inf+) in the limit of the type precision.
+
+
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL exp man page
+
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::exp2 (genType const & x)
+
+ +

Returns 2 raised to the x power.

+
Parameters
+ + +
xexp2 function is defined for input values of x defined in the range (inf-, inf+) in the limit of the type precision.
+
+
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL exp2 man page
+
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::inversesqrt (genType const & x)
+
+ +

Returns the reciprocal of the positive square root of x.

+
Parameters
+ + +
xinversesqrt function is defined for input values of x defined in the range [0, inf+) in the limit of the type precision.
+
+
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL inversesqrt man page
+
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::log (genType const & x)
+
+ +

Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y.

+

Results are undefined if x <= 0.

+
Parameters
+ + +
xlog function is defined for input values of x defined in the range (0, inf+) in the limit of the type precision.
+
+
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL log man page
+
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::log2 (genType const & x)
+
+ +

Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y.

+
Parameters
+ + +
xlog2 function is defined for input values of x defined in the range (0, inf+) in the limit of the type precision.
+
+
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL log2 man page
+
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::pow (genType const & base,
genType const & exponent 
)
+
+ +

Returns 'base' raised to the power 'exponent'.

+
Parameters
+ + + +
baseFloating point value. pow function is defined for input values of x defined in the range (inf-, inf+) in the limit of the type precision.
exponentFloating point value representing the 'exponent'.
+
+
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL pow man page
+
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::sqrt (genType const & x)
+
+ +

Returns the positive square root of x.

+
Parameters
+ + +
xsqrt function is defined for input values of x defined in the range [0, inf+) in the limit of the type precision.
+
+
+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL sqrt man page
+
+GLSL 4.20.8 specification, section 8.2 Exponential Functions
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00157.html glm-0.9.5.1/doc/api/a00157.html --- glm-0.9.4.6/doc/api/a00157.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00157.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,2582 +1,408 @@ - - - - - -GLM_GTC_type_precision - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_type_precision
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

typedef float16 f16
 
typedef detail::tmat2x2< f16 > f16mat2
 
typedef detail::tmat2x2< f16 > f16mat2x2
 
typedef detail::tmat2x3< f16 > f16mat2x3
 
typedef detail::tmat2x4< f16 > f16mat2x4
 
typedef detail::tmat3x3< f16 > f16mat3
 
typedef detail::tmat3x2< f16 > f16mat3x2
 
typedef detail::tmat3x3< f16 > f16mat3x3
 
typedef detail::tmat3x4< f16 > f16mat3x4
 
typedef detail::tmat4x4< f16 > f16mat4
 
typedef detail::tmat4x2< f16 > f16mat4x2
 
typedef detail::tmat4x3< f16 > f16mat4x3
 
typedef detail::tmat4x4< f16 > f16mat4x4
 
typedef detail::tquat< f16 > f16quat
 
typedef detail::tvec1< f16 > f16vec1
 
typedef detail::tvec2< f16 > f16vec2
 
typedef detail::tvec3< f16 > f16vec3
 
typedef detail::tvec4< f16 > f16vec4
 
typedef float32 f32
 
typedef detail::tmat2x2< f32 > f32mat2
 
typedef detail::tmat2x2< f32 > f32mat2x2
 
typedef detail::tmat2x3< f32 > f32mat2x3
 
typedef detail::tmat2x4< f32 > f32mat2x4
 
typedef detail::tmat3x3< f32 > f32mat3
 
typedef detail::tmat3x2< f32 > f32mat3x2
 
typedef detail::tmat3x3< f32 > f32mat3x3
 
typedef detail::tmat3x4< f32 > f32mat3x4
 
typedef detail::tmat4x4< f32 > f32mat4
 
typedef detail::tmat4x2< f32 > f32mat4x2
 
typedef detail::tmat4x3< f32 > f32mat4x3
 
typedef detail::tmat4x4< f32 > f32mat4x4
 
typedef detail::tquat< f32 > f32quat
 
typedef detail::tvec1< f32 > f32vec1
 
typedef detail::tvec2< f32 > f32vec2
 
typedef detail::tvec3< f32 > f32vec3
 
typedef detail::tvec4< f32 > f32vec4
 
typedef float64 f64
 
typedef detail::tmat2x2< f64 > f64mat2
 
typedef detail::tmat2x2< f64 > f64mat2x2
 
typedef detail::tmat2x3< f64 > f64mat2x3
 
typedef detail::tmat2x4< f64 > f64mat2x4
 
typedef detail::tmat3x3< f64 > f64mat3
 
typedef detail::tmat3x2< f64 > f64mat3x2
 
typedef detail::tmat3x3< f64 > f64mat3x3
 
typedef detail::tmat3x4< f64 > f64mat3x4
 
typedef detail::tmat4x4< f64 > f64mat4
 
typedef detail::tmat4x2< f64 > f64mat4x2
 
typedef detail::tmat4x3< f64 > f64mat4x3
 
typedef detail::tmat4x4< f64 > f64mat4x4
 
typedef detail::tquat< f64 > f64quat
 
typedef detail::tvec1< f64 > f64vec1
 
typedef detail::tvec2< f64 > f64vec2
 
typedef detail::tvec3< f64 > f64vec3
 
typedef detail::tvec4< f64 > f64vec4
 
typedef detail::float16 float16
 
typedef detail::float16 float16_t
 
typedef detail::float32 float32
 
typedef detail::float32 float32_t
 
typedef detail::float64 float64
 
typedef detail::float64 float64_t
 
typedef detail::tmat2x2< f32 > fmat2
 
typedef detail::tmat2x2< f32 > fmat2x2
 
typedef detail::tmat2x3< f32 > fmat2x3
 
typedef detail::tmat2x4< f32 > fmat2x4
 
typedef detail::tmat3x3< f32 > fmat3
 
typedef detail::tmat3x2< f32 > fmat3x2
 
typedef detail::tmat3x3< f32 > fmat3x3
 
typedef detail::tmat3x4< f32 > fmat3x4
 
typedef detail::tmat4x4< f32 > fmat4
 
typedef detail::tmat4x2< f32 > fmat4x2
 
typedef detail::tmat4x3< f32 > fmat4x3
 
typedef detail::tmat4x4< f32 > fmat4x4
 
typedef detail::tvec1< float > fvec1
 
typedef detail::tvec2< float > fvec2
 
typedef detail::tvec3< float > fvec3
 
typedef detail::tvec4< float > fvec4
 
typedef detail::int16 i16
 
typedef detail::tvec1< i16 > i16vec1
 
typedef detail::tvec2< i16 > i16vec2
 
typedef detail::tvec3< i16 > i16vec3
 
typedef detail::tvec4< i16 > i16vec4
 
typedef detail::int32 i32
 
typedef detail::tvec1< i32 > i32vec1
 
typedef detail::tvec2< i32 > i32vec2
 
typedef detail::tvec3< i32 > i32vec3
 
typedef detail::tvec4< i32 > i32vec4
 
typedef detail::int64 i64
 
typedef detail::tvec1< i64 > i64vec1
 
typedef detail::tvec2< i64 > i64vec2
 
typedef detail::tvec3< i64 > i64vec3
 
typedef detail::tvec4< i64 > i64vec4
 
typedef detail::int8 i8
 
typedef detail::tvec1< i8 > i8vec1
 
typedef detail::tvec2< i8 > i8vec2
 
typedef detail::tvec3< i8 > i8vec3
 
typedef detail::tvec4< i8 > i8vec4
 
typedef detail::int16 int16
 
typedef detail::int16 int16_t
 
typedef detail::int32 int32
 
typedef detail::int32 int32_t
 
typedef detail::int64 int64
 
typedef detail::int64 int64_t
 
typedef detail::int8 int8
 
typedef detail::int8 int8_t
 
typedef detail::uint16 u16
 
typedef detail::tvec1< u16 > u16vec1
 
typedef detail::tvec2< u16 > u16vec2
 
typedef detail::tvec3< u16 > u16vec3
 
typedef detail::tvec4< u16 > u16vec4
 
typedef detail::uint32 u32
 
typedef detail::tvec1< u32 > u32vec1
 
typedef detail::tvec2< u32 > u32vec2
 
typedef detail::tvec3< u32 > u32vec3
 
typedef detail::tvec4< u32 > u32vec4
 
typedef detail::uint64 u64
 
typedef detail::tvec1< u64 > u64vec1
 
typedef detail::tvec2< u64 > u64vec2
 
typedef detail::tvec3< u64 > u64vec3
 
typedef detail::tvec4< u64 > u64vec4
 
typedef detail::uint8 u8
 
typedef detail::tvec1< u8 > u8vec1
 
typedef detail::tvec2< u8 > u8vec2
 
typedef detail::tvec3< u8 > u8vec3
 
typedef detail::tvec4< u8 > u8vec4
 
typedef detail::uint16 uint16
 
typedef detail::uint16 uint16_t
 
typedef detail::uint32 uint32
 
typedef detail::uint32 uint32_t
 
typedef detail::uint64 uint64
 
typedef detail::uint64 uint64_t
 
typedef detail::uint8 uint8
 
typedef detail::uint8 uint8_t
 
-

Detailed Description

-

Defines specific C++-based precision types.

-

Precision types defines types based on GLSL's precision qualifiers. This extension defines types based on explicitly-sized C++ data types.

-

<glm/gtc/type_precision.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- -
-
- - - - -
typedef float16 f16
-
- -

16 bit half-precision floating-point scalar.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 335 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<f16> f16mat2
-
- -

Half-precision floating-point 1x1 matrix.

-
See Also
GLM_GTC_type_precision Half-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 481 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<f16> f16mat2x2
-
- -

Half-precision floating-point 1x1 matrix.

-
See Also
GLM_GTC_type_precision Half-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 498 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f16> f16mat2x3
-
- -

Half-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 502 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f16> f16mat2x4
-
- -

Half-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 506 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f16> f16mat3
-
- -

Half-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 485 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f16> f16mat3x2
-
- -

Half-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 510 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f16> f16mat3x3
-
- -

Half-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 514 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f16> f16mat3x4
-
- -

Half-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 518 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f16> f16mat4
-
- -

Half-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 489 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f16> f16mat4x2
-
- -

Half-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 522 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f16> f16mat4x3
-
- -

Half-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 526 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f16> f16mat4x4
-
- -

Half-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 530 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<f16> f16quat
-
- -

Half-precision floating-point quaternion.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 654 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<f16> f16vec1
-
- -

Half-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 365 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<f16> f16vec2
-
- -

Half-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 369 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<f16> f16vec3
-
- -

Half-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 373 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<f16> f16vec4
-
- -

Half-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 377 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef float32 f32
-
- -

32 bit single-precision floating-point scalar.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 339 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<f32> f32mat2
-
- -

Single-precision floating-point 1x1 matrix.

-
See Also
GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 539 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<f32> f32mat2x2
-
- -

Single-precision floating-point 1x1 matrix.

-
See Also
GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 556 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f32> f32mat2x3
-
- -

Single-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 560 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f32> f32mat2x4
-
- -

Single-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 564 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f32> f32mat3
-
- -

Single-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 543 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f32> f32mat3x2
-
- -

Single-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 568 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f32> f32mat3x3
-
- -

Single-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 572 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f32> f32mat3x4
-
- -

Single-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 576 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f32> f32mat4
-
- -

Single-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 547 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f32> f32mat4x2
-
- -

Single-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 580 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f32> f32mat4x3
-
- -

Single-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 584 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f32> f32mat4x4
-
- -

Single-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 588 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<f32> f32quat
-
- -

Single-precision floating-point quaternion.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 658 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<f32> f32vec1
-
- -

Single-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 382 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<f32> f32vec2
-
- -

Single-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 386 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<f32> f32vec3
-
- -

Single-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 390 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<f32> f32vec4
-
- -

Single-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 394 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef float64 f64
-
- -

64 bit double-precision floating-point scalar.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 343 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<f64> f64mat2
-
- -

Double-precision floating-point 1x1 matrix.

-
See Also
GLM_GTC_type_precision Double-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 597 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<f64> f64mat2x2
-
- -

Double-precision floating-point 1x1 matrix.

-
See Also
GLM_GTC_type_precision Double-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 614 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f64> f64mat2x3
-
- -

Double-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 618 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f64> f64mat2x4
-
- -

Double-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 622 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f64> f64mat3
-
- -

Double-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 601 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f64> f64mat3x2
-
- -

Double-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 626 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f64> f64mat3x3
-
- -

Double-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 630 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f64> f64mat3x4
-
- -

Double-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 634 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f64> f64mat4
-
- -

Double-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 605 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f64> f64mat4x2
-
- -

Double-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 638 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f64> f64mat4x3
-
- -

Double-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 642 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f64> f64mat4x4
-
- -

Double-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 646 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tquat<f64> f64quat
-
- -

Double-precision floating-point quaternion.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 662 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<f64> f64vec1
-
- -

Double-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 399 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<f64> f64vec2
-
- -

Double-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 403 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<f64> f64vec3
-
- -

Double-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 407 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<f64> f64vec4
-
- -

Double-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 411 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::float16 float16
-
- -

16 bit half-precision floating-point scalar.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 309 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::float16 float16_t
-
- -

16 bit half-precision floating-point scalar.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 322 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::float32 float32
-
- -

32 bit single-precision floating-point scalar.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 313 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::float32 float32_t
-
- -

32 bit single-precision floating-point scalar.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 326 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::float64 float64
-
- -

64 bit double-precision floating-point scalar.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 317 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::float64 float64_t
-
- -

64 bit double-precision floating-point scalar.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 330 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<f32> fmat2
-
- -

Single-precision floating-point 1x1 matrix.

-
See Also
GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 423 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x2<f32> fmat2x2
-
- -

Single-precision floating-point 1x1 matrix.

-
See Also
GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
-
-GLM_GTC_type_precision
- -

Definition at line 440 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x3<f32> fmat2x3
-
- -

Single-precision floating-point 2x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 444 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat2x4<f32> fmat2x4
-
- -

Single-precision floating-point 2x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 448 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f32> fmat3
-
- -

Single-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 427 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x2<f32> fmat3x2
-
- -

Single-precision floating-point 3x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 452 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x3<f32> fmat3x3
-
- -

Single-precision floating-point 3x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 456 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat3x4<f32> fmat3x4
-
- -

Single-precision floating-point 3x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 460 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f32> fmat4
-
- -

Single-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 431 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x2<f32> fmat4x2
-
- -

Single-precision floating-point 4x2 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 464 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x3<f32> fmat4x3
-
- -

Single-precision floating-point 4x3 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 468 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tmat4x4<f32> fmat4x4
-
- -

Single-precision floating-point 4x4 matrix.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 472 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<float> fvec1
-
- -

Single-precision floating-point vector of 1 component.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 348 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<float> fvec2
-
- -

Single-precision floating-point vector of 2 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 352 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<float> fvec3
-
- -

Single-precision floating-point vector of 3 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 356 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<float> fvec4
-
- -

Single-precision floating-point vector of 4 components.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 360 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 i16
-
- -

16 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 103 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<i16> i16vec1
-
- -

16 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 133 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<i16> i16vec2
-
- -

16 bit signed integer vector of 2 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 137 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<i16> i16vec3
-
- -

16 bit signed integer vector of 3 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 141 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<i16> i16vec4
-
- -

16 bit signed integer vector of 4 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 145 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 i32
-
- -

32 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 107 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<i32> i32vec1
-
- -

32 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 150 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<i32> i32vec2
-
- -

32 bit signed integer vector of 2 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 154 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<i32> i32vec3
-
- -

32 bit signed integer vector of 3 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 158 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<i32> i32vec4
-
- -

32 bit signed integer vector of 4 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 162 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 i64
-
- -

64 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 111 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<i64> i64vec1
-
- -

64 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 167 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<i64> i64vec2
-
- -

64 bit signed integer vector of 2 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 171 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<i64> i64vec3
-
- -

64 bit signed integer vector of 3 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 175 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<i64> i64vec4
-
- -

64 bit signed integer vector of 4 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 179 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 i8
-
- -

8 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 99 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<i8> i8vec1
-
- -

8 bit signed integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 116 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<i8> i8vec2
-
- -

8 bit signed integer vector of 2 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 120 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<i8> i8vec3
-
- -

8 bit signed integer vector of 3 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 124 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<i8> i8vec4
-
- -

8 bit signed integer vector of 4 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 128 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 int16
-
- -

16 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 69 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::int16 int16_t
-
- -

16 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 86 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 int32
-
- -

32 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 73 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::int32 int32_t
-
- -

32 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 90 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 int64
-
- -

64 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 77 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::int64 int64_t
-
- -

64 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 94 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 int8
-
- -

8 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 65 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::int8 int8_t
-
- -

8 bit signed integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 82 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 u16
-
- -

16 bit unsigned integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 225 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u16> u16vec1
-
- -

16 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 255 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<u16> u16vec2
-
- -

16 bit unsigned integer vector of 2 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 259 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<u16> u16vec3
-
- -

16 bit unsigned integer vector of 3 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 263 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<u16> u16vec4
-
- -

16 bit unsigned integer vector of 4 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 267 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 u32
-
- -

32 bit unsigned integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 229 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u32> u32vec1
-
- -

32 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 272 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<u32> u32vec2
-
- -

32 bit unsigned integer vector of 2 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 276 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<u32> u32vec3
-
- -

32 bit unsigned integer vector of 3 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 280 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<u32> u32vec4
-
- -

32 bit unsigned integer vector of 4 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 284 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 u64
-
- -

64 bit unsigned integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 233 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u64> u64vec1
-
- -

64 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 289 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<u64> u64vec2
-
- -

64 bit unsigned integer vector of 2 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 293 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<u64> u64vec3
-
- -

64 bit unsigned integer vector of 3 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 297 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<u64> u64vec4
-
- -

64 bit unsigned integer vector of 4 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 301 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 u8
-
- -

8 bit unsigned integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 221 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec1<u8> u8vec1
-
- -

8 bit unsigned integer scalar type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 238 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<u8> u8vec2
-
- -

8 bit unsigned integer vector of 2 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 242 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<u8> u8vec3
-
- -

8 bit unsigned integer vector of 3 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 246 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<u8> u8vec4
-
- -

8 bit unsigned integer vector of 4 components type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 250 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 uint16
-
- -

16 bit unsigned integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 191 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint16 uint16_t
-
- -

16 bit unsigned integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 208 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 uint32
-
- -

32 bit unsigned integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 195 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint32 uint32_t
-
- -

32 bit unsigned integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 212 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 uint64
-
- -

64 bit unsigned integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 199 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint64 uint64_t
-
- -

64 bit unsigned integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 216 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 uint8
-
- -

8 bit unsigned integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 187 of file type_precision.hpp.

- -
-
- -
-
- - - - -
typedef detail::uint8 uint8_t
-
- -

8 bit unsigned integer type.

-
See Also
GLM_GTC_type_precision
- -

Definition at line 204 of file type_precision.hpp.

- -
-
-
- - - - + + + + + + +GLM: Geometric functions + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
Geometric functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > cross (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type distance (genType const &p0, genType const &p1)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL T dot (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType dot (genType const &x, genType const &y)
 
template<typename genType >
GLM_FUNC_DECL genType faceforward (genType const &N, genType const &I, genType const &Nref)
 
template<typename genType >
GLM_FUNC_DECL genType::value_type length (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType normalize (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType reflect (genType const &I, genType const &N)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P > refract (vecType< T, P > const &I, vecType< T, P > const &N, T const &eta)
 
+

Detailed Description

+

These operate on vectors as vectors, not component-wise.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tvec3<T, P> glm::cross (detail::tvec3< T, P > const & x,
detail::tvec3< T, P > const & y 
)
+
+ +

Returns the cross product of x and y.

+
Template Parameters
+ + +
valTypeFloating-point scalar types.
+
+
+
See Also
GLSL cross man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType::value_type glm::distance (genType const & p0,
genType const & p1 
)
+
+ +

Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).

+
Template Parameters
+ + +
genTypeFloating-point vector types.
+
+
+
See Also
GLSL distance man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::dot (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Returns the dot product of x and y, i.e., result = x * y.

+
Template Parameters
+ + +
genTypeFloating-point vector types.
+
+
+
See Also
GLSL dot man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::dot (genType const & x,
genType const & y 
)
+
+ +

Returns the dot product of x and y, i.e., result = x * y.

+
Template Parameters
+ + +
genTypeFloating-point vector types.
+
+
+
See Also
GLSL dot man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::faceforward (genType const & N,
genType const & I,
genType const & Nref 
)
+
+ +

If dot(Nref, I) < 0.0, return N, otherwise, return -N.

+
Template Parameters
+ + +
genTypeFloating-point vector types.
+
+
+
See Also
GLSL faceforward man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType::value_type glm::length (genType const & x)
+
+ +

Returns the length of x, i.e., sqrt(x * x).

+
Template Parameters
+ + +
genTypeFloating-point vector types.
+
+
+
See Also
GLSL length man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::normalize (genType const & x)
+
+ +

Returns a vector in the same direction as x but with length of 1.

+
See Also
GLSL normalize man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::reflect (genType const & I,
genType const & N 
)
+
+ +

For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N.

+
Template Parameters
+ + +
genTypeFloating-point vector types.
+
+
+
See Also
GLSL reflect man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P> glm::refract (vecType< T, P > const & I,
vecType< T, P > const & N,
T const & eta 
)
+
+ +

For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector.

+
Template Parameters
+ + +
genTypeFloating-point vector types.
+
+
+
See Also
GLSL refract man page
+
+GLSL 4.20.8 specification, section 8.5 Geometric Functions
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00158.html glm-0.9.5.1/doc/api/a00158.html --- glm-0.9.4.6/doc/api/a00158.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00158.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,442 +1,493 @@ - - - - - -GLM_GTC_type_ptr - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTC_type_ptr
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat2x2< T > make_mat2 (T const *const ptr)
 
template<typename T >
detail::tmat2x2< T > make_mat2x2 (T const *const ptr)
 
template<typename T >
detail::tmat2x3< T > make_mat2x3 (T const *const ptr)
 
template<typename T >
detail::tmat2x4< T > make_mat2x4 (T const *const ptr)
 
template<typename T >
detail::tmat3x3< T > make_mat3 (T const *const ptr)
 
template<typename T >
detail::tmat3x2< T > make_mat3x2 (T const *const ptr)
 
template<typename T >
detail::tmat3x3< T > make_mat3x3 (T const *const ptr)
 
template<typename T >
detail::tmat3x4< T > make_mat3x4 (T const *const ptr)
 
template<typename T >
detail::tmat4x4< T > make_mat4 (T const *const ptr)
 
template<typename T >
detail::tmat4x2< T > make_mat4x2 (T const *const ptr)
 
template<typename T >
detail::tmat4x3< T > make_mat4x3 (T const *const ptr)
 
template<typename T >
detail::tmat4x4< T > make_mat4x4 (T const *const ptr)
 
template<typename T >
detail::tquat< T > make_quat (T const *const ptr)
 
template<typename T >
detail::tvec2< T > make_vec2 (T const *const ptr)
 
template<typename T >
detail::tvec3< T > make_vec3 (T const *const ptr)
 
template<typename T >
detail::tvec4< T > make_vec4 (T const *const ptr)
 
template<typename genType >
genType::value_type const * value_ptr (genType const &vec)
 
-

Detailed Description

-

Handles the interaction between pointers and vector, matrix types.

-

This extension defines an overloaded function, glm::value_ptr, which takes any of the core template types. It returns a pointer to the memory layout of the object. Matrix types store their values in column-major order.

-

This is useful for uploading data to matrices or copying data to buffer objects.

-

Example:

-
#include <glm/glm.hpp>
- -
-
glm::vec3 aVector(3);
-
glm::mat4 someMatrix(1.0);
-
-
glUniform3fv(uniformLoc, 1, glm::value_ptr(aVector));
-
glUniformMatrix4fv(uniformMatrixLoc, 1, GL_FALSE, glm::value_ptr(someMatrix));
-

<glm/gtc/type_ptr.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
detail::tmat2x2<T> glm::make_mat2 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tmat2x2<T> glm::make_mat2x2 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tmat2x3<T> glm::make_mat2x3 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tmat2x4<T> glm::make_mat2x4 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<T> glm::make_mat3 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tmat3x2<T> glm::make_mat3x2 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<T> glm::make_mat3x3 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tmat3x4<T> glm::make_mat3x4 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T> glm::make_mat4 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tmat4x2<T> glm::make_mat4x2 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tmat4x3<T> glm::make_mat4x3 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T> glm::make_mat4x4 (T const *const ptr)
-
- -

Build a matrix from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tquat<T> glm::make_quat (T const *const ptr)
-
- -

Build a quaternion from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tvec2<T> glm::make_vec2 (T const *const ptr)
-
- -

Build a vector from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tvec3<T> glm::make_vec3 (T const *const ptr)
-
- -

Build a vector from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
detail::tvec4<T> glm::make_vec4 (T const *const ptr)
-
- -

Build a vector from a pointer.

-
See Also
GLM_GTC_type_ptr
- -
-
- -
-
- - - - - - - - -
genType::value_type const* glm::value_ptr (genType const & vec)
-
- -

Return the constant address to the data of the input parameter.

-
See Also
GLM_GTC_type_ptr
- -
-
-
- - - - + + + + + + +GLM: Integer functions + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
Integer functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , template< typename > class genIUType>
GLM_FUNC_DECL genIUType< T >
+::signed_type 
bitCount (genIUType< T > const &Value)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldExtract (genIUType const &Value, int const &Offset, int const &Bits)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldInsert (genIUType const &Base, genIUType const &Insert, int const &Offset, int const &Bits)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldReverse (genIUType const &Value)
 
template<typename T , template< typename > class genIUType>
GLM_FUNC_DECL genIUType< T >
+::signed_type 
findLSB (genIUType< T > const &Value)
 
template<typename T , template< typename > class genIUType>
GLM_FUNC_DECL genIUType< T >
+::signed_type 
findMSB (genIUType< T > const &Value)
 
template<typename genIType >
GLM_FUNC_DECL void imulExtended (genIType const &x, genIType const &y, genIType &msb, genIType &lsb)
 
template<typename genUType >
GLM_FUNC_DECL genUType uaddCarry (genUType const &x, genUType const &y, genUType &carry)
 
template<typename genUType >
GLM_FUNC_DECL void umulExtended (genUType const &x, genUType const &y, genUType &msb, genUType &lsb)
 
template<typename genUType >
GLM_FUNC_DECL genUType usubBorrow (genUType const &x, genUType const &y, genUType &borrow)
 
+

Detailed Description

+

These all operate component-wise.

+

The description is per component. The notation [a, b] means the set of bits from bit-number a through bit-number b, inclusive. The lowest-order bit is bit 0.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genIUType<T>::signed_type glm::bitCount (genIUType< T > const & Value)
+
+ +

Returns the number of bits set to 1 in the binary representation of value.

+
Template Parameters
+ + +
genIUTypeSigned or unsigned integer scalar or vector types.
+
+
+
See Also
GLSL bitCount man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+
Todo:
Clarify the declaration to specify that scalars are suported.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genIUType glm::bitfieldExtract (genIUType const & Value,
int const & Offset,
int const & Bits 
)
+
+ +

Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of the result.

+

For unsigned data types, the most significant bits of the result will be set to zero. For signed data types, the most significant bits will be set to the value of bit offset + base - 1.

+

If bits is zero, the result will be zero. The result will be undefined if offset or bits is negative, or if the sum of offset and bits is greater than the number of bits used to store the operand.

+
Template Parameters
+ + +
genIUTypeSigned or unsigned integer scalar or vector types.
+
+
+
See Also
GLSL bitfieldExtract man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genIUType glm::bitfieldInsert (genIUType const & Base,
genIUType const & Insert,
int const & Offset,
int const & Bits 
)
+
+ +

Returns the insertion the bits least-significant bits of insert into base.

+

The result will have bits [offset, offset + bits - 1] taken from bits [0, bits - 1] of insert, and all other bits taken directly from the corresponding bits of base. If bits is zero, the result will simply be base. The result will be undefined if offset or bits is negative, or if the sum of offset and bits is greater than the number of bits used to store the operand.

+
Template Parameters
+ + +
genIUTypeSigned or unsigned integer scalar or vector types.
+
+
+
See Also
GLSL bitfieldInsert man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genIUType glm::bitfieldReverse (genIUType const & Value)
+
+ +

Returns the reversal of the bits of value.

+

The bit numbered n of the result will be taken from bit (bits - 1) - n of value, where bits is the total number of bits used to represent value.

+
Template Parameters
+ + +
genIUTypeSigned or unsigned integer scalar or vector types.
+
+
+
See Also
GLSL bitfieldReverse man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genIUType<T>::signed_type glm::findLSB (genIUType< T > const & Value)
+
+ +

Returns the bit number of the least significant bit set to 1 in the binary representation of value.

+

If value is zero, -1 will be returned.

+
Template Parameters
+ + +
genIUTypeSigned or unsigned integer scalar or vector types.
+
+
+
See Also
GLSL findLSB man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+
Todo:
Clarify the declaration to specify that scalars are suported.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genIUType<T>::signed_type glm::findMSB (genIUType< T > const & Value)
+
+ +

Returns the bit number of the most significant bit in the binary representation of value.

+

For positive integers, the result will be the bit number of the most significant bit set to 1. For negative integers, the result will be the bit number of the most significant bit set to 0. For a value of zero or negative one, -1 will be returned.

+
Template Parameters
+ + +
genIUTypeSigned or unsigned integer scalar or vector types.
+
+
+
See Also
GLSL findMSB man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+
Todo:
Clarify the declaration to specify that scalars are suported.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL void glm::imulExtended (genIType const & x,
genIType const & y,
genIType & msb,
genIType & lsb 
)
+
+ +

Multiplies 32-bit integers x and y, producing a 64-bit result.

+

The 32 least-significant bits are returned in lsb. The 32 most-significant bits are returned in msb.

+
Template Parameters
+ + +
genITypeSigned integer scalar or vector types.
+
+
+
See Also
GLSL imulExtended man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genUType glm::uaddCarry (genUType const & x,
genUType const & y,
genUType & carry 
)
+
+ +

Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).

+

The value carry is set to 0 if the sum was less than pow(2, 32), or to 1 otherwise.

+
Template Parameters
+ + +
genUTypeUnsigned integer scalar or vector types.
+
+
+
See Also
GLSL uaddCarry man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL void glm::umulExtended (genUType const & x,
genUType const & y,
genUType & msb,
genUType & lsb 
)
+
+ +

Multiplies 32-bit integers x and y, producing a 64-bit result.

+

The 32 least-significant bits are returned in lsb. The 32 most-significant bits are returned in msb.

+
Template Parameters
+ + +
genUTypeUnsigned integer scalar or vector types.
+
+
+
See Also
GLSL umulExtended man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genUType glm::usubBorrow (genUType const & x,
genUType const & y,
genUType & borrow 
)
+
+ +

Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.

+

The value borrow is set to 0 if x >= y, or to 1 otherwise.

+
Template Parameters
+ + +
genUTypeUnsigned integer scalar or vector types.
+
+
+
See Also
GLSL usubBorrow man page
+
+GLSL 4.20.8 specification, section 8.8 Integer Functions
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00159.html glm-0.9.5.1/doc/api/a00159.html --- glm-0.9.4.6/doc/api/a00159.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00159.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,229 +1,55 @@ - - - - - -GLM_GTC_ulp - - - - - - -
-
- - - - - - -
-
- - - -
- -
- - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
uint float_distance (T const &x, T const &y)
 
template<typename T , template< typename > class vecType>
vecType< uint > float_distance (vecType< T > const &x, vecType< T > const &y)
 
template<typename genType >
genType next_float (genType const &x)
 
template<typename genType >
genType next_float (genType const &x, uint const &Distance)
 
template<typename genType >
genType prev_float (genType const &x)
 
template<typename genType >
genType prev_float (genType const &x, uint const &Distance)
 
-

Detailed Description

-

Allow the measurement of the accuracy of a function against a reference implementation.

-

This extension works on floating-point data and provide results in ULP. <glm/gtc/ulp.hpp> need to be included to use these features.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
uint glm::float_distance (T const & x,
T const & y 
)
-
- -

Return the distance in the number of ULP between 2 scalars.

-
See Also
GLM_GTC_ulp
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
vecType<uint> glm::float_distance (vecType< T > const & x,
vecType< T > const & y 
)
-
- -

Return the distance in the number of ULP between 2 vectors.

-
See Also
GLM_GTC_ulp
- -
-
- -
-
- - - - - - - - -
genType glm::next_float (genType const & x)
-
- -

Return the next ULP value(s) after the input value(s).

-
See Also
GLM_GTC_ulp
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::next_float (genType const & x,
uint const & Distance 
)
-
- -

Return the value(s) ULP distance after the input value(s).

-
See Also
GLM_GTC_ulp
- -
-
- -
-
- - - - - - - - -
genType glm::prev_float (genType const & x)
-
- -

Return the previous ULP value(s) before the input value(s).

-
See Also
GLM_GTC_ulp
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::prev_float (genType const & x,
uint const & Distance 
)
-
- -

Return the value(s) ULP distance before the input value(s).

-
See Also
GLM_GTC_ulp
- -
-
-
- - - - + + + + + + +GLM: Matrix functions + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+
+
Matrix functions
+
+
+

For each of the following built-in matrix functions, there is both a single-precision floating point version, where all arguments and return values are single precision, and a double-precision floating version, where all arguments and return values are double precision.

+

Only the single-precision floating point version is shown.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00160.html glm-0.9.5.1/doc/api/a00160.html --- glm-0.9.4.6/doc/api/a00160.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00160.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,393 +1,189 @@ - - - - - -GLM_GTX_associated_min_max - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_associated_min_max
-
-
- - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
-

Detailed Description

-

Min and max functions that return associated values not the compared onces.

-

<glm/gtx/associated_min_max.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genTypeU glm::associatedMax (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b 
)
-
- -

Max comparison between 2 variables.

-
See Also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genTypeU glm::associatedMax (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b,
const genTypeT & z,
const genTypeU & c 
)
-
- -

Max comparison between 3 variables.

-
See Also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genTypeU glm::associatedMax (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b,
const genTypeT & z,
const genTypeU & c,
const genTypeT & w,
const genTypeU & d 
)
-
- -

Max comparison between 4 variables.

-
See Also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genTypeU glm::associatedMin (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b 
)
-
- -

Min comparison between 2 variables.

-
See Also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genTypeU glm::associatedMin (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b,
const genTypeT & z,
const genTypeU & c 
)
-
- -

Min comparison between 3 variables.

-
See Also
GLM_GTX_associated_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genTypeU glm::associatedMin (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b,
const genTypeT & z,
const genTypeU & c,
const genTypeT & w,
const genTypeU & d 
)
-
- -

Min comparison between 4 variables.

-
See Also
GLM_GTX_associated_min_max
- -
-
-
- - - - + + + + + + +GLM: Noise functions + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
Noise functions
+
+
+ + + + + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType::value_type noise1 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL detail::tvec2
+< typename genType::value_type,
+defaultp > 
noise2 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL detail::tvec3
+< typename genType::value_type,
+defaultp > 
noise3 (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL detail::tvec4
+< typename genType::value_type,
+defaultp > 
noise4 (genType const &x)
 
+

Detailed Description

+

Noise functions are stochastic functions that can be used to increase visual complexity.

+

Values returned by the following noise functions give the appearance of randomness, but are not truly random.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType::value_type glm::noise1 (genType const & x)
+
+ +

Returns a 1D noise value based on the input value x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL noise1 man page
+
+GLSL 4.20.8 specification, section 8.13 Noise Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tvec2<typename genType::value_type, defaultp> glm::noise2 (genType const & x)
+
+ +

Returns a 2D noise value based on the input value x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL noise2 man page
+
+GLSL 4.20.8 specification, section 8.13 Noise Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tvec3<typename genType::value_type, defaultp> glm::noise3 (genType const & x)
+
+ +

Returns a 3D noise value based on the input value x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL noise3 man page
+
+GLSL 4.20.8 specification, section 8.13 Noise Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tvec4<typename genType::value_type, defaultp> glm::noise4 (genType const & x)
+
+ +

Returns a 4D noise value based on the input value x.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL noise4 man page
+
+GLSL 4.20.8 specification, section 8.13 Noise Functions
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00161.html glm-0.9.5.1/doc/api/a00161.html --- glm-0.9.4.6/doc/api/a00161.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00161.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,434 +1,366 @@ - - - - - -GLM_GTX_bit - - - - - - -
-
- - - - - - -
-
- - - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
GLM_DEPRECATED genType bitRevert (genType const &value)
 
template<typename genType >
genType bitRotateLeft (genType const &In, std::size_t Shift)
 
template<typename genType >
genType bitRotateRight (genType const &In, std::size_t Shift)
 
template<typename genIUType , typename sizeType >
GLM_DEPRECATED genIUType extractField (genIUType const &v, sizeType const &first, sizeType const &count)
 
template<typename genIUType >
genIUType fillBitfieldWithOne (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genIUType >
genIUType fillBitfieldWithZero (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genType >
GLM_DEPRECATED int highestBit (genType const &value)
 
template<typename genType >
genType highestBitValue (genType const &value)
 
template<typename genType >
bool isPowerOfTwo (genType const &value)
 
template<typename genType >
GLM_DEPRECATED int lowestBit (genType const &value)
 
template<typename genIType >
genIType mask (genIType const &count)
 
template<typename genType >
genType powerOfTwoAbove (genType const &value)
 
template<typename genType >
genType powerOfTwoBelow (genType const &value)
 
template<typename genType >
genType powerOfTwoNearest (genType const &value)
 
-

Detailed Description

-

Allow to perform bit operations on integer values.

-

<glm/gtx/bit.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
GLM_DEPRECATED genType glm::bitRevert (genType const & value)
-
- -

Revert all bits of any integer based type.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::bitRotateLeft (genType const & In,
std::size_t Shift 
)
-
- -

Rotate all bits to the left.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::bitRotateRight (genType const & In,
std::size_t Shift 
)
-
- -

Rotate all bits to the right.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_DEPRECATED genIUType glm::extractField (genIUType const & v,
sizeType const & first,
sizeType const & count 
)
-
- -

Component wise extraction of bit fields.

-

genType and genIType could be a scalar or a vector.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genIUType glm::fillBitfieldWithOne (genIUType const & Value,
int const & FromBit,
int const & ToBit 
)
-
- -

Set to 1 a range of bits.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genIUType glm::fillBitfieldWithZero (genIUType const & Value,
int const & FromBit,
int const & ToBit 
)
-
- -

Set to 0 a range of bits.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
GLM_DEPRECATED int glm::highestBit (genType const & value)
-
- -

Find the highest bit set to 1 in a integer variable.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
genType glm::highestBitValue (genType const & value)
-
- -

Find the highest bit set to 1 in a integer variable and return its value.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
bool glm::isPowerOfTwo (genType const & value)
-
- -

Return true if the value is a power of two number.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
GLM_DEPRECATED int glm::lowestBit (genType const & value)
-
- -

Find the lowest bit set to 1 in a integer variable.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
genIType glm::mask (genIType const & count)
-
- -

Build a mask of 'count' bits.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
genType glm::powerOfTwoAbove (genType const & value)
-
- -

Return the power of two number which value is just higher the input value.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
genType glm::powerOfTwoBelow (genType const & value)
-
- -

Return the power of two number which value is just lower the input value.

-
See Also
GLM_GTX_bit
- -
-
- -
-
- - - - - - - - -
genType glm::powerOfTwoNearest (genType const & value)
-
- -

Return the power of two number which value is the closet to the input value.

-
See Also
GLM_GTX_bit
- -
-
-
- - - - + + + + + + +GLM: Floating-Point Pack and Unpack Functions + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
Floating-Point Pack and Unpack Functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

GLM_FUNC_DECL double packDouble2x32 (uvec2 const &v)
 
GLM_FUNC_DECL uint packHalf2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packSnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packSnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uint packUnorm2x16 (vec2 const &v)
 
GLM_FUNC_DECL uint packUnorm4x8 (vec4 const &v)
 
GLM_FUNC_DECL uvec2 unpackDouble2x32 (double const &v)
 
GLM_FUNC_DECL vec2 unpackHalf2x16 (uint const &v)
 
GLM_FUNC_DECL vec2 unpackSnorm2x16 (uint const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x8 (uint const &p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x16 (uint const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x8 (uint const &p)
 
+

Detailed Description

+

These functions do not operate component-wise, rather as described in each case.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL double glm::packDouble2x32 (uvec2 const & v)
+
+ +

Returns a double-precision value obtained by packing the components of v into a 64-bit value.

+

If an IEEE 754 Inf or NaN is created, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit- level representation of v is preserved. The first vector component specifies the 32 least significant bits; the second component specifies the 32 most significant bits.

+
See Also
GLSL packDouble2x32 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint glm::packHalf2x16 (vec2 const & v)
+
+ +

Returns an unsigned integer obtained by converting the components of a two-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these two 16- bit integers into a 32-bit unsigned integer.

+

The first vector component specifies the 16 least-significant bits of the result; the second component specifies the 16 most-significant bits.

+
See Also
GLSL packHalf2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint glm::packSnorm2x16 (vec2 const & v)
+
+ +

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

+

Then, the results are packed into the returned 32-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packSnorm2x16: round(clamp(v, -1, +1) * 32767.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See Also
GLSL packSnorm2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint glm::packSnorm4x8 (vec4 const & v)
+
+ +

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

+

Then, the results are packed into the returned 32-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packSnorm4x8: round(clamp(c, -1, +1) * 127.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See Also
GLSL packSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint glm::packUnorm2x16 (vec2 const & v)
+
+ +

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

+

Then, the results are packed into the returned 32-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm2x16: round(clamp(c, 0, +1) * 65535.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See Also
GLSL packUnorm2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint glm::packUnorm4x8 (vec4 const & v)
+
+ +

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

+

Then, the results are packed into the returned 32-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm4x8: round(clamp(c, 0, +1) * 255.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See Also
GLSL packUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uvec2 glm::unpackDouble2x32 (double const & v)
+
+ +

Returns a two-component unsigned integer vector representation of v.

+

The bit-level representation of v is preserved. The first component of the vector contains the 32 least significant bits of the double; the second component consists the 32 most significant bits.

+
See Also
GLSL unpackDouble2x32 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec2 glm::unpackHalf2x16 (uint const & v)
+
+ +

Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values.

+

The first component of the vector is obtained from the 16 least-significant bits of v; the second component is obtained from the 16 most-significant bits of v.

+
See Also
GLSL unpackHalf2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec2 glm::unpackSnorm2x16 (uint const & p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm2x16: clamp(f / 32767.0, -1, +1)

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLSL unpackSnorm2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackSnorm4x8 (uint const & p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm4x8: clamp(f / 127.0, -1, +1)

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLSL unpackSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec2 glm::unpackUnorm2x16 (uint const & p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm2x16: f / 65535.0

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLSL unpackUnorm2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackUnorm4x8 (uint const & p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLSL unpackUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00162.html glm-0.9.5.1/doc/api/a00162.html --- glm-0.9.4.6/doc/api/a00162.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00162.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,95 +1,534 @@ - - - - - -GLM_GTX_closest_point - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_closest_point
-
-
- - - - - -

-Functions

template<typename T >
detail::tvec3< T > closestPointOnLine (detail::tvec3< T > const &point, detail::tvec3< T > const &a, detail::tvec3< T > const &b)
 
-

Detailed Description

-

Find the point on a straight line which is the closet of a point.

-

<glm/gtx/closest_point.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tvec3<T> glm::closestPointOnLine (detail::tvec3< T > const & point,
detail::tvec3< T > const & a,
detail::tvec3< T > const & b 
)
-
- -

Find the point on a straight line which is the closet of a point.

-
See Also
GLM_GTX_closest_point
- -
-
-
- - - - + + + + + + +GLM: Angle and Trigonometry Functions + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
Angle and Trigonometry Functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType acos (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acosh (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asin (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asinh (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType atan (genType const &y, genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType atan (genType const &y_over_x)
 
template<typename genType >
GLM_FUNC_DECL genType atanh (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType cos (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType cosh (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType degrees (genType const &radians)
 
template<typename genType >
GLM_FUNC_DECL genType radians (genType const &degrees)
 
template<typename genType >
GLM_FUNC_DECL genType sin (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sinh (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType tan (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType tanh (genType const &angle)
 
+

Detailed Description

+

Function parameters specified as angle are assumed to be in units of radians.

+

In no case will any of these functions result in a divide by zero error. If the divisor of a ratio is 0, then results will be undefined.

+

These all operate component-wise. The description is per component.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::acos (genType const & x)
+
+ +

Arc cosine.

+

Returns an angle whose sine is x. The range of values returned by this function is [0, PI]. Results are undefined if |x| > 1.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL acos man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::acosh (genType const & x)
+
+ +

Arc hyperbolic cosine; returns the non-negative inverse of cosh.

+

Results are undefined if x < 1.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL acosh man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::asin (genType const & x)
+
+ +

Arc sine.

+

Returns an angle whose sine is x. The range of values returned by this function is [-PI/2, PI/2]. Results are undefined if |x| > 1.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL asin man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::asinh (genType const & x)
+
+ +

Arc hyperbolic sine; returns the inverse of sinh.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL asinh man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::atan (genType const & y,
genType const & x 
)
+
+ +

Arc tangent.

+

Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL atan man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +

Referenced by glm::atan2().

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::atan (genType const & y_over_x)
+
+ +

Arc tangent.

+

Returns an angle whose tangent is y_over_x. The range of values returned by this function is [-PI/2, PI/2].

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL atan man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::atanh (genType const & x)
+
+ +

Arc hyperbolic tangent; returns the inverse of tanh.

+

Results are undefined if abs(x) >= 1.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL atanh man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::cos (genType const & angle)
+
+ +

The standard trigonometric cosine function.

+

The values returned by this function will range from [-1, 1].

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL cos man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::cosh (genType const & angle)
+
+ +

Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL cosh man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::degrees (genType const & radians)
+
+ +

Converts radians to degrees and returns the result.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL degrees man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::radians (genType const & degrees)
+
+ +

Converts degrees to radians and returns the result.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL radians man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::sin (genType const & angle)
+
+ +

The standard trigonometric sine function.

+

The values returned by this function will range from [-1, 1].

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL sin man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::sinh (genType const & angle)
+
+ +

Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL sinh man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::tan (genType const & angle)
+
+ +

The standard trigonometric tangent function.

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL tan man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::tanh (genType const & angle)
+
+ +

Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)

+
Template Parameters
+ + +
genTypeFloating-point scalar or vector types.
+
+
+
See Also
GLSL tanh man page
+
+GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00163.html glm-0.9.5.1/doc/api/a00163.html --- glm-0.9.4.6/doc/api/a00163.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00163.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,273 +1,337 @@ - - - - - -GLM_GTX_color_cast - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_color_cast
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

-template<typename T >
f16vec4 f16_abgr_cast (T c)
 
-template<typename T >
f16vec4 f16_argb_cast (T c)
 
-template<typename T >
f16vec4 f16_bgra_cast (T c)
 
-template<typename T >
f16vec3 f16_bgrx_cast (T c)
 
-template<typename T >
f16 f16_channel_cast (T a)
 
-template<typename T >
f16vec4 f16_rgba_cast (T c)
 
-template<typename T >
f16vec3 f16_rgbx_cast (T c)
 
-template<typename T >
f16vec3 f16_xbgr_cast (T c)
 
-template<typename T >
f16vec3 f16_xrgb_cast (T c)
 
-template<typename T >
f32vec4 f32_abgr_cast (T c)
 
-template<typename T >
f32vec4 f32_argb_cast (T c)
 
-template<typename T >
f32vec4 f32_bgra_cast (T c)
 
-template<typename T >
f32vec3 f32_bgrx_cast (T c)
 
-template<typename T >
f32 f32_channel_cast (T a)
 
-template<typename T >
f32vec4 f32_rgba_cast (T c)
 
-template<typename T >
f32vec3 f32_rgbx_cast (T c)
 
-template<typename T >
f32vec3 f32_xbgr_cast (T c)
 
-template<typename T >
f32vec3 f32_xrgb_cast (T c)
 
-template<typename T >
f64vec4 f64_abgr_cast (T c)
 
-template<typename T >
f64vec4 f64_argb_cast (T c)
 
-template<typename T >
f64vec4 f64_bgra_cast (T c)
 
-template<typename T >
f64vec3 f64_bgrx_cast (T c)
 
-template<typename T >
f64 f64_channel_cast (T a)
 
-template<typename T >
f64vec4 f64_rgba_cast (T c)
 
-template<typename T >
f64vec3 f64_rgbx_cast (T c)
 
-template<typename T >
f64vec3 f64_xbgr_cast (T c)
 
-template<typename T >
f64vec3 f64_xrgb_cast (T c)
 
template<typename valType >
uint16 u16channel_cast (valType a)
 
-template<typename T >
uint32 u32_abgr_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint32 u32_argb_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint32 u32_bgra_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint32 u32_bgrx_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint32 u32_rgba_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint32 u32_rgbx_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint32 u32_xbgr_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint32 u32_xrgb_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint64 u64_abgr_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint64 u64_argb_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint64 u64_bgra_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint64 u64_bgrx_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint64 u64_rgba_cast (const detail::tvec4< T > &c)
 
-template<typename T >
uint64 u64_rgbx_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint64 u64_xbgr_cast (const detail::tvec3< T > &c)
 
-template<typename T >
uint64 u64_xrgb_cast (const detail::tvec3< T > &c)
 
template<typename valType >
uint8 u8channel_cast (valType a)
 
-

Detailed Description

-

Conversion between two color types.

-

<glm/gtx/color_cast.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
uint16 glm::u16channel_cast (valType a)
-
- -

Conversion of a floating value into a 16bit unsigned int value.

-
See Also
GLM_GTX_color_cast
- -
-
- -
-
- - - - - - - - -
uint8 glm::u8channel_cast (valType a)
-
- -

Conversion of a floating value into a 8bit unsigned int value.

-
See Also
GLM_GTX_color_cast
- -
-
-
- - - - + + + + + + +GLM: Vector Relational Functions + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
Vector Relational Functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool all (vecType< bool, P > const &v)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL bool any (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P >
+::bool_type 
greaterThan (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P >
+::bool_type 
greaterThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P >
+::bool_type 
lessThanEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
template<precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > not_ (vecType< bool, P > const &v)
 
template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< T, P >
+::bool_type 
notEqual (vecType< T, P > const &x, vecType< T, P > const &y)
 
+

Detailed Description

+

Relational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results.

+

For vector results, use the following built-in functions.

+

In all cases, the sizes of all the input and return vectors for any particular call must match.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL bool glm::all (vecType< bool, P > const & v)
+
+ +

Returns true if all components of x are true.

+
Template Parameters
+ + +
vecTypeBoolean vector types.
+
+
+
See Also
GLSL all man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL bool glm::any (vecType< bool, P > const & v)
+
+ +

Returns true if any component of x is true.

+
Template Parameters
+ + +
vecTypeBoolean vector types.
+
+
+
See Also
GLSL any man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P>::bool_type glm::greaterThan (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x > y.

+
Template Parameters
+ + +
vecTypeFloating-point or integer vector types.
+
+
+
See Also
GLSL greaterThan man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P>::bool_type glm::greaterThanEqual (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x >= y.

+
Template Parameters
+ + +
vecTypeFloating-point or integer vector types.
+
+
+
See Also
GLSL greaterThanEqual man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P>::bool_type glm::lessThanEqual (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Returns the component-wise comparison result of x < y.

+
Template Parameters
+ + +
vecTypeFloating-point or integer vector types.
+
+
+
See Also
GLSL lessThan man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions Returns the component-wise comparison of result x <= y.
+
Template Parameters
+ + +
vecTypeFloating-point or integer vector types.
+
+
+
See Also
GLSL lessThanEqual man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::not_ (vecType< bool, P > const & v)
+
+ +

Returns the component-wise logical complement of x.

+

/!\ Because of language incompatibilities between C++ and GLSL, GLM defines the function not but not_ instead.

+
Template Parameters
+ + +
vecTypeBoolean vector types.
+
+
+
See Also
GLSL not man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<T, P>::bool_type glm::notEqual (vecType< T, P > const & x,
vecType< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x == y.

+
Template Parameters
+ + +
vecTypeFloating-point, integer or boolean vector types.
+
+
+
See Also
GLSL equal man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions Returns the component-wise comparison of result x != y.
+
Template Parameters
+ + +
vecTypeFloating-point, integer or boolean vector types.
+
+
+
See Also
GLSL notEqual man page
+
+GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00164.html glm-0.9.5.1/doc/api/a00164.html --- glm-0.9.4.6/doc/api/a00164.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00164.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,209 +1,95 @@ - - - - - -GLM_GTX_color_space - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_color_space
-
-
- - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tvec3< valType > hsvColor (detail::tvec3< valType > const &rgbValue)
 
template<typename valType >
valType luminosity (detail::tvec3< valType > const &color)
 
template<typename valType >
detail::tvec3< valType > rgbColor (detail::tvec3< valType > const &hsvValue)
 
template<typename valType >
detail::tmat4x4< valType > saturation (valType const s)
 
template<typename valType >
detail::tvec3< valType > saturation (valType const s, detail::tvec3< valType > const &color)
 
template<typename valType >
detail::tvec4< valType > saturation (valType const s, detail::tvec4< valType > const &color)
 
-

Detailed Description

-

Related to RGB to HSV conversions and operations.

-

<glm/gtx/color_space.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
detail::tvec3<valType> glm::hsvColor (detail::tvec3< valType > const & rgbValue)
-
- -

Converts a color from RGB color space to its color in HSV color space.

-
See Also
GLM_GTX_color_space
- -
-
- -
-
- - - - - - - - -
valType glm::luminosity (detail::tvec3< valType > const & color)
-
- -

Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.

-
See Also
GLM_GTX_color_space
- -
-
- -
-
- - - - - - - - -
detail::tvec3<valType> glm::rgbColor (detail::tvec3< valType > const & hsvValue)
-
- -

Converts a color from HSV color space to its color in RGB color space.

-
See Also
GLM_GTX_color_space
- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<valType> glm::saturation (valType const s)
-
- -

Build a saturation matrix.

-
See Also
GLM_GTX_color_space
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<valType> glm::saturation (valType const s,
detail::tvec3< valType > const & color 
)
-
- -

Modify the saturation of a color.

-
See Also
GLM_GTX_color_space
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec4<valType> glm::saturation (valType const s,
detail::tvec4< valType > const & color 
)
-
- -

Modify the saturation of a color.

-
See Also
GLM_GTX_color_space
- -
-
-
- - - - + + + + + + +GLM: GTC Extensions (Stable) + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GTC Extensions (Stable)
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Modules

 GLM_GTC_constants
 
 GLM_GTC_epsilon
 
 GLM_GTC_matrix_access
 
 GLM_GTC_matrix_integer
 
 GLM_GTC_matrix_inverse
 
 GLM_GTC_matrix_transform
 
 GLM_GTC_noise
 
 GLM_GTC_packing
 
 GLM_GTC_quaternion
 
 GLM_GTC_random
 
 GLM_GTC_reciprocal
 
 GLM_GTC_type_precision
 
 GLM_GTC_type_ptr
 
 GLM_GTC_ulp
 
 GLM_GTX_dual_quaternion
 
 GLM_GTX_rotate_normalized_axis
 
+

Detailed Description

+

Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.

+

GTC extensions aim to be stable.

+

Even if it's highly unrecommended, it's possible to include all the extensions at once by including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00165.html glm-0.9.5.1/doc/api/a00165.html --- glm-0.9.4.6/doc/api/a00165.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00165.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,149 +1,163 @@ - - - - - -GLM_GTX_color_space_YCoCg - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_color_space_YCoCg
-
-
- - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tvec3< valType > rgb2YCoCg (detail::tvec3< valType > const &rgbColor)
 
template<typename valType >
detail::tvec3< valType > rgb2YCoCgR (detail::tvec3< valType > const &rgbColor)
 
template<typename valType >
detail::tvec3< valType > YCoCg2rgb (detail::tvec3< valType > const &YCoCgColor)
 
template<typename valType >
detail::tvec3< valType > YCoCgR2rgb (detail::tvec3< valType > const &YCoCgColor)
 
-

Detailed Description

-

RGB to YCoCg conversions and operations.

-

<glm/gtx/color_space_YCoCg.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
detail::tvec3<valType> glm::rgb2YCoCg (detail::tvec3< valType > const & rgbColor)
-
- -

Convert a color from RGB color space to YCoCg color space.

-
See Also
GLM_GTX_color_space_YCoCg
- -
-
- -
-
- - - - - - - - -
detail::tvec3<valType> glm::rgb2YCoCgR (detail::tvec3< valType > const & rgbColor)
-
- -

Convert a color from RGB color space to YCoCgR color space.

-
See Also
"YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range"
-
-GLM_GTX_color_space_YCoCg
- -
-
- -
-
- - - - - - - - -
detail::tvec3<valType> glm::YCoCg2rgb (detail::tvec3< valType > const & YCoCgColor)
-
- -

Convert a color from YCoCg color space to RGB color space.

-
See Also
GLM_GTX_color_space_YCoCg
- -
-
- -
-
- - - - - - - - -
detail::tvec3<valType> glm::YCoCgR2rgb (detail::tvec3< valType > const & YCoCgColor)
-
- -

Convert a color from YCoCgR color space to RGB color space.

-
See Also
"YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range"
-
-GLM_GTX_color_space_YCoCg
- -
-
-
- - - - + + + + + + +GLM: GTX Extensions (Experimental) + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GTX Extensions (Experimental)
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Modules

 GLM_GTX_associated_min_max
 
 GLM_GTX_bit
 
 GLM_GTX_closest_point
 
 GLM_GTX_color_space
 
 GLM_GTX_color_space_YCoCg
 
 GLM_GTX_compatibility
 
 GLM_GTX_component_wise
 
 GLM_GTX_euler_angles
 
 GLM_GTX_extend
 
 GLM_GTX_extented_min_max
 
 GLM_GTX_fast_exponential
 
 GLM_GTX_fast_square_root
 
 GLM_GTX_fast_trigonometry
 
 GLM_GTX_gradient_paint
 
 GLM_GTX_handed_coordinate_space
 
 GLM_GTX_inertia
 
 GLM_GTX_integer
 
 GLM_GTX_intersect
 
 GLM_GTX_io
 
 GLM_GTX_log_base
 
 GLM_GTX_matrix_cross_product
 
 GLM_GTX_matrix_interpolation
 
 GLM_GTX_matrix_major_storage
 
 GLM_GTX_matrix_operation
 
 GLM_GTX_matrix_query
 
 GLM_GTX_mixed_producte
 
 GLM_GTX_multiple
 
 GLM_GTX_norm
 
 GLM_GTX_normal
 
 GLM_GTX_normalize_dot
 
 GLM_GTX_number_precision
 
 GLM_GTX_optimum_pow
 
 GLM_GTX_orthonormalize
 
 GLM_GTX_perpendicular
 
 GLM_GTX_polar_coordinates
 
 GLM_GTX_projection
 
 GLM_GTX_quaternion
 
 GLM_GTX_raw_data
 
 GLM_GTX_rotate_vector
 
 GLM_GTX_simd_mat4
 
 GLM_GTX_simd_quat
 
 GLM_GTX_spline
 
 GLM_GTX_std_based_type
 
 GLM_GTX_string_cast
 
 GLM_GTX_transform
 
 GLM_GTX_transform2
 
 GLM_GTX_vec1
 
 GLM_GTX_vector_angle
 
 GLM_GTX_vector_query
 
 GLM_GTX_wrap
 
+

Detailed Description

+

Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program.

+

Experimental extensions are useful functions and types, but the development of their API and functionality is not necessarily stable. They can change substantially between versions. Backwards compatibility is not much of an issue for them.

+

Even if it's highly unrecommended, it's possible to include all the extensions at once by including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00166.html glm-0.9.5.1/doc/api/a00166.html --- glm-0.9.4.6/doc/api/a00166.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00166.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,370 +1,63 @@ - - - - - -GLM_GTX_compatibility - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_compatibility
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

-typedef bool bool1
 
-typedef bool bool1x1
 
-typedef detail::tvec2< bool > bool2
 
-typedef detail::tmat2x2< bool > bool2x2
 
-typedef detail::tmat2x3< bool > bool2x3
 
-typedef detail::tmat2x4< bool > bool2x4
 
-typedef detail::tvec3< bool > bool3
 
-typedef detail::tmat3x2< bool > bool3x2
 
-typedef detail::tmat3x3< bool > bool3x3
 
-typedef detail::tmat3x4< bool > bool3x4
 
-typedef detail::tvec4< bool > bool4
 
-typedef detail::tmat4x2< bool > bool4x2
 
-typedef detail::tmat4x3< bool > bool4x3
 
-typedef detail::tmat4x4< bool > bool4x4
 
-typedef double double1
 
-typedef double double1x1
 
-typedef detail::tvec2< double > double2
 
-typedef detail::tmat2x2< double > double2x2
 
-typedef detail::tmat2x3< double > double2x3
 
-typedef detail::tmat2x4< double > double2x4
 
-typedef detail::tvec3< double > double3
 
-typedef detail::tmat3x2< double > double3x2
 
-typedef detail::tmat3x3< double > double3x3
 
-typedef detail::tmat3x4< double > double3x4
 
-typedef detail::tvec4< double > double4
 
-typedef detail::tmat4x2< double > double4x2
 
-typedef detail::tmat4x3< double > double4x3
 
-typedef detail::tmat4x4< double > double4x4
 
-typedef float float1
 
-typedef float float1x1
 
-typedef detail::tvec2< float > float2
 
-typedef detail::tmat2x2< float > float2x2
 
-typedef detail::tmat2x3< float > float2x3
 
-typedef detail::tmat2x4< float > float2x4
 
-typedef detail::tvec3< float > float3
 
-typedef detail::tmat3x2< float > float3x2
 
-typedef detail::tmat3x3< float > float3x3
 
-typedef detail::tmat3x4< float > float3x4
 
-typedef detail::tvec4< float > float4
 
-typedef detail::tmat4x2< float > float4x2
 
-typedef detail::tmat4x3< float > float4x3
 
-typedef detail::tmat4x4< float > float4x4
 
-typedef detail::half half1
 
-typedef detail::half half1x1
 
-typedef detail::tvec2
-< detail::half > 
half2
 
-typedef detail::tmat2x2
-< detail::half > 
half2x2
 
-typedef detail::tmat2x3
-< detail::half > 
half2x3
 
-typedef detail::tmat2x4
-< detail::half > 
half2x4
 
-typedef detail::tvec3
-< detail::half > 
half3
 
-typedef detail::tmat3x2
-< detail::half > 
half3x2
 
-typedef detail::tmat3x3
-< detail::half > 
half3x3
 
-typedef detail::tmat3x4
-< detail::half > 
half3x4
 
-typedef detail::tvec4
-< detail::half > 
half4
 
-typedef detail::tmat4x2
-< detail::half > 
half4x2
 
-typedef detail::tmat4x3
-< detail::half > 
half4x3
 
-typedef detail::tmat4x4
-< detail::half > 
half4x4
 
-typedef int int1
 
-typedef int int1x1
 
-typedef detail::tvec2< int > int2
 
-typedef detail::tmat2x2< int > int2x2
 
-typedef detail::tmat2x3< int > int2x3
 
-typedef detail::tmat2x4< int > int2x4
 
-typedef detail::tvec3< int > int3
 
-typedef detail::tmat3x2< int > int3x2
 
-typedef detail::tmat3x3< int > int3x3
 
-typedef detail::tmat3x4< int > int3x4
 
-typedef detail::tvec4< int > int4
 
-typedef detail::tmat4x2< int > int4x2
 
-typedef detail::tmat4x3< int > int4x3
 
-typedef detail::tmat4x4< int > int4x4
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

-template<typename T >
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec2< T > 
atan2 (const detail::tvec2< T > &x, const detail::tvec2< T > &y)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec3< T > 
atan2 (const detail::tvec3< T > &x, const detail::tvec3< T > &y)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec4< T > 
atan2 (const detail::tvec4< T > &x, const detail::tvec4< T > &y)
 
-template<typename genType >
bool isfinite (genType const &x)
 
-template<typename valType >
detail::tvec2< bool > isfinite (const detail::tvec2< valType > &x)
 
-template<typename valType >
detail::tvec3< bool > isfinite (const detail::tvec3< valType > &x)
 
-template<typename valType >
detail::tvec4< bool > isfinite (const detail::tvec4< valType > &x)
 
-template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec2< T > 
lerp (const detail::tvec2< T > &x, const detail::tvec2< T > &y, T a)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec3< T > 
lerp (const detail::tvec3< T > &x, const detail::tvec3< T > &y, T a)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec4< T > 
lerp (const detail::tvec4< T > &x, const detail::tvec4< T > &y, T a)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec2< T > 
lerp (const detail::tvec2< T > &x, const detail::tvec2< T > &y, const detail::tvec2< T > &a)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec3< T > 
lerp (const detail::tvec3< T > &x, const detail::tvec3< T > &y, const detail::tvec3< T > &a)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec4< T > 
lerp (const detail::tvec4< T > &x, const detail::tvec4< T > &y, const detail::tvec4< T > &a)
 
-template<typename T >
GLM_FUNC_QUALIFIER T saturate (T x)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec2< T > 
saturate (const detail::tvec2< T > &x)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec3< T > 
saturate (const detail::tvec3< T > &x)
 
-template<typename T >
GLM_FUNC_QUALIFIER
-detail::tvec4< T > 
saturate (const detail::tvec4< T > &x)
 
-

Detailed Description

-

Provide functions to increase the compatibility with Cg and HLSL languages.

-

<glm/gtx/compatibility.hpp> need to be included to use these functionalities.

-
- - - - + + + + + + +GLM: VIRTREV Extensions + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
VIRTREV Extensions
+
+
+ + + + +

+Modules

 GLM_VIRTREV_xstream: xml like output
 
+

Detailed Description

+

Extensions develop and maintain by Mathieu [matrem] Roumillac (http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showprofile&User=22660).

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00167.html glm-0.9.5.1/doc/api/a00167.html --- glm-0.9.4.6/doc/api/a00167.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00167.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,145 +1,88 @@ - - - - - -GLM_GTX_component_wise - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_component_wise
-
-
- - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType::value_type compAdd (genType const &v)
 
template<typename genType >
genType::value_type compMax (genType const &v)
 
template<typename genType >
genType::value_type compMin (genType const &v)
 
template<typename genType >
genType::value_type compMul (genType const &v)
 
-

Detailed Description

-

Operations between components of a type.

-

<glm/gtx/component_wise.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
genType::value_type glm::compAdd (genType const & v)
-
- -

Add all vector components together.

-
See Also
GLM_GTX_component_wise
- -
-
- -
-
- - - - - - - - -
genType::value_type glm::compMax (genType const & v)
-
- -

Find the maximum value between single vector components.

-
See Also
GLM_GTX_component_wise
- -
-
- -
-
- - - - - - - - -
genType::value_type glm::compMin (genType const & v)
-
- -

Find the minimum value between single vector components.

-
See Also
GLM_GTX_component_wise
- -
-
- -
-
- - - - - - - - -
genType::value_type glm::compMul (genType const & v)
-
- -

Multiply all vector components together.

-
See Also
GLM_GTX_component_wise
- -
-
-
- - - - + + + + + + +GLM: GLM Core + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM Core
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Modules

 Common functions
 
 Exponential functions
 
 Geometric functions
 
 Integer functions
 
 Matrix functions
 
 Noise functions
 
 Floating-Point Pack and Unpack Functions
 
 Angle and Trigonometry Functions
 
 Vector Relational Functions
 
 Types
 
 Precision types
 
 Template types
 
+

Detailed Description

+

The core of GLM, which implements exactly and only the GLSL specification to the degree possible.

+

The GLM core consists of C++ types that mirror GLSL types and C++ functions that mirror the GLSL functions. It also includes a set of precision-based types that can be used in the appropriate functions. The C++ types are all based on a basic set of template types.

+

The best documentation for GLM Core is the current GLSL specification, version 4.2 (pdf file). There are a few differences between GLM core and GLSL.

+

GLM core functionnalities require <glm/glm.hpp> to be included to be used.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00168.html glm-0.9.5.1/doc/api/a00168.html --- glm-0.9.4.6/doc/api/a00168.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00168.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,479 +1,810 @@ - - - - - -GLM_GTX_euler_angles - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_euler_angles
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tmat4x4< valType > eulerAngleX (valType const &angleX)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleXY (valType const &angleX, valType const &angleY)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleXZ (valType const &angleX, valType const &angleZ)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleY (valType const &angleY)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleYX (valType const &angleY, valType const &angleX)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleYXZ (valType const &yaw, valType const &pitch, valType const &roll)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleYZ (valType const &angleY, valType const &angleZ)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleZ (valType const &angleZ)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleZX (valType const &angleZ, valType const &angleX)
 
template<typename valType >
detail::tmat4x4< valType > eulerAngleZY (valType const &angleZ, valType const &angleY)
 
template<typename T >
detail::tmat2x2< T > orientate2 (T const &angle)
 
template<typename T >
detail::tmat3x3< T > orientate3 (T const &angle)
 
template<typename T >
detail::tmat3x3< T > orientate3 (detail::tvec3< T > const &angles)
 
template<typename T >
detail::tmat4x4< T > orientate4 (detail::tvec3< T > const &angles)
 
template<typename valType >
detail::tmat4x4< valType > yawPitchRoll (valType const &yaw, valType const &pitch, valType const &roll)
 
-

Detailed Description

-

Build matrices from Euler angles.

-

<glm/gtx/euler_angles.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
detail::tmat4x4<valType> glm::eulerAngleX (valType const & angleX)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<valType> glm::eulerAngleXY (valType const & angleX,
valType const & angleY 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<valType> glm::eulerAngleXZ (valType const & angleX,
valType const & angleZ 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<valType> glm::eulerAngleY (valType const & angleY)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<valType> glm::eulerAngleYX (valType const & angleY,
valType const & angleX 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<valType> glm::eulerAngleYXZ (valType const & yaw,
valType const & pitch,
valType const & roll 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<valType> glm::eulerAngleYZ (valType const & angleY,
valType const & angleZ 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<valType> glm::eulerAngleZ (valType const & angleZ)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<valType> glm::eulerAngleZX (valType const & angleZ,
valType const & angleX 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<valType> glm::eulerAngleZY (valType const & angleZ,
valType const & angleY 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
detail::tmat2x2<T> glm::orientate2 (T const & angle)
-
- -

Creates a 2D 2 * 2 rotation matrix from an euler angle.

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<T> glm::orientate3 (T const & angle)
-
- -

Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<T> glm::orientate3 (detail::tvec3< T > const & angles)
-
- -

Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T> glm::orientate4 (detail::tvec3< T > const & angles)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

-
See Also
GLM_GTX_euler_angles
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<valType> glm::yawPitchRoll (valType const & yaw,
valType const & pitch,
valType const & roll 
)
-
- -

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

-
See Also
GLM_GTX_euler_angles
- -
-
-
- - - - + + + + + + +GLM: Types + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + +

+Modules

 Precision types
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_bvec2 bvec2
 
typedef highp_bvec3 bvec3
 
typedef highp_bvec4 bvec4
 
typedef highp_dmat2x2 dmat2
 
typedef highp_dmat2x2 dmat2x2
 
typedef highp_dmat2x3 dmat2x3
 
typedef highp_dmat2x4 dmat2x4
 
typedef highp_dmat3x3 dmat3
 
typedef highp_dmat3x2 dmat3x2
 
typedef highp_dmat3x3 dmat3x3
 
typedef highp_dmat3x4 dmat3x4
 
typedef highp_dmat4x4 dmat4
 
typedef highp_dmat4x2 dmat4x2
 
typedef highp_dmat4x3 dmat4x3
 
typedef highp_dmat4x4 dmat4x4
 
typedef highp_dvec2 dvec2
 
typedef highp_dvec3 dvec3
 
typedef highp_dvec4 dvec4
 
typedef highp_ivec2 ivec2
 
typedef highp_ivec3 ivec3
 
typedef highp_ivec4 ivec4
 
typedef mat2x2 mat2
 
typedef highp_mat2x2 mat2x2
 
typedef highp_mat2x3 mat2x3
 
typedef highp_mat2x4 mat2x4
 
typedef mat3x3 mat3
 
typedef highp_mat3x2 mat3x2
 
typedef highp_mat3x3 mat3x3
 
typedef highp_mat3x4 mat3x4
 
typedef mat4x4 mat4
 
typedef highp_mat4x2 mat4x2
 
typedef highp_mat4x3 mat4x3
 
typedef highp_mat4x4 mat4x4
 
typedef highp_uvec2 uvec2
 
typedef highp_uvec3 uvec3
 
typedef highp_uvec4 uvec4
 
typedef highp_vec2 vec2
 
typedef highp_vec3 vec3
 
typedef highp_vec4 vec4
 
+

Detailed Description

+

The standard types defined by the specification.

+

These types are all typedefs of more generalized, template types. To see the definiton of these template types, go to Template types.

+

Typedef Documentation

+ +
+
+ + + + +
typedef highp_bvec2 bvec2
+
+ +

2 components vector of boolean.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 500 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_bvec3 bvec3
+
+ +

3 components vector of boolean.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 505 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_bvec4 bvec4
+
+ +

4 components vector of boolean.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 510 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat2x2 dmat2
+
+ +

2 * 2 matrix of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 733 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat2x2 dmat2x2
+
+ +

2 * 2 matrix of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 748 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat2x3 dmat2x3
+
+ +

2 * 3 matrix of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 753 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat2x4 dmat2x4
+
+ +

2 * 4 matrix of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 758 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat3x3 dmat3
+
+ +

3 * 3 matrix of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 738 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat3x2 dmat3x2
+
+ +

3 * 2 matrix of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 763 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat3x3 dmat3x3
+
+ +

3 * 3 matrix of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 768 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat3x4 dmat3x4
+
+ +

3 * 4 matrix of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 773 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat4x4 dmat4
+
+ +

4 * 4 matrix of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 743 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat4x2 dmat4x2
+
+ +

4 * 2 matrix of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 778 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat4x3 dmat4x3
+
+ +

4 * 3 matrix of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 783 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dmat4x4 dmat4x4
+
+ +

4 * 4 matrix of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 788 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dvec2 dvec2
+
+ +

2 components vector of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 416 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dvec3 dvec3
+
+ +

3 components vector of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 421 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_dvec4 dvec4
+
+ +

4 components vector of double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 426 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_ivec2 ivec2
+
+ +

2 components vector of signed integer numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 444 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_ivec3 ivec3
+
+ +

3 components vector of signed integer numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 449 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_ivec4 ivec4
+
+ +

4 components vector of signed integer numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 454 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef mat2x2 mat2
+
+ +

2 columns of 2 components matrix of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 432 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat2x2 mat2x2
+
+ +

2 columns of 2 components matrix of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 385 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat2x3 mat2x3
+
+ +

2 columns of 3 components matrix of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 390 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat2x4 mat2x4
+
+ +

2 columns of 4 components matrix of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 395 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef mat3x3 mat3
+
+ +

3 columns of 3 components matrix of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 437 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat3x2 mat3x2
+
+ +

3 columns of 2 components matrix of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 400 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat3x3 mat3x3
+
+ +

3 columns of 3 components matrix of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 405 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat3x4 mat3x4
+
+ +

3 columns of 4 components matrix of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 410 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef mat4x4 mat4
+
+ +

4 columns of 4 components matrix of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 442 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat4x2 mat4x2
+
+ +

4 columns of 2 components matrix of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 415 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat4x3 mat4x3
+
+ +

4 columns of 3 components matrix of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 420 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_mat4x4 mat4x4
+
+ +

4 columns of 4 components matrix of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+ +

Definition at line 425 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_uvec2 uvec2
+
+ +

2 components vector of unsigned integer numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 472 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_uvec3 uvec3
+
+ +

3 components vector of unsigned integer numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 477 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_uvec4 uvec4
+
+ +

4 components vector of unsigned integer numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 482 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_vec2 vec2
+
+ +

2 components vector of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 388 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_vec3 vec3
+
+ +

3 components vector of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 393 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_vec4 vec4
+
+ +

4 components vector of floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+ +

Definition at line 398 of file type_vec.hpp.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00169.html glm-0.9.5.1/doc/api/a00169.html --- glm-0.9.4.6/doc/api/a00169.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00169.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,95 +1,2934 @@ - - - - - -GLM_GTX_extend - - - - - - -
-
- - - - - - -
-
- - - -
- -
- - - - - -

-Functions

template<typename genType >
genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 
-

Detailed Description

-

Extend a position from a source to a position at a defined length.

-

<glm/gtx/extend.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genType glm::extend (genType const & Origin,
genType const & Source,
typename genType::value_type const Length 
)
-
- -

Extends of Length the Origin position using the (Source - Origin) direction.

-
See Also
GLM_GTX_extend
- -
-
-
- - - - + + + + + + +GLM: Precision types + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
Precision types
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef detail::tvec2< bool,
+highp > 
highp_bvec2
 
typedef detail::tvec3< bool,
+highp > 
highp_bvec3
 
typedef detail::tvec4< bool,
+highp > 
highp_bvec4
 
typedef detail::tmat2x2
+< double, highp > 
highp_dmat2
 
typedef detail::tmat2x2
+< double, highp > 
highp_dmat2x2
 
typedef detail::tmat2x3
+< double, highp > 
highp_dmat2x3
 
typedef detail::tmat2x4
+< double, highp > 
highp_dmat2x4
 
typedef detail::tmat3x3
+< double, highp > 
highp_dmat3
 
typedef detail::tmat3x2
+< double, highp > 
highp_dmat3x2
 
typedef detail::tmat3x3
+< double, highp > 
highp_dmat3x3
 
typedef detail::tmat3x4
+< double, highp > 
highp_dmat3x4
 
typedef detail::tmat4x4
+< double, highp > 
highp_dmat4
 
typedef detail::tmat4x2
+< double, highp > 
highp_dmat4x2
 
typedef detail::tmat4x3
+< double, highp > 
highp_dmat4x3
 
typedef detail::tmat4x4
+< double, highp > 
highp_dmat4x4
 
typedef detail::tvec2< double,
+highp > 
highp_dvec2
 
typedef detail::tvec3< double,
+highp > 
highp_dvec3
 
typedef detail::tvec4< double,
+highp > 
highp_dvec4
 
typedef highp_float_t highp_float
 
typedef detail::highp_int_t highp_int
 
typedef detail::tvec2< int, highp > highp_ivec2
 
typedef detail::tvec3< int, highp > highp_ivec3
 
typedef detail::tvec4< int, highp > highp_ivec4
 
typedef detail::tmat2x2< float,
+highp > 
highp_mat2
 
typedef detail::tmat2x2< float,
+highp > 
highp_mat2x2
 
typedef detail::tmat2x3< float,
+highp > 
highp_mat2x3
 
typedef detail::tmat2x4< float,
+highp > 
highp_mat2x4
 
typedef detail::tmat3x3< float,
+highp > 
highp_mat3
 
typedef detail::tmat3x2< float,
+highp > 
highp_mat3x2
 
typedef detail::tmat3x3< float,
+highp > 
highp_mat3x3
 
typedef detail::tmat3x4< float,
+highp > 
highp_mat3x4
 
typedef detail::tmat4x4< float,
+highp > 
highp_mat4
 
typedef detail::tmat4x2< float,
+highp > 
highp_mat4x2
 
typedef detail::tmat4x3< float,
+highp > 
highp_mat4x3
 
typedef detail::tmat4x4< float,
+highp > 
highp_mat4x4
 
typedef detail::highp_uint_t highp_uint
 
typedef detail::tvec2< uint,
+highp > 
highp_uvec2
 
typedef detail::tvec3< uint,
+highp > 
highp_uvec3
 
typedef detail::tvec4< uint,
+highp > 
highp_uvec4
 
typedef detail::tvec2< float,
+highp > 
highp_vec2
 
typedef detail::tvec3< float,
+highp > 
highp_vec3
 
typedef detail::tvec4< float,
+highp > 
highp_vec4
 
typedef detail::tvec2< bool, lowp > lowp_bvec2
 
typedef detail::tvec3< bool, lowp > lowp_bvec3
 
typedef detail::tvec4< bool, lowp > lowp_bvec4
 
typedef detail::tmat2x2
+< double, lowp > 
lowp_dmat2
 
typedef detail::tmat2x2
+< double, lowp > 
lowp_dmat2x2
 
typedef detail::tmat2x3
+< double, lowp > 
lowp_dmat2x3
 
typedef detail::tmat2x4
+< double, lowp > 
lowp_dmat2x4
 
typedef detail::tmat3x3< float,
+lowp > 
lowp_dmat3
 
typedef detail::tmat3x2
+< double, lowp > 
lowp_dmat3x2
 
typedef detail::tmat3x3
+< double, lowp > 
lowp_dmat3x3
 
typedef detail::tmat3x4
+< double, lowp > 
lowp_dmat3x4
 
typedef detail::tmat4x4
+< double, lowp > 
lowp_dmat4
 
typedef detail::tmat4x2
+< double, lowp > 
lowp_dmat4x2
 
typedef detail::tmat4x3
+< double, lowp > 
lowp_dmat4x3
 
typedef detail::tmat4x4
+< double, lowp > 
lowp_dmat4x4
 
typedef detail::tvec2< double,
+lowp > 
lowp_dvec2
 
typedef detail::tvec3< double,
+lowp > 
lowp_dvec3
 
typedef detail::tvec4< double,
+lowp > 
lowp_dvec4
 
typedef lowp_float_t lowp_float
 
typedef detail::lowp_int_t lowp_int
 
typedef detail::tvec2< int, lowp > lowp_ivec2
 
typedef detail::tvec3< int, lowp > lowp_ivec3
 
typedef detail::tvec4< int, lowp > lowp_ivec4
 
typedef detail::tmat2x2< float,
+lowp > 
lowp_mat2
 
typedef detail::tmat2x2< float,
+lowp > 
lowp_mat2x2
 
typedef detail::tmat2x3< float,
+lowp > 
lowp_mat2x3
 
typedef detail::tmat2x4< float,
+lowp > 
lowp_mat2x4
 
typedef detail::tmat3x3< float,
+lowp > 
lowp_mat3
 
typedef detail::tmat3x2< float,
+lowp > 
lowp_mat3x2
 
typedef detail::tmat3x3< float,
+lowp > 
lowp_mat3x3
 
typedef detail::tmat3x4< float,
+lowp > 
lowp_mat3x4
 
typedef detail::tmat4x4< float,
+lowp > 
lowp_mat4
 
typedef detail::tmat4x2< float,
+lowp > 
lowp_mat4x2
 
typedef detail::tmat4x3< float,
+lowp > 
lowp_mat4x3
 
typedef detail::tmat4x4< float,
+lowp > 
lowp_mat4x4
 
typedef detail::lowp_uint_t lowp_uint
 
typedef detail::tvec2< uint, lowp > lowp_uvec2
 
typedef detail::tvec3< uint, lowp > lowp_uvec3
 
typedef detail::tvec4< uint, lowp > lowp_uvec4
 
typedef detail::tvec2< float,
+lowp > 
lowp_vec2
 
typedef detail::tvec3< float,
+lowp > 
lowp_vec3
 
typedef detail::tvec4< float,
+lowp > 
lowp_vec4
 
typedef detail::tvec2< bool,
+mediump > 
mediump_bvec2
 
typedef detail::tvec3< bool,
+mediump > 
mediump_bvec3
 
typedef detail::tvec4< bool,
+mediump > 
mediump_bvec4
 
typedef detail::tmat2x2
+< double, mediump > 
mediump_dmat2
 
typedef detail::tmat2x2
+< double, mediump > 
mediump_dmat2x2
 
typedef detail::tmat2x3
+< double, mediump > 
mediump_dmat2x3
 
typedef detail::tmat2x4
+< double, mediump > 
mediump_dmat2x4
 
typedef detail::tmat3x3
+< double, mediump > 
mediump_dmat3
 
typedef detail::tmat3x2
+< double, mediump > 
mediump_dmat3x2
 
typedef detail::tmat3x3
+< double, mediump > 
mediump_dmat3x3
 
typedef detail::tmat3x4
+< double, mediump > 
mediump_dmat3x4
 
typedef detail::tmat4x4
+< double, mediump > 
mediump_dmat4
 
typedef detail::tmat4x2
+< double, mediump > 
mediump_dmat4x2
 
typedef detail::tmat4x3
+< double, mediump > 
mediump_dmat4x3
 
typedef detail::tmat4x4
+< double, mediump > 
mediump_dmat4x4
 
typedef detail::tvec2< double,
+mediump > 
mediump_dvec2
 
typedef detail::tvec3< double,
+mediump > 
mediump_dvec3
 
typedef detail::tvec4< double,
+mediump > 
mediump_dvec4
 
typedef mediump_float_t mediump_float
 
typedef detail::mediump_int_t mediump_int
 
typedef detail::tvec2< int,
+mediump > 
mediump_ivec2
 
typedef detail::tvec3< int,
+mediump > 
mediump_ivec3
 
typedef detail::tvec4< int,
+mediump > 
mediump_ivec4
 
typedef detail::tmat2x2< float,
+mediump > 
mediump_mat2
 
typedef detail::tmat2x2< float,
+mediump > 
mediump_mat2x2
 
typedef detail::tmat2x3< float,
+mediump > 
mediump_mat2x3
 
typedef detail::tmat2x4< float,
+mediump > 
mediump_mat2x4
 
typedef detail::tmat3x3< float,
+mediump > 
mediump_mat3
 
typedef detail::tmat3x2< float,
+mediump > 
mediump_mat3x2
 
typedef detail::tmat3x3< float,
+mediump > 
mediump_mat3x3
 
typedef detail::tmat3x4< float,
+mediump > 
mediump_mat3x4
 
typedef detail::tmat4x4< float,
+mediump > 
mediump_mat4
 
typedef detail::tmat4x2< float,
+mediump > 
mediump_mat4x2
 
typedef detail::tmat4x3< float,
+mediump > 
mediump_mat4x3
 
typedef detail::tmat4x4< float,
+mediump > 
mediump_mat4x4
 
typedef detail::mediump_uint_t mediump_uint
 
typedef detail::tvec2< uint,
+mediump > 
mediump_uvec2
 
typedef detail::tvec3< uint,
+mediump > 
mediump_uvec3
 
typedef detail::tvec4< uint,
+mediump > 
mediump_uvec4
 
typedef detail::tvec2< float,
+mediump > 
mediump_vec2
 
typedef detail::tvec3< float,
+mediump > 
mediump_vec3
 
typedef detail::tvec4< float,
+mediump > 
mediump_vec4
 
typedef unsigned int uint
 
+

Detailed Description

+

Non-GLSL types that are used to define precision-based types.

+

The GLSL language allows the user to define the precision of a particular variable. In OpenGL's GLSL, these precision qualifiers have no effect; they are there for compatibility with OpenGL ES's precision qualifiers, where they do have an effect.

+

C++ has no language equivalent to precision qualifiers. So GLM provides the next-best thing: a number of typedefs of the Template types that use a particular precision.

+

None of these types make any guarantees about the actual precision used.

+

Typedef Documentation

+ +
+
+ + + + +
typedef detail::tvec2<bool, highp> highp_bvec2
+
+ +

2 components vector of high precision bool numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 149 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<bool, highp> highp_bvec3
+
+ +

3 components vector of high precision bool numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 259 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<bool, highp> highp_bvec4
+
+ +

4 components vector of high precision bool numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 354 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<double, highp> highp_dmat2
+
+ +

2 columns of 2 components matrix of high precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 466 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<double, highp> highp_dmat2x2
+
+ +

2 columns of 2 components matrix of high precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 484 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<double, highp> highp_dmat2x3
+
+ +

2 columns of 3 components matrix of high precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 507 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<double, highp> highp_dmat2x4
+
+ +

2 columns of 4 components matrix of high precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 530 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<double, highp> highp_dmat3
+
+ +

3 columns of 3 components matrix of high precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 576 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<double, highp> highp_dmat3x2
+
+ +

3 columns of 2 components matrix of high precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 553 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<double, highp> highp_dmat3x3
+
+ +

3 columns of 3 components matrix of high precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 594 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<double, highp> highp_dmat3x4
+
+ +

3 columns of 4 components matrix of high precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 617 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<double, highp> highp_dmat4
+
+ +

4 columns of 4 components matrix of high precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 686 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<double, highp> highp_dmat4x2
+
+ +

4 columns of 2 components matrix of high precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 640 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<double, highp> highp_dmat4x3
+
+ +

4 columns of 3 components matrix of high precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 663 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<double, highp> highp_dmat4x4
+
+ +

4 columns of 4 components matrix of high precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 704 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<double, highp> highp_dvec2
+
+ +

2 components vector of high double-precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 86 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<double, highp> highp_dvec3
+
+ +

3 components vector of high double-precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 197 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<double, highp> highp_dvec4
+
+ +

4 components vector of high double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 300 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_float_t highp_float
+
+ +

High precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.4 Floats
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 67 of file type_float.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::highp_int_t highp_int
+
+ +

High precision signed integer.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 121 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<int, highp> highp_ivec2
+
+ +

2 components vector of high precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 107 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<int, highp> highp_ivec3
+
+ +

3 components vector of high precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 218 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<int, highp> highp_ivec4
+
+ +

4 components vector of high precision signed integer numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 318 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2< float, highp > highp_mat2
+
+ +

2 columns of 2 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 79 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2< float, highp > highp_mat2x2
+
+ +

2 columns of 2 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 100 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3< float, highp > highp_mat2x3
+
+ +

2 columns of 3 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 126 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4< float, highp > highp_mat2x4
+
+ +

2 columns of 4 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 152 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3< float, highp > highp_mat3
+
+ +

3 columns of 3 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 204 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2< float, highp > highp_mat3x2
+
+ +

3 columns of 2 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 178 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3< float, highp > highp_mat3x3
+
+ +

3 columns of 3 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 225 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4< float, highp > highp_mat3x4
+
+ +

3 columns of 4 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 251 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4< float, highp > highp_mat4
+
+ +

4 columns of 4 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 330 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2< float, highp > highp_mat4x2
+
+ +

4 columns of 2 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 277 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3< float, highp > highp_mat4x3
+
+ +

4 columns of 3 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 303 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4< float, highp > highp_mat4x4
+
+ +

4 columns of 4 components matrix of high precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 351 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::highp_uint_t highp_uint
+
+ +

High precision unsigned integer.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 142 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<uint, highp> highp_uvec2
+
+ +

2 components vector of high precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 128 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<uint, highp> highp_uvec3
+
+ +

3 components vector of high precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 239 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<uint, highp> highp_uvec4
+
+ +

4 components vector of high precision unsigned integer numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 336 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< float, highp > highp_vec2
+
+ +

2 components vector of high single-precision floating-point numbers.

+

High Single-precision floating-point vector of 2 components.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+GLM_GTC_type_precision
+ +

Definition at line 65 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< float, highp > highp_vec3
+
+ +

3 components vector of high single-precision floating-point numbers.

+

High Single-precision floating-point vector of 3 components.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+GLM_GTC_type_precision
+ +

Definition at line 176 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< float, highp > highp_vec4
+
+ +

4 components vector of high single-precision floating-point numbers.

+

High Single-precision floating-point vector of 4 components.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+GLM_GTC_type_precision
+ +

Definition at line 282 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<bool, lowp> lowp_bvec2
+
+ +

2 components vector of low precision bool numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 163 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<bool, lowp> lowp_bvec3
+
+ +

3 components vector of low precision bool numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 271 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<bool, lowp> lowp_bvec4
+
+ +

4 components vector of low precision bool numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 366 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<double, lowp> lowp_dmat2
+
+ +

2 columns of 2 components matrix of low precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 454 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<double, lowp> lowp_dmat2x2
+
+ +

2 columns of 2 components matrix of low precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 472 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<double, lowp> lowp_dmat2x3
+
+ +

2 columns of 3 components matrix of low precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 495 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<double, lowp> lowp_dmat2x4
+
+ +

2 columns of 4 components matrix of low precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 518 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<float, lowp> lowp_dmat3
+
+ +

3 columns of 3 components matrix of low precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 564 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<double, lowp> lowp_dmat3x2
+
+ +

3 columns of 2 components matrix of low precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 541 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<double, lowp> lowp_dmat3x3
+
+ +

3 columns of 3 components matrix of low precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 582 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<double, lowp> lowp_dmat3x4
+
+ +

3 columns of 4 components matrix of low precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 605 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<double, lowp> lowp_dmat4
+
+ +

4 columns of 4 components matrix of low precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 674 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<double, lowp> lowp_dmat4x2
+
+ +

4 columns of 2 components matrix of low precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 628 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<double, lowp> lowp_dmat4x3
+
+ +

4 columns of 3 components matrix of low precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 651 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<double, lowp> lowp_dmat4x4
+
+ +

4 columns of 4 components matrix of low precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 692 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<double, lowp> lowp_dvec2
+
+ +

2 components vector of low double-precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 100 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<double, lowp> lowp_dvec3
+
+ +

3 components vector of low double-precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 211 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<double, lowp> lowp_dvec4
+
+ +

4 components vector of low double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 312 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_float_t lowp_float
+
+ +

Low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.4 Floats
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 53 of file type_float.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::lowp_int_t lowp_int
+
+ +

Low precision signed integer.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 107 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<int, lowp> lowp_ivec2
+
+ +

2 components vector of low precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 121 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<int, lowp> lowp_ivec3
+
+ +

3 components vector of low precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 232 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<int, lowp> lowp_ivec4
+
+ +

4 components vector of low precision signed integer numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 330 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2< float, lowp > lowp_mat2
+
+ +

2 columns of 2 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 65 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2< float, lowp > lowp_mat2x2
+
+ +

2 columns of 2 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 86 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3< float, lowp > lowp_mat2x3
+
+ +

2 columns of 3 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 112 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4< float, lowp > lowp_mat2x4
+
+ +

2 columns of 4 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 138 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3< float, lowp > lowp_mat3
+
+ +

3 columns of 3 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 190 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2< float, lowp > lowp_mat3x2
+
+ +

3 columns of 2 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 164 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3< float, lowp > lowp_mat3x3
+
+ +

3 columns of 3 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 211 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4< float, lowp > lowp_mat3x4
+
+ +

3 columns of 4 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 237 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4< float, lowp > lowp_mat4
+
+ +

4 columns of 4 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 316 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2< float, lowp > lowp_mat4x2
+
+ +

4 columns of 2 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 263 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3< float, lowp > lowp_mat4x3
+
+ +

4 columns of 3 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 289 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4< float, lowp > lowp_mat4x4
+
+ +

4 columns of 4 components matrix of low precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 337 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::lowp_uint_t lowp_uint
+
+ +

Low precision unsigned integer.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 128 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<uint, lowp> lowp_uvec2
+
+ +

2 components vector of low precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 142 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<uint, lowp> lowp_uvec3
+
+ +

3 components vector of low precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 253 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<uint, lowp> lowp_uvec4
+
+ +

4 components vector of low precision unsigned integer numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 348 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< float, lowp > lowp_vec2
+
+ +

2 components vector of low single-precision floating-point numbers.

+

Low single-precision floating-point vector of 2 components.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+GLM_GTC_type_precision
+ +

Definition at line 79 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< float, lowp > lowp_vec3
+
+ +

3 components vector of low single-precision floating-point numbers.

+

Low single-precision floating-point vector of 3 components.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+GLM_GTC_type_precision
+ +

Definition at line 190 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< float, lowp > lowp_vec4
+
+ +

4 components vector of low single-precision floating-point numbers.

+

Low single-precision floating-point vector of 4 components.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+GLM_GTC_type_precision
+ +

Definition at line 294 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<bool, mediump> mediump_bvec2
+
+ +

2 components vector of medium precision bool numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 156 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<bool, mediump> mediump_bvec3
+
+ +

3 components vector of medium precision bool numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 265 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<bool, mediump> mediump_bvec4
+
+ +

4 components vector of medium precision bool numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 360 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<double, mediump> mediump_dmat2
+
+ +

2 columns of 2 components matrix of medium precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 460 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<double, mediump> mediump_dmat2x2
+
+ +

2 columns of 2 components matrix of medium precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 478 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<double, mediump> mediump_dmat2x3
+
+ +

2 columns of 3 components matrix of medium precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 501 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<double, mediump> mediump_dmat2x4
+
+ +

2 columns of 4 components matrix of medium precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 524 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<double, mediump> mediump_dmat3
+
+ +

3 columns of 3 components matrix of medium precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 570 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<double, mediump> mediump_dmat3x2
+
+ +

3 columns of 2 components matrix of medium precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 547 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<double, mediump> mediump_dmat3x3
+
+ +

3 columns of 3 components matrix of medium precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 588 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<double, mediump> mediump_dmat3x4
+
+ +

3 columns of 4 components matrix of medium precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 611 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<double, mediump> mediump_dmat4
+
+ +

4 columns of 4 components matrix of medium precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 680 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<double, mediump> mediump_dmat4x2
+
+ +

4 columns of 2 components matrix of medium precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 634 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<double, mediump> mediump_dmat4x3
+
+ +

4 columns of 3 components matrix of medium precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 657 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<double, mediump> mediump_dmat4x4
+
+ +

4 columns of 4 components matrix of medium precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 698 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<double, mediump> mediump_dvec2
+
+ +

2 components vector of medium double-precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 93 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<double, mediump> mediump_dvec3
+
+ +

3 components vector of medium double-precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 204 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<double, mediump> mediump_dvec4
+
+ +

4 components vector of medium double-precision floating-point numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 306 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_float_t mediump_float
+
+ +

Medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.4 Floats
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 60 of file type_float.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::mediump_int_t mediump_int
+
+ +

Medium precision signed integer.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 114 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<int, mediump> mediump_ivec2
+
+ +

2 components vector of medium precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 114 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<int, mediump> mediump_ivec3
+
+ +

3 components vector of medium precision signed integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 225 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<int, mediump> mediump_ivec4
+
+ +

4 components vector of medium precision signed integer numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 324 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2< float, mediump > mediump_mat2
+
+ +

2 columns of 2 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 72 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2< float, mediump > mediump_mat2x2
+
+ +

2 columns of 2 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 93 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3< float, mediump > mediump_mat2x3
+
+ +

2 columns of 3 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 119 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4< float, mediump > mediump_mat2x4
+
+ +

2 columns of 4 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 145 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3< float, mediump > mediump_mat3
+
+ +

3 columns of 3 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 197 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2< float, mediump > mediump_mat3x2
+
+ +

3 columns of 2 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 171 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3< float, mediump > mediump_mat3x3
+
+ +

3 columns of 3 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 218 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4< float, mediump > mediump_mat3x4
+
+ +

3 columns of 4 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 244 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4< float, mediump > mediump_mat4
+
+ +

4 columns of 4 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 323 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2< float, mediump > mediump_mat4x2
+
+ +

4 columns of 2 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 270 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3< float, mediump > mediump_mat4x3
+
+ +

4 columns of 3 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 296 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4< float, mediump > mediump_mat4x4
+
+ +

4 columns of 4 components matrix of medium precision floating-point numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.6 Matrices
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 344 of file type_mat.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::mediump_uint_t mediump_uint
+
+ +

Medium precision unsigned integer.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 135 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<uint, mediump> mediump_uvec2
+
+ +

2 components vector of medium precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 135 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<uint, mediump> mediump_uvec3
+
+ +

3 components vector of medium precision unsigned integer numbers.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 246 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<uint, mediump> mediump_uvec4
+
+ +

4 components vector of medium precision unsigned integer numbers.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+ +

Definition at line 342 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< float, mediump > mediump_vec2
+
+ +

2 components vector of medium single-precision floating-point numbers.

+

Medium Single-precision floating-point vector of 2 components.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+GLM_GTC_type_precision
+ +

Definition at line 72 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< float, mediump > mediump_vec3
+
+ +

3 components vector of medium single-precision floating-point numbers.

+

Medium Single-precision floating-point vector of 3 components.

+

There is no guarantee on the actual precision.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+GLM_GTC_type_precision
+ +

Definition at line 183 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< float, mediump > mediump_vec4
+
+ +

4 components vector of medium single-precision floating-point numbers.

+

Medium Single-precision floating-point vector of 4 components.

+
See Also
GLSL 4.20.8 specification, section 4.1.5 Vectors
+
+GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
+
+GLM_GTC_type_precision
+ +

Definition at line 288 of file type_vec.hpp.

+ +
+
+ +
+
+ + + + +
typedef unsigned int uint
+
+ +

Unsigned integer type.

+
See Also
GLSL 4.20.8 specification, section 4.1.3 Integers
+ +

Definition at line 171 of file type_int.hpp.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00170.html glm-0.9.5.1/doc/api/a00170.html --- glm-0.9.4.6/doc/api/a00170.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00170.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,549 +1,55 @@ - - - - - -GLM_GTX_extented_min_max - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_extented_min_max
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, typename C< T >::value_type const &y, typename C< T >::value_type const &z)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, typename C< T >::value_type const &y, typename C< T >::value_type const &z, typename C< T >::value_type const &w)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T >
min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, typename C< T >::value_type const &y, typename C< T >::value_type const &z)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, typename C< T >::value_type const &y, typename C< T >::value_type const &z, typename C< T >::value_type const &w)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
-

Detailed Description

-

Min and max functions for 3 to 4 parameters.

-

<glm/gtx/extented_min_max.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
T glm::max (T const & x,
T const & y,
T const & z 
)
-
- -

Return the maximum component-wise values of 3 inputs.

-
See Also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
C<T> glm::max (C< T > const & x,
typename C< T >::value_type const & y,
typename C< T >::value_type const & z 
)
-
- -

Return the maximum component-wise values of 3 inputs.

-
See Also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
C<T> glm::max (C< T > const & x,
C< T > const & y,
C< T > const & z 
)
-
- -

Return the maximum component-wise values of 3 inputs.

-
See Also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
T glm::max (T const & x,
T const & y,
T const & z,
T const & w 
)
-
- -

Return the maximum component-wise values of 4 inputs.

-
See Also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C<T> glm::max (C< T > const & x,
typename C< T >::value_type const & y,
typename C< T >::value_type const & z,
typename C< T >::value_type const & w 
)
-
- -

Return the maximum component-wise values of 4 inputs.

-
See Also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C<T> glm::max (C< T > const & x,
C< T > const & y,
C< T > const & z,
C< T > const & w 
)
-
- -

Return the maximum component-wise values of 4 inputs.

-
See Also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
T glm::min (T const & x,
T const & y,
T const & z 
)
-
- -

Return the minimum component-wise values of 3 inputs.

-
See Also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
C<T> glm::min (C< T > const & x,
typename C< T >::value_type const & y,
typename C< T >::value_type const & z 
)
-
- -

Return the minimum component-wise values of 3 inputs.

-
See Also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
C<T> glm::min (C< T > const & x,
C< T > const & y,
C< T > const & z 
)
-
- -

Return the minimum component-wise values of 3 inputs.

-
See Also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
T glm::min (T const & x,
T const & y,
T const & z,
T const & w 
)
-
- -

Return the minimum component-wise values of 4 inputs.

-
See Also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C<T> glm::min (C< T > const & x,
typename C< T >::value_type const & y,
typename C< T >::value_type const & z,
typename C< T >::value_type const & w 
)
-
- -

Return the minimum component-wise values of 4 inputs.

-
See Also
GLM_GTX_extented_min_max
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C<T> glm::min (C< T > const & x,
C< T > const & y,
C< T > const & z,
C< T > const & w 
)
-
- -

Return the minimum component-wise values of 4 inputs.

-
See Also
GLM_GTX_extented_min_max
- -
-
-
- - - - + + + + + + +GLM: Template types + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+
+
Template types
+
+
+

The generic template types used as the basis for the core types.

+

These types are all templates used to define the actual Types. These templetes are implementation details of GLM types and should not be used explicitly.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00171.html glm-0.9.5.1/doc/api/a00171.html --- glm-0.9.4.6/doc/api/a00171.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00171.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,231 +1,589 @@ - - - - - -GLM_GTX_fast_exponential - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_fast_exponential
-
-
- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
fastExp (const T &x)
 
template<typename T >
fastExp2 (const T &x)
 
template<typename T >
fastLn (const T &x)
 
template<typename T >
fastLog (const T &x)
 
template<typename T >
fastLog2 (const T &x)
 
template<typename genType >
genType fastPow (genType const &x, genType const &y)
 
template<typename genTypeT , typename genTypeU >
genTypeT fastPow (genTypeT const &x, genTypeU const &y)
 
-

Detailed Description

-

Fast but less accurate implementations of exponential based functions.

-

<glm/gtx/fast_exponential.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
T glm::fastExp (const T & x)
-
- -

Faster than the common exp function but less accurate.

-
See Also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
T glm::fastExp2 (const T & x)
-
- -

Faster than the common exp2 function but less accurate.

-
See Also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
T glm::fastLn (const T & x)
-
- -

Faster than the common ln function but less accurate.

-
See Also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
T glm::fastLog (const T & x)
-
- -

Faster than the common log function but less accurate.

-
See Also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - -
T glm::fastLog2 (const T & x)
-
- -

Faster than the common log2 function but less accurate.

-
See Also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::fastPow (genType const & x,
genType const & y 
)
-
- -

Faster than the common pow function but less accurate.

-
See Also
GLM_GTX_fast_exponential
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genTypeT glm::fastPow (genTypeT const & x,
genTypeU const & y 
)
-
- -

Faster than the common pow function but less accurate.

-
See Also
GLM_GTX_fast_exponential
- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_constants + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTC_constants
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType e ()
 
template<typename genType >
GLM_FUNC_DECL genType epsilon ()
 
template<typename genType >
GLM_FUNC_DECL genType euler ()
 
template<typename genType >
GLM_FUNC_DECL genType golden_ratio ()
 
template<typename genType >
GLM_FUNC_DECL genType half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_ten ()
 
template<typename genType >
GLM_FUNC_DECL genType ln_two ()
 
template<typename genType >
GLM_FUNC_DECL genType one ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType one_over_root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType pi ()
 
template<typename genType >
GLM_FUNC_DECL genType quarter_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_five ()
 
template<typename genType >
GLM_FUNC_DECL genType root_half_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_ln_four ()
 
template<typename genType >
GLM_FUNC_DECL genType root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType root_three ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two ()
 
template<typename genType >
GLM_FUNC_DECL genType root_two_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType third ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_over_root_pi ()
 
template<typename genType >
GLM_FUNC_DECL genType two_thirds ()
 
template<typename genType >
GLM_FUNC_DECL genType zero ()
 
+

Detailed Description

+

Allow to perform bit operations on integer values.

+

<glm/gtc/constants.hpp> need to be included to use these features.

+

Function Documentation

+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::e ()
+
+ +

Return e constant.

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::epsilon ()
+
+ +

Return the epsilon constant for floating point types.

+
Todo:
Implement epsilon for half-precision floating point type.
+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::euler ()
+
+ +

Return Euler's constant.

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::golden_ratio ()
+
+ +

Return the golden ratio constant.

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::half_pi ()
+
+ +

Return pi / 2.

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::ln_ln_two ()
+
+ +

Return ln(ln(2)).

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::ln_ten ()
+
+ +

Return ln(10).

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::ln_two ()
+
+ +

Return ln(2).

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::one ()
+
+ +

Return 1.

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::one_over_pi ()
+
+ +

Return 1 / pi.

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::one_over_root_two ()
+
+ +

Return 1 / sqrt(2).

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::pi ()
+
+ +

Return the pi constant.

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::quarter_pi ()
+
+ +

Return pi / 4.

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_five ()
+
+ +

Return sqrt(5).

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_half_pi ()
+
+ +

Return sqrt(pi / 2).

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_ln_four ()
+
+ +

Return sqrt(ln(4)).

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_pi ()
+
+ +

Return square root of pi.

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_three ()
+
+ +

Return sqrt(3).

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_two ()
+
+ +

Return sqrt(2).

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::root_two_pi ()
+
+ +

Return sqrt(2 * pi).

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::third ()
+
+ +

Return 1 / 3.

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::two_over_pi ()
+
+ +

Return 2 / pi.

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::two_over_root_pi ()
+
+ +

Return 2 / sqrt(pi).

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::two_thirds ()
+
+ +

Return 2 / 3.

+
See Also
GLM_GTC_constants
+ +
+
+ +
+
+ + + + + + + +
GLM_FUNC_DECL genType glm::zero ()
+
+ +

Return 0.

+
See Also
GLM_GTC_constants
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00172.html glm-0.9.5.1/doc/api/a00172.html --- glm-0.9.4.6/doc/api/a00172.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00172.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,180 +1,219 @@ - - - - - -GLM_GTX_fast_square_root - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_fast_square_root
-
-
- - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType::value_type fastDistance (genType const &x, genType const &y)
 
template<typename genType >
genType fastInverseSqrt (genType const &x)
 
template<typename genType >
genType::value_type fastLength (genType const &x)
 
template<typename genType >
genType fastNormalize (genType const &x)
 
template<typename genType >
genType fastSqrt (genType const &x)
 
-

Detailed Description

-

Fast but less accurate implementations of square root based functions.

-
    -
  • Sqrt optimisation based on Newton's method, www.gamedev.net/community/forums/topic.asp?topic id=139956
  • -
-

<glm/gtx/fast_square_root.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
genType::value_type glm::fastDistance (genType const & x,
genType const & y 
)
-
- -

Faster than the common distance function but less accurate.

-

From GLM_GTX_fast_square_root extension.

- -
-
- -
-
- - - - - - - - -
genType glm::fastInverseSqrt (genType const & x)
-
- -

Faster than the common inversesqrt function but less accurate.

-

From GLM_GTX_fast_square_root extension.

- -
-
- -
-
- - - - - - - - -
genType::value_type glm::fastLength (genType const & x)
-
- -

Faster than the common length function but less accurate.

-

From GLM_GTX_fast_square_root extension.

- -
-
- -
-
- - - - - - - - -
genType glm::fastNormalize (genType const & x)
-
- -

Faster than the common normalize function but less accurate.

-

From GLM_GTX_fast_square_root extension.

- -
-
- -
-
- - - - - - - - -
genType glm::fastSqrt (genType const & x)
-
- -

Faster than the common sqrt function but less accurate.

-

From GLM_GTX_fast_square_root extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_epsilon + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + + + + + + + + + + + +

+Functions

template<typename T , precision P, template< typename, precision > class vecType>
GLM_FUNC_DECL vecType< bool, P > epsilonEqual (vecType< T, P > const &x, vecType< T, P > const &y, T const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL genType::boolType epsilonNotEqual (genType const &x, genType const &y, typename genType::value_type const &epsilon)
 
template<typename genType >
GLM_FUNC_DECL bool epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 
+

Detailed Description

+

Comparison functions for a user defined epsilon values.

+

<glm/gtc/epsilon.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<bool, P> glm::epsilonEqual (vecType< T, P > const & x,
vecType< T, P > const & y,
T const & epsilon 
)
+
+ +

Returns the component-wise comparison of |x - y| < epsilon.

+

True if this expression is satisfied.

+
See Also
GLM_GTC_epsilon
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::epsilonEqual (genType const & x,
genType const & y,
genType const & epsilon 
)
+
+ +

Returns the component-wise comparison of |x - y| < epsilon.

+

True if this expression is satisfied.

+
See Also
GLM_GTC_epsilon
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType::boolType glm::epsilonNotEqual (genType const & x,
genType const & y,
typename genType::value_type const & epsilon 
)
+
+ +

Returns the component-wise comparison of |x - y| < epsilon.

+

True if this expression is not satisfied.

+
See Also
GLM_GTC_epsilon
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL bool glm::epsilonNotEqual (genType const & x,
genType const & y,
genType const & epsilon 
)
+
+ +

Returns the component-wise comparison of |x - y| >= epsilon.

+

True if this expression is not satisfied.

+
See Also
GLM_GTC_epsilon
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00173.html glm-0.9.5.1/doc/api/a00173.html --- glm-0.9.4.6/doc/api/a00173.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00173.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,221 +1,203 @@ - - - - - -GLM_GTX_fast_trigonometry - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_fast_trigonometry
-
-
- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
fastAcos (const T &angle)
 
template<typename T >
fastAsin (const T &angle)
 
template<typename T >
fastAtan (const T &y, const T &x)
 
template<typename T >
fastAtan (const T &angle)
 
template<typename T >
fastCos (const T &angle)
 
template<typename T >
fastSin (const T &angle)
 
template<typename T >
fastTan (const T &angle)
 
-

Detailed Description

-

Fast but less accurate implementations of trigonometric functions.

-

<glm/gtx/fast_trigonometry.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
T glm::fastAcos (const T & angle)
-
- -

Faster than the common acos function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - - - - -
T glm::fastAsin (const T & angle)
-
- -

Faster than the common asin function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
T glm::fastAtan (const T & y,
const T & x 
)
-
- -

Faster than the common atan function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - - - - -
T glm::fastAtan (const T & angle)
-
- -

Faster than the common atan function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - - - - -
T glm::fastCos (const T & angle)
-
- -

Faster than the common cos function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - - - - -
T glm::fastSin (const T & angle)
-
- -

Faster than the common sin function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
- -
-
- - - - - - - - -
T glm::fastTan (const T & angle)
-
- -

Faster than the common tan function but less accurate.

-

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_matrix_access + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTC_matrix_access
+
+
+ + + + + + + + + + + + + + +

+Functions

template<typename genType >
genType::col_type column (genType const &m, length_t const &index)
 
template<typename genType >
genType column (genType const &m, length_t const &index, typename genType::col_type const &x)
 
template<typename genType >
genType::row_type row (genType const &m, length_t const &index)
 
template<typename genType >
genType row (genType const &m, length_t const &index, typename genType::row_type const &x)
 
+

Detailed Description

+

Defines functions to access rows or columns of a matrix easily.

+

<glm/gtc/matrix_access.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
genType::col_type glm::column (genType const & m,
length_t const & index 
)
+
+ +

Get a specific column of a matrix.

+
See Also
GLM_GTC_matrix_access
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
genType glm::column (genType const & m,
length_t const & index,
typename genType::col_type const & x 
)
+
+ +

Set a specific column to a matrix.

+
See Also
GLM_GTC_matrix_access
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
genType::row_type glm::row (genType const & m,
length_t const & index 
)
+
+ +

Get a specific row of a matrix.

+
See Also
GLM_GTC_matrix_access
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
genType glm::row (genType const & m,
length_t const & index,
typename genType::row_type const & x 
)
+
+ +

Set a specific row to a matrix.

+
See Also
GLM_GTC_matrix_access
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00174.html glm-0.9.5.1/doc/api/a00174.html --- glm-0.9.4.6/doc/api/a00174.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00174.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,139 +1,1959 @@ - - - - - -GLM_GTX_gradient_paint - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_gradient_paint
-
-
- - - - - - - - -

-Functions

template<typename valType >
valType linearGradient (detail::tvec2< valType > const &Point0, detail::tvec2< valType > const &Point1, detail::tvec2< valType > const &Position)
 
template<typename valType >
valType radialGradient (detail::tvec2< valType > const &Center, valType const &Radius, detail::tvec2< valType > const &Focal, detail::tvec2< valType > const &Position)
 
-

Detailed Description

-

Functions that return the color of procedural gradient for specific coordinates.

-

<glm/gtx/gradient_paint.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
valType glm::linearGradient (detail::tvec2< valType > const & Point0,
detail::tvec2< valType > const & Point1,
detail::tvec2< valType > const & Position 
)
-
- -

Return a color from a linear gradient.

-
See Also
- GLM_GTX_gradient_paint
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
valType glm::radialGradient (detail::tvec2< valType > const & Center,
valType const & Radius,
detail::tvec2< valType > const & Focal,
detail::tvec2< valType > const & Position 
)
-
- -

Return a color from a radial gradient.

-
See Also
- GLM_GTX_gradient_paint
- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_matrix_integer + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTC_matrix_integer
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef detail::tmat2x2< int,
+highp > 
highp_imat2
 
typedef detail::tmat2x2< int,
+highp > 
highp_imat2x2
 
typedef detail::tmat2x3< int,
+highp > 
highp_imat2x3
 
typedef detail::tmat2x4< int,
+highp > 
highp_imat2x4
 
typedef detail::tmat3x3< int,
+highp > 
highp_imat3
 
typedef detail::tmat3x2< int,
+highp > 
highp_imat3x2
 
typedef detail::tmat3x3< int,
+highp > 
highp_imat3x3
 
typedef detail::tmat3x4< int,
+highp > 
highp_imat3x4
 
typedef detail::tmat4x4< int,
+highp > 
highp_imat4
 
typedef detail::tmat4x2< int,
+highp > 
highp_imat4x2
 
typedef detail::tmat4x3< int,
+highp > 
highp_imat4x3
 
typedef detail::tmat4x4< int,
+highp > 
highp_imat4x4
 
typedef detail::tmat2x2< uint,
+highp > 
highp_umat2
 
typedef detail::tmat2x2< uint,
+highp > 
highp_umat2x2
 
typedef detail::tmat2x3< uint,
+highp > 
highp_umat2x3
 
typedef detail::tmat2x4< uint,
+highp > 
highp_umat2x4
 
typedef detail::tmat3x3< uint,
+highp > 
highp_umat3
 
typedef detail::tmat3x2< uint,
+highp > 
highp_umat3x2
 
typedef detail::tmat3x3< uint,
+highp > 
highp_umat3x3
 
typedef detail::tmat3x4< uint,
+highp > 
highp_umat3x4
 
typedef detail::tmat4x4< uint,
+highp > 
highp_umat4
 
typedef detail::tmat4x2< uint,
+highp > 
highp_umat4x2
 
typedef detail::tmat4x3< uint,
+highp > 
highp_umat4x3
 
typedef detail::tmat4x4< uint,
+highp > 
highp_umat4x4
 
typedef mediump_imat2 imat2
 
typedef mediump_imat2x2 imat2x2
 
typedef mediump_imat2x3 imat2x3
 
typedef mediump_imat2x4 imat2x4
 
typedef mediump_imat3 imat3
 
typedef mediump_imat3x2 imat3x2
 
typedef mediump_imat3x3 imat3x3
 
typedef mediump_imat3x4 imat3x4
 
typedef mediump_imat4 imat4
 
typedef mediump_imat4x2 imat4x2
 
typedef mediump_imat4x3 imat4x3
 
typedef mediump_imat4x4 imat4x4
 
typedef detail::tmat2x2< int,
+lowp > 
lowp_imat2
 
typedef detail::tmat2x2< int,
+lowp > 
lowp_imat2x2
 
typedef detail::tmat2x3< int,
+lowp > 
lowp_imat2x3
 
typedef detail::tmat2x4< int,
+lowp > 
lowp_imat2x4
 
typedef detail::tmat3x3< int,
+lowp > 
lowp_imat3
 
typedef detail::tmat3x2< int,
+lowp > 
lowp_imat3x2
 
typedef detail::tmat3x3< int,
+lowp > 
lowp_imat3x3
 
typedef detail::tmat3x4< int,
+lowp > 
lowp_imat3x4
 
typedef detail::tmat4x4< int,
+lowp > 
lowp_imat4
 
typedef detail::tmat4x2< int,
+lowp > 
lowp_imat4x2
 
typedef detail::tmat4x3< int,
+lowp > 
lowp_imat4x3
 
typedef detail::tmat4x4< int,
+lowp > 
lowp_imat4x4
 
typedef detail::tmat2x2< uint,
+lowp > 
lowp_umat2
 
typedef detail::tmat2x2< uint,
+lowp > 
lowp_umat2x2
 
typedef detail::tmat2x3< uint,
+lowp > 
lowp_umat2x3
 
typedef detail::tmat2x4< uint,
+lowp > 
lowp_umat2x4
 
typedef detail::tmat3x3< uint,
+lowp > 
lowp_umat3
 
typedef detail::tmat3x2< uint,
+lowp > 
lowp_umat3x2
 
typedef detail::tmat3x3< uint,
+lowp > 
lowp_umat3x3
 
typedef detail::tmat3x4< uint,
+lowp > 
lowp_umat3x4
 
typedef detail::tmat4x4< uint,
+lowp > 
lowp_umat4
 
typedef detail::tmat4x2< uint,
+lowp > 
lowp_umat4x2
 
typedef detail::tmat4x3< uint,
+lowp > 
lowp_umat4x3
 
typedef detail::tmat4x4< uint,
+lowp > 
lowp_umat4x4
 
typedef detail::tmat2x2< int,
+mediump > 
mediump_imat2
 
typedef detail::tmat2x2< int,
+mediump > 
mediump_imat2x2
 
typedef detail::tmat2x3< int,
+mediump > 
mediump_imat2x3
 
typedef detail::tmat2x4< int,
+mediump > 
mediump_imat2x4
 
typedef detail::tmat3x3< int,
+mediump > 
mediump_imat3
 
typedef detail::tmat3x2< int,
+mediump > 
mediump_imat3x2
 
typedef detail::tmat3x3< int,
+mediump > 
mediump_imat3x3
 
typedef detail::tmat3x4< int,
+mediump > 
mediump_imat3x4
 
typedef detail::tmat4x4< int,
+mediump > 
mediump_imat4
 
typedef detail::tmat4x2< int,
+mediump > 
mediump_imat4x2
 
typedef detail::tmat4x3< int,
+mediump > 
mediump_imat4x3
 
typedef detail::tmat4x4< int,
+mediump > 
mediump_imat4x4
 
typedef detail::tmat2x2< uint,
+mediump > 
mediump_umat2
 
typedef detail::tmat2x2< uint,
+mediump > 
mediump_umat2x2
 
typedef detail::tmat2x3< uint,
+mediump > 
mediump_umat2x3
 
typedef detail::tmat2x4< uint,
+mediump > 
mediump_umat2x4
 
typedef detail::tmat3x3< uint,
+mediump > 
mediump_umat3
 
typedef detail::tmat3x2< uint,
+mediump > 
mediump_umat3x2
 
typedef detail::tmat3x3< uint,
+mediump > 
mediump_umat3x3
 
typedef detail::tmat3x4< uint,
+mediump > 
mediump_umat3x4
 
typedef detail::tmat4x4< uint,
+mediump > 
mediump_umat4
 
typedef detail::tmat4x2< uint,
+mediump > 
mediump_umat4x2
 
typedef detail::tmat4x3< uint,
+mediump > 
mediump_umat4x3
 
typedef detail::tmat4x4< uint,
+mediump > 
mediump_umat4x4
 
typedef mediump_umat2 umat2
 
typedef mediump_umat2x2 umat2x2
 
typedef mediump_umat2x3 umat2x3
 
typedef mediump_umat2x4 umat2x4
 
typedef mediump_umat3 umat3
 
typedef mediump_umat3x2 umat3x2
 
typedef mediump_umat3x3 umat3x3
 
typedef mediump_umat3x4 umat3x4
 
typedef mediump_umat4 umat4
 
typedef mediump_umat4x2 umat4x2
 
typedef mediump_umat4x3 umat4x3
 
typedef mediump_umat4x4 umat4x4
 
+

Detailed Description

+

Defines a number of matrices with integer types.

+

<glm/gtc/matrix_integer.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+ +
+
+ + + + +
typedef detail::tmat2x2<int, highp> highp_imat2
+
+ +

High-precision signed integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 62 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<int, highp> highp_imat2x2
+
+ +

High-precision signed integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 74 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<int, highp> highp_imat2x3
+
+ +

High-precision signed integer 2x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 78 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<int, highp> highp_imat2x4
+
+ +

High-precision signed integer 2x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 82 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<int, highp> highp_imat3
+
+ +

High-precision signed integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 66 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<int, highp> highp_imat3x2
+
+ +

High-precision signed integer 3x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 86 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<int, highp> highp_imat3x3
+
+ +

High-precision signed integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 90 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<int, highp> highp_imat3x4
+
+ +

High-precision signed integer 3x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 94 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<int, highp> highp_imat4
+
+ +

High-precision signed integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 70 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<int, highp> highp_imat4x2
+
+ +

High-precision signed integer 4x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 98 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<int, highp> highp_imat4x3
+
+ +

High-precision signed integer 4x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 102 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<int, highp> highp_imat4x4
+
+ +

High-precision signed integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 106 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<uint, highp> highp_umat2
+
+ +

High-precision unsigned integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 211 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<uint, highp> highp_umat2x2
+
+ +

High-precision unsigned integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 223 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<uint, highp> highp_umat2x3
+
+ +

High-precision unsigned integer 2x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 227 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<uint, highp> highp_umat2x4
+
+ +

High-precision unsigned integer 2x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 231 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<uint, highp> highp_umat3
+
+ +

High-precision unsigned integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 215 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<uint, highp> highp_umat3x2
+
+ +

High-precision unsigned integer 3x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 235 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<uint, highp> highp_umat3x3
+
+ +

High-precision unsigned integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 239 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<uint, highp> highp_umat3x4
+
+ +

High-precision unsigned integer 3x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 243 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<uint, highp> highp_umat4
+
+ +

High-precision unsigned integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 219 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<uint, highp> highp_umat4x2
+
+ +

High-precision unsigned integer 4x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 247 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<uint, highp> highp_umat4x3
+
+ +

High-precision unsigned integer 4x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 251 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<uint, highp> highp_umat4x4
+
+ +

High-precision unsigned integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 255 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat2 imat2
+
+ +

Signed integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 387 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat2x2 imat2x2
+
+ +

Signed integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 399 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat2x3 imat2x3
+
+ +

Signed integer 2x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 403 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat2x4 imat2x4
+
+ +

Signed integer 2x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 407 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat3 imat3
+
+ +

Signed integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 391 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat3x2 imat3x2
+
+ +

Signed integer 3x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 411 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat3x3 imat3x3
+
+ +

Signed integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 415 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat3x4 imat3x4
+
+ +

Signed integer 3x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 419 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat4 imat4
+
+ +

Signed integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 395 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat4x2 imat4x2
+
+ +

Signed integer 4x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 423 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat4x3 imat4x3
+
+ +

Signed integer 4x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 427 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_imat4x4 imat4x4
+
+ +

Signed integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 431 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<int, lowp> lowp_imat2
+
+ +

Low-precision signed integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 161 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<int, lowp> lowp_imat2x2
+
+ +

Low-precision signed integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 174 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<int, lowp> lowp_imat2x3
+
+ +

Low-precision signed integer 2x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 178 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<int, lowp> lowp_imat2x4
+
+ +

Low-precision signed integer 2x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 182 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<int, lowp> lowp_imat3
+
+ +

Low-precision signed integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 165 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<int, lowp> lowp_imat3x2
+
+ +

Low-precision signed integer 3x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 186 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<int, lowp> lowp_imat3x3
+
+ +

Low-precision signed integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 190 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<int, lowp> lowp_imat3x4
+
+ +

Low-precision signed integer 3x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 194 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<int, lowp> lowp_imat4
+
+ +

Low-precision signed integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 169 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<int, lowp> lowp_imat4x2
+
+ +

Low-precision signed integer 4x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 198 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<int, lowp> lowp_imat4x3
+
+ +

Low-precision signed integer 4x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 202 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<int, lowp> lowp_imat4x4
+
+ +

Low-precision signed integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 206 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<uint, lowp> lowp_umat2
+
+ +

Low-precision unsigned integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 310 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<uint, lowp> lowp_umat2x2
+
+ +

Low-precision unsigned integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 323 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<uint, lowp> lowp_umat2x3
+
+ +

Low-precision unsigned integer 2x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 327 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<uint, lowp> lowp_umat2x4
+
+ +

Low-precision unsigned integer 2x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 331 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<uint, lowp> lowp_umat3
+
+ +

Low-precision unsigned integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 314 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<uint, lowp> lowp_umat3x2
+
+ +

Low-precision unsigned integer 3x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 335 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<uint, lowp> lowp_umat3x3
+
+ +

Low-precision unsigned integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 339 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<uint, lowp> lowp_umat3x4
+
+ +

Low-precision unsigned integer 3x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 343 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<uint, lowp> lowp_umat4
+
+ +

Low-precision unsigned integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 318 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<uint, lowp> lowp_umat4x2
+
+ +

Low-precision unsigned integer 4x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 347 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<uint, lowp> lowp_umat4x3
+
+ +

Low-precision unsigned integer 4x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 351 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<uint, lowp> lowp_umat4x4
+
+ +

Low-precision unsigned integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 355 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<int, mediump> mediump_imat2
+
+ +

Medium-precision signed integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 111 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<int, mediump> mediump_imat2x2
+
+ +

Medium-precision signed integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 124 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<int, mediump> mediump_imat2x3
+
+ +

Medium-precision signed integer 2x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 128 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<int, mediump> mediump_imat2x4
+
+ +

Medium-precision signed integer 2x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 132 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<int, mediump> mediump_imat3
+
+ +

Medium-precision signed integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 115 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<int, mediump> mediump_imat3x2
+
+ +

Medium-precision signed integer 3x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 136 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<int, mediump> mediump_imat3x3
+
+ +

Medium-precision signed integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 140 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<int, mediump> mediump_imat3x4
+
+ +

Medium-precision signed integer 3x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 144 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<int, mediump> mediump_imat4
+
+ +

Medium-precision signed integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 119 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<int, mediump> mediump_imat4x2
+
+ +

Medium-precision signed integer 4x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 148 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<int, mediump> mediump_imat4x3
+
+ +

Medium-precision signed integer 4x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 152 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<int, mediump> mediump_imat4x4
+
+ +

Medium-precision signed integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 156 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<uint, mediump> mediump_umat2
+
+ +

Medium-precision unsigned integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 260 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<uint, mediump> mediump_umat2x2
+
+ +

Medium-precision unsigned integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 273 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<uint, mediump> mediump_umat2x3
+
+ +

Medium-precision unsigned integer 2x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 277 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<uint, mediump> mediump_umat2x4
+
+ +

Medium-precision unsigned integer 2x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 281 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<uint, mediump> mediump_umat3
+
+ +

Medium-precision unsigned integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 264 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<uint, mediump> mediump_umat3x2
+
+ +

Medium-precision unsigned integer 3x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 285 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<uint, mediump> mediump_umat3x3
+
+ +

Medium-precision unsigned integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 289 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<uint, mediump> mediump_umat3x4
+
+ +

Medium-precision unsigned integer 3x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 293 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<uint, mediump> mediump_umat4
+
+ +

Medium-precision unsigned integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 268 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<uint, mediump> mediump_umat4x2
+
+ +

Medium-precision unsigned integer 4x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 297 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<uint, mediump> mediump_umat4x3
+
+ +

Medium-precision unsigned integer 4x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 301 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<uint, mediump> mediump_umat4x4
+
+ +

Medium-precision unsigned integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 305 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat2 umat2
+
+ +

Unsigned integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 464 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat2x2 umat2x2
+
+ +

Unsigned integer 2x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 476 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat2x3 umat2x3
+
+ +

Unsigned integer 2x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 480 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat2x4 umat2x4
+
+ +

Unsigned integer 2x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 484 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat3 umat3
+
+ +

Unsigned integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 468 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat3x2 umat3x2
+
+ +

Unsigned integer 3x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 488 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat3x3 umat3x3
+
+ +

Unsigned integer 3x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 492 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat3x4 umat3x4
+
+ +

Unsigned integer 3x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 496 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat4 umat4
+
+ +

Unsigned integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 472 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat4x2 umat4x2
+
+ +

Unsigned integer 4x2 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 500 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat4x3 umat4x3
+
+ +

Unsigned integer 4x3 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 504 of file matrix_integer.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_umat4x4 umat4x4
+
+ +

Unsigned integer 4x4 matrix.

+
See Also
GLM_GTC_matrix_integer
+ +

Definition at line 508 of file matrix_integer.hpp.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00175.html glm-0.9.5.1/doc/api/a00175.html --- glm-0.9.4.6/doc/api/a00175.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00175.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,133 +1,132 @@ - - - - - -GLM_GTX_handed_coordinate_space - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_handed_coordinate_space
-
-
- - - - - - - - -

-Functions

template<typename T >
bool leftHanded (detail::tvec3< T > const &tangent, detail::tvec3< T > const &binormal, detail::tvec3< T > const &normal)
 
template<typename T >
bool rightHanded (detail::tvec3< T > const &tangent, detail::tvec3< T > const &binormal, detail::tvec3< T > const &normal)
 
-

Detailed Description

-

To know if a set of three basis vectors defines a right or left-handed coordinate system.

-

<glm/gtx/handed_coordinate_system.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::leftHanded (detail::tvec3< T > const & tangent,
detail::tvec3< T > const & binormal,
detail::tvec3< T > const & normal 
)
-
- -

Return if a trihedron left handed or not.

-

From GLM_GTX_handed_coordinate_space extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::rightHanded (detail::tvec3< T > const & tangent,
detail::tvec3< T > const & binormal,
detail::tvec3< T > const & normal 
)
-
- -

Return if a trihedron right handed or not.

-

From GLM_GTX_handed_coordinate_space extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_matrix_inverse + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTC_matrix_inverse
+
+
+ + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_QUALIFIER genType affineInverse (genType const &m)
 
template<typename genType >
GLM_FUNC_QUALIFIER
+genType::value_type 
inverseTranspose (genType const &m)
 
+

Detailed Description

+

Defines additional matrix inverting functions.

+

<glm/gtc/matrix_inverse.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_QUALIFIER genType glm::affineInverse (genType const & m)
+
+ +

Fast matrix inverse for affine matrix.

+
Parameters
+ + +
mInput matrix to invert.
+
+
+
Template Parameters
+ + +
genTypeSquared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate.
+
+
+
See Also
GLM_GTC_matrix_inverse
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_QUALIFIER genType::value_type glm::inverseTranspose (genType const & m)
+
+ +

Compute the inverse transpose of a matrix.

+
Parameters
+ + +
mInput matrix to invert transpose.
+
+
+
Template Parameters
+ + +
genTypeSquared floating-point matrix: half, float or double. Inverse of matrix based of half-precision floating point value is highly innacurate.
+
+
+
See Also
GLM_GTC_matrix_inverse
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00176.html glm-0.9.5.1/doc/api/a00176.html --- glm-0.9.4.6/doc/api/a00176.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00176.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,313 +1,910 @@ - - - - - -GLM_GTX_inertia - - - - - - -
-
- - - - - - -
-
- - - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat3x3< T > ballInertia3 (T const &Mass, T const &Radius)
 
template<typename T >
detail::tmat4x4< T > ballInertia4 (T const &Mass, T const &Radius)
 
template<typename T >
detail::tmat3x3< T > boxInertia3 (T const &Mass, detail::tvec3< T > const &Scale)
 
template<typename T >
detail::tmat4x4< T > boxInertia4 (T const &Mass, detail::tvec3< T > const &Scale)
 
template<typename T >
detail::tmat3x3< T > diskInertia3 (T const &Mass, T const &Radius)
 
template<typename T >
detail::tmat4x4< T > diskInertia4 (T const &Mass, T const &Radius)
 
template<typename T >
detail::tmat3x3< T > sphereInertia3 (T const &Mass, T const &Radius)
 
template<typename T >
detail::tmat4x4< T > sphereInertia4 (T const &Mass, T const &Radius)
 
-

Detailed Description

-

Create inertia matrices.

-

<glm/gtx/inertia.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat3x3<T> glm::ballInertia3 (T const & Mass,
T const & Radius 
)
-
- -

Build an inertia matrix for a ball.

-

From GLM_GTX_inertia extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::ballInertia4 (T const & Mass,
T const & Radius 
)
-
- -

Build an inertia matrix for a ball.

-

From GLM_GTX_inertia extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat3x3<T> glm::boxInertia3 (T const & Mass,
detail::tvec3< T > const & Scale 
)
-
- -

Build an inertia matrix for a box.

-

From GLM_GTX_inertia extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::boxInertia4 (T const & Mass,
detail::tvec3< T > const & Scale 
)
-
- -

Build an inertia matrix for a box.

-

From GLM_GTX_inertia extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat3x3<T> glm::diskInertia3 (T const & Mass,
T const & Radius 
)
-
- -

Build an inertia matrix for a disk.

-

From GLM_GTX_inertia extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::diskInertia4 (T const & Mass,
T const & Radius 
)
-
- -

Build an inertia matrix for a disk.

-

From GLM_GTX_inertia extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat3x3<T> glm::sphereInertia3 (T const & Mass,
T const & Radius 
)
-
- -

Build an inertia matrix for a sphere.

-

From GLM_GTX_inertia extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::sphereInertia4 (T const & Mass,
T const & Radius 
)
-
- -

Build an inertia matrix for a sphere.

-

From GLM_GTX_inertia extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_matrix_transform + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTC_matrix_transform
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
frustum (T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
infinitePerspective (T fovy, T aspect, T near)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
lookAt (detail::tvec3< T, P > const &eye, detail::tvec3< T, P > const &center, detail::tvec3< T, P > const &up)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
+< T, defaultp > 
ortho (T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
+< T, defaultp > 
ortho (T const &left, T const &right, T const &bottom, T const &top)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
perspective (T const &fovy, T const &aspect, T const &near, T const &far)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
perspectiveFov (T const &fov, T const &width, T const &height, T const &near, T const &far)
 
template<typename T , precision P, typename U >
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
pickMatrix (detail::tvec2< T, P > const &center, detail::tvec2< T, P > const &delta, detail::tvec4< U, P > const &viewport)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > project (detail::tvec3< T, P > const &obj, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
rotate (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
scale (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
translate (detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T , typename U , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > unProject (detail::tvec3< T, P > const &win, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
 
+

Detailed Description

+

Defines functions that generate common transformation matrices.

+

The matrices generated by this extension use standard OpenGL fixed-function conventions. For example, the lookAt function generates a transform from world space into the specific eye space that the projective matrix functions (perspective, ortho, etc) are designed to expect. The OpenGL compatibility specifications defines the particular layout of this eye space.

+

<glm/gtc/matrix_transform.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::frustum (T const & left,
T const & right,
T const & bottom,
T const & top,
T const & near,
T const & far 
)
+
+ +

Creates a frustum matrix.

+
Parameters
+ + + + + + + +
left
right
bottom
top
near
far
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See Also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::infinitePerspective (fovy,
aspect,
near 
)
+
+ +

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite.

+
Parameters
+ + + + +
fovyExpressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
aspect
near
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See Also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::lookAt (detail::tvec3< T, P > const & eye,
detail::tvec3< T, P > const & center,
detail::tvec3< T, P > const & up 
)
+
+ +

Build a look at view matrix.

+
Parameters
+ + + + +
eyePosition of the camera
centerPosition where the camera is looking at
upNormalized up vector, how the camera is oriented. Typically (0, 0, 1)
+
+
+
See Also
GLM_GTC_matrix_transform
+
+- frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal) frustum(T const & left, T const & right, T const & bottom, T const & top, T const & nearVal, T const & farVal)
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::ortho (T const & left,
T const & right,
T const & bottom,
T const & top,
T const & zNear,
T const & zFar 
)
+
+ +

Creates a matrix for an orthographic parallel viewing volume.

+
Parameters
+ + + + + + + +
left
right
bottom
top
zNear
zFar
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See Also
GLM_GTC_matrix_transform
+
+- glm::ortho(T const & left, T const & right, T const & bottom, T const & top)
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::ortho (T const & left,
T const & right,
T const & bottom,
T const & top 
)
+
+ +

Creates a matrix for projecting two-dimensional coordinates onto the screen.

+
Parameters
+ + + + + +
left
right
bottom
top
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See Also
GLM_GTC_matrix_transform
+
+- glm::ortho(T const & left, T const & right, T const & bottom, T const & top, T const & zNear, T const & zFar)
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::perspective (T const & fovy,
T const & aspect,
T const & near,
T const & far 
)
+
+ +

Creates a matrix for a symetric perspective-view frustum.

+
Parameters
+ + + + + +
fovyExpressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
aspect
near
far
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See Also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::perspectiveFov (T const & fov,
T const & width,
T const & height,
T const & near,
T const & far 
)
+
+ +

Builds a perspective projection matrix based on a field of view.

+
Parameters
+ + + + + + +
fovExpressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
width
height
near
far
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See Also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::pickMatrix (detail::tvec2< T, P > const & center,
detail::tvec2< T, P > const & delta,
detail::tvec4< U, P > const & viewport 
)
+
+ +

Define a picking region.

+
Parameters
+ + + + +
center
delta
viewport
+
+
+
Template Parameters
+ + + +
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
+
+
+
See Also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tvec3<T, P> glm::project (detail::tvec3< T, P > const & obj,
detail::tmat4x4< T, P > const & model,
detail::tmat4x4< T, P > const & proj,
detail::tvec4< U, P > const & viewport 
)
+
+ +

Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.

+
Parameters
+ + + + + +
obj
model
proj
viewport
+
+
+
Template Parameters
+ + + +
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
+
+
+
See Also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::rotate (detail::tmat4x4< T, P > const & m,
T const & angle,
detail::tvec3< T, P > const & axis 
)
+
+ +

Builds a rotation 4 * 4 matrix created from an axis vector and an angle.

+
Parameters
+ + + + +
mInput matrix multiplied by this rotation matrix.
angleRotation angle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisRotation axis, recommanded to be normalized.
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Supported: half, float or double.
+
+
+
See Also
GLM_GTC_matrix_transform
+
+GLM_GTX_transform
+
+- rotate(T angle, T x, T y, T z)
+
+- rotate(detail::tmat4x4<T, P> const & m, T angle, T x, T y, T z)
+
+- rotate(T angle, detail::tvec3<T, P> const & v)
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::scale (detail::tmat4x4< T, P > const & m,
detail::tvec3< T, P > const & v 
)
+
+ +

Builds a scale 4 * 4 matrix created from 3 scalars.

+
Parameters
+ + + +
mInput matrix multiplied by this scale matrix.
vRatio of scaling for each axis.
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See Also
GLM_GTC_matrix_transform
+
+GLM_GTX_transform
+
+- scale(T x, T y, T z) scale(T const & x, T const & y, T const & z)
+
+- scale(detail::tmat4x4<T, P> const & m, T x, T y, T z)
+
+- scale(detail::tvec3<T, P> const & v)
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::translate (detail::tmat4x4< T, P > const & m,
detail::tvec3< T, P > const & v 
)
+
+ +

Builds a translation 4 * 4 matrix created from a vector of 3 components.

+
Parameters
+ + + +
mInput matrix multiplied by this translation matrix.
vCoordinates of a translation vector.
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
* #include <glm/glm.hpp>
+
* #include <glm/gtc/matrix_transform.hpp>
+
* ...
+ +
* // m[0][0] == 1.0f, m[0][1] == 0.0f, m[0][2] == 0.0f, m[0][3] == 0.0f
+
* // m[1][0] == 0.0f, m[1][1] == 1.0f, m[1][2] == 0.0f, m[1][3] == 0.0f
+
* // m[2][0] == 0.0f, m[2][1] == 0.0f, m[2][2] == 1.0f, m[2][3] == 0.0f
+
* // m[3][0] == 1.0f, m[3][1] == 1.0f, m[3][2] == 1.0f, m[3][3] == 1.0f
+
*
+
+
+
+
See Also
GLM_GTC_matrix_transform
+
+GLM_GTX_transform
+
+- translate(T x, T y, T z)
+
+- translate(detail::tmat4x4<T, P> const & m, T x, T y, T z)
+
+- translate(detail::tvec3<T, P> const & v)
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::tweakedInfinitePerspective (fovy,
aspect,
near 
)
+
+ +

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.

+
Parameters
+ + + + +
fovyExpressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
aspect
near
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See Also
GLM_GTC_matrix_transform
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tvec3<T, P> glm::unProject (detail::tvec3< T, P > const & win,
detail::tmat4x4< T, P > const & model,
detail::tmat4x4< T, P > const & proj,
detail::tvec4< U, P > const & viewport 
)
+
+ +

Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.

+
Parameters
+ + + + + +
win
model
proj
viewport
+
+
+
Template Parameters
+ + + +
TNative type used for the computation. Currently supported: half (not recommanded), float or double.
UCurrently supported: Floating-point types and integer types.
+
+
+
See Also
GLM_GTC_matrix_transform
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00177.html glm-0.9.5.1/doc/api/a00177.html --- glm-0.9.4.6/doc/api/a00177.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00177.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,79 +1,138 @@ - - - - - -GLM_GTX_int_10_10_10_2 - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_int_10_10_10_2
-
-
- - - - -

-Functions

dword uint10_10_10_2_cast (glm::vec4 const &v)
 
-

Detailed Description

-

Pack vector to 1010102 integers.

-

Storage only.

-

<glm/gtx/int_10_10_10_2.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
dword glm::uint10_10_10_2_cast (glm::vec4 const & v)
-
- -

From GLM_GTX_int_10_10_10_2 extension.

-

Cast a vec4 to an u_10_10_10_2.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_noise + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + + + + + + + + +

+Functions

template<typename T , precision P, template< typename, precision > class vecType>
perlin (vecType< T, P > const &p)
 
template<typename T , precision P, template< typename, precision > class vecType>
perlin (vecType< T, P > const &p, vecType< T, P > const &rep)
 
template<typename T , precision P, template< typename, precision > class vecType>
simplex (vecType< T, P > const &p)
 
+

Detailed Description

+

Defines 2D, 3D and 4D procedural noise functions Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": https://github.com/ashima/webgl-noise Following Stefan Gustavson's paper "Simplex noise demystified": http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf <glm/gtc/noise.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
T glm::perlin (vecType< T, P > const & p)
+
+ +

Classic perlin noise.

+
See Also
GLM_GTC_noise
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
T glm::perlin (vecType< T, P > const & p,
vecType< T, P > const & rep 
)
+
+ +

Periodic perlin noise.

+
See Also
GLM_GTC_noise
+ +
+
+ +
+
+ + + + + + + + +
T glm::simplex (vecType< T, P > const & p)
+
+ +

Simplex noise.

+
See Also
GLM_GTC_noise
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00178.html glm-0.9.5.1/doc/api/a00178.html --- glm-0.9.4.6/doc/api/a00178.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00178.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,332 +1,978 @@ - - - - - -GLM_GTX_integer - - - - - - -
-
- - - - - - -
-
- - - -
- -
- - - - -

-Typedefs

typedef signed int sint
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType factorial (genType const &x)
 
unsigned int floor_log2 (unsigned int x)
 
template<typename genIUType >
genIUType log2 (genIUType const &x)
 
int mod (int x, int y)
 
uint mod (uint x, uint y)
 
uint nlz (uint x)
 
int pow (int x, int y)
 
uint pow (uint x, uint y)
 
int sqrt (int x)
 
uint sqrt (uint x)
 
-

Detailed Description

-

Add support for integer for core functions.

-

<glm/gtx/integer.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- -
-
- - - - -
typedef signed int sint
-
- -

32bit signed integer.

-

From GLM_GTX_integer extension.

- -

Definition at line 81 of file integer.hpp.

- -
-
-

Function Documentation

- -
-
- - - - - - - - -
genType glm::factorial (genType const & x)
-
- -

Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - - - -
unsigned int glm::floor_log2 (unsigned int x)
-
- -

Returns the floor log2 of x.

-

From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - - - -
genIUType glm::log2 (genIUType const & x)
-
- -

Returns the log2 of x.

-

Can be reliably using to compute mipmap count from the texture size. From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int glm::mod (int x,
int y 
)
-
- -

Modulus.

-

Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
uint glm::mod (uint x,
uint y 
)
-
- -

Modulus.

-

Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - - - -
uint glm::nlz (uint x)
-
- -

Returns the number of leading zeros.

-

From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int glm::pow (int x,
int y 
)
-
- -

Returns x raised to the y power.

-

From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
uint glm::pow (uint x,
uint y 
)
-
- -

Returns x raised to the y power.

-

From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - - - -
int glm::sqrt (int x)
-
- -

Returns the positive square root of x.

-

From GLM_GTX_integer extension.

- -
-
- -
-
- - - - - - - - -
uint glm::sqrt (uint x)
-
- -

Returns the positive square root of x.

-

From GLM_GTX_integer extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_packing + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 
GLM_FUNC_DECL uint16 packHalf1x16 (float const &v)
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float const &v)
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float const &s)
 
GLM_FUNC_DECL uint16 packSnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packSnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packSnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL uint32 packU3x10_1x2 (uvec4 const &v)
 
GLM_FUNC_DECL uint16 packUnorm1x16 (float const &v)
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float const &v)
 
GLM_FUNC_DECL uint16 packUnorm2x8 (vec2 const &v)
 
GLM_FUNC_DECL uint32 packUnorm3x10_1x2 (vec4 const &v)
 
GLM_FUNC_DECL uint64 packUnorm4x16 (vec4 const &v)
 
GLM_FUNC_DECL vec3 unpackF2x11_1x10 (uint32 const &p)
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 const &v)
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 const &p)
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 const &p)
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 const &p)
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 const &p)
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 const &p)
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 const &p)
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 const &p)
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 const &p)
 
+

Detailed Description

+

This extension provides a set of function to convert vertors to packed formats.

+

<glm/gtc/packing.hpp> need to be included to use these features.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint32 glm::packF2x11_1x10 (vec3 const & v)
+
+ +

First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values.

+

Then, converts the third component of the normalized floating-point value v into a 10-bit signless floating-point value. Then, the results are packed into the returned 32-bit unsigned integer.

+

The first vector component specifies the 11 least-significant bits of the result; the last component specifies the 10 most-significant bits.

+
See Also
GLM_GTC_packing
+
+vec3 unpackF2x11_1x10(uint32 const & p)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint16 glm::packHalf1x16 (float const & v)
+
+ +

Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 16-bit floating-point representation found in the OpenGL Specification, and then packing this 16-bit value into a 16-bit unsigned integer.

+
See Also
GLM_GTC_packing
+
+uint32 packHalf2x16(vec2 const & v)
+
+uint64 packHalf4x16(vec4 const & v)
+
+GLSL packHalf2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint64 glm::packHalf4x16 (vec4 const & v)
+
+ +

Returns an unsigned integer obtained by converting the components of a four-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these four 16-bit values into a 64-bit unsigned integer.

+

The first vector component specifies the 16 least-significant bits of the result; the forth component specifies the 16 most-significant bits.

+
See Also
GLM_GTC_packing
+
+uint16 packHalf1x16(float const & v)
+
+uint32 packHalf2x16(vec2 const & v)
+
+GLSL packHalf2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint32 glm::packI3x10_1x2 (ivec4 const & v)
+
+ +

Returns an unsigned integer obtained by converting the components of a four-component signed integer vector to the 10-10-10-2-bit signed integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer.

+

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

+
See Also
GLM_GTC_packing
+
+uint32 packI3x10_1x2(uvec4 const & v)
+
+uint32 packSnorm3x10_1x2(vec4 const & v)
+
+uint32 packUnorm3x10_1x2(vec4 const & v)
+
+ivec4 unpackI3x10_1x2(uint32 const & p)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint16 glm::packSnorm1x16 (float const & v)
+
+ +

First, converts the normalized floating-point value v into 16-bit integer value.

+

Then, the results are packed into the returned 16-bit unsigned integer.

+

The conversion to fixed point is done as follows: packSnorm1x8: round(clamp(s, -1, +1) * 32767.0)

+
See Also
GLM_GTC_packing
+
+uint32 packSnorm2x16(vec2 const & v)
+
+uint64 packSnorm4x16(vec4 const & v)
+
+GLSL packSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint8 glm::packSnorm1x8 (float const & s)
+
+ +

First, converts the normalized floating-point value v into 8-bit integer value.

+

Then, the results are packed into the returned 8-bit unsigned integer.

+

The conversion to fixed point is done as follows: packSnorm1x8: round(clamp(s, -1, +1) * 127.0)

+
See Also
GLM_GTC_packing
+
+uint16 packSnorm2x8(vec2 const & v)
+
+uint32 packSnorm4x8(vec4 const & v)
+
+GLSL packSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint16 glm::packSnorm2x8 (vec2 const & v)
+
+ +

First, converts each component of the normalized floating-point value v into 8-bit integer values.

+

Then, the results are packed into the returned 16-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packSnorm2x8: round(clamp(c, -1, +1) * 127.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See Also
GLM_GTC_packing
+
+uint8 packSnorm1x8(float const & v)
+
+uint32 packSnorm4x8(vec4 const & v)
+
+GLSL packSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint32 glm::packSnorm3x10_1x2 (vec4 const & v)
+
+ +

First, converts the first three components of the normalized floating-point value v into 10-bit signed integer values.

+

Then, converts the forth component of the normalized floating-point value v into 2-bit signed integer values. Then, the results are packed into the returned 32-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packSnorm3x10_1x2(xyz): round(clamp(c, -1, +1) * 511.0) packSnorm3x10_1x2(w): round(clamp(c, -1, +1) * 1.0)

+

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

+
See Also
GLM_GTC_packing
+
+vec4 unpackSnorm3x10_1x2(uint32 const & p)
+
+uint32 packUnorm3x10_1x2(vec4 const & v)
+
+uint32 packU3x10_1x2(uvec4 const & v)
+
+uint32 packI3x10_1x2(ivec4 const & v)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint64 glm::packSnorm4x16 (vec4 const & v)
+
+ +

First, converts each component of the normalized floating-point value v into 16-bit integer values.

+

Then, the results are packed into the returned 64-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packSnorm2x8: round(clamp(c, -1, +1) * 32767.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See Also
GLM_GTC_packing
+
+uint16 packSnorm1x16(float const & v)
+
+uint32 packSnorm2x16(vec2 const & v)
+
+GLSL packSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint32 glm::packU3x10_1x2 (uvec4 const & v)
+
+ +

Returns an unsigned integer obtained by converting the components of a four-component unsigned integer vector to the 10-10-10-2-bit unsigned integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer.

+

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

+
See Also
GLM_GTC_packing
+
+uint32 packI3x10_1x2(ivec4 const & v)
+
+uint32 packSnorm3x10_1x2(vec4 const & v)
+
+uint32 packUnorm3x10_1x2(vec4 const & v)
+
+ivec4 unpackU3x10_1x2(uint32 const & p)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint16 glm::packUnorm1x16 (float const & v)
+
+ +

First, converts the normalized floating-point value v into a 16-bit integer value.

+

Then, the results are packed into the returned 16-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm1x16: round(clamp(c, 0, +1) * 65535.0)

+
See Also
GLM_GTC_packing
+
+uint16 packSnorm1x16(float const & v)
+
+uint64 packSnorm4x16(vec4 const & v)
+
+GLSL packUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint8 glm::packUnorm1x8 (float const & v)
+
+ +

First, converts the normalized floating-point value v into a 8-bit integer value.

+

Then, the results are packed into the returned 8-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm1x8: round(clamp(c, 0, +1) * 255.0)

+
See Also
GLM_GTC_packing
+
+uint16 packUnorm2x8(vec2 const & v)
+
+uint32 packUnorm4x8(vec4 const & v)
+
+GLSL packUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint16 glm::packUnorm2x8 (vec2 const & v)
+
+ +

First, converts each component of the normalized floating-point value v into 8-bit integer values.

+

Then, the results are packed into the returned 16-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm2x8: round(clamp(c, 0, +1) * 255.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See Also
GLM_GTC_packing
+
+uint8 packUnorm1x8(float const & v)
+
+uint32 packUnorm4x8(vec4 const & v)
+
+GLSL packUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint32 glm::packUnorm3x10_1x2 (vec4 const & v)
+
+ +

First, converts the first three components of the normalized floating-point value v into 10-bit unsigned integer values.

+

Then, converts the forth component of the normalized floating-point value v into 2-bit signed uninteger values. Then, the results are packed into the returned 32-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm3x10_1x2(xyz): round(clamp(c, 0, +1) * 1023.0) packUnorm3x10_1x2(w): round(clamp(c, 0, +1) * 3.0)

+

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

+
See Also
GLM_GTC_packing
+
+vec4 unpackUnorm3x10_1x2(uint32 const & p)
+
+uint32 packUnorm3x10_1x2(vec4 const & v)
+
+uint32 packU3x10_1x2(uvec4 const & v)
+
+uint32 packI3x10_1x2(ivec4 const & v)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uint64 glm::packUnorm4x16 (vec4 const & v)
+
+ +

First, converts each component of the normalized floating-point value v into 16-bit integer values.

+

Then, the results are packed into the returned 64-bit unsigned integer.

+

The conversion for component c of v to fixed point is done as follows: packUnorm4x16: round(clamp(c, 0, +1) * 65535.0)

+

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

+
See Also
GLM_GTC_packing
+
+uint16 packUnorm1x16(float const & v)
+
+uint32 packUnorm2x16(vec2 const & v)
+
+GLSL packUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec3 glm::unpackF2x11_1x10 (uint32 const & p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value .

+

Then, each component is converted to a normalized floating-point value to generate the returned three-component vector.

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLM_GTC_packing
+
+uint32 packF2x11_1x10(vec3 const & v)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::unpackHalf1x16 (uint16 const & v)
+
+ +

Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into a 16-bit value, interpreted as a 16-bit floating-point number according to the OpenGL Specification, and converting it to 32-bit floating-point values.

+
See Also
GLM_GTC_packing
+
+vec2 unpackHalf2x16(uint32 const & v)
+
+vec4 unpackHalf4x16(uint64 const & v)
+
+GLSL unpackHalf2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackHalf4x16 (uint64 const & p)
+
+ +

Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigned integer into four 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values.

+

The first component of the vector is obtained from the 16 least-significant bits of v; the forth component is obtained from the 16 most-significant bits of v.

+
See Also
GLM_GTC_packing
+
+float unpackHalf1x16(uint16 const & v)
+
+vec2 unpackHalf2x16(uint32 const & v)
+
+GLSL unpackHalf2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL ivec4 glm::unpackI3x10_1x2 (uint32 const & p)
+
+ +

Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers.

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLM_GTC_packing
+
+uint32 packU3x10_1x2(uvec4 const & v)
+
+vec4 unpackSnorm3x10_1x2(uint32 const & p);
+
+uvec4 unpackI3x10_1x2(uint32 const & p);
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::unpackSnorm1x16 (uint16 const & p)
+
+ +

First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned scalar.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm1x16: clamp(f / 32767.0, -1, +1)

+
See Also
GLM_GTC_packing
+
+vec2 unpackSnorm2x16(uint32 p)
+
+vec4 unpackSnorm4x16(uint64 p)
+
+GLSL unpackSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::unpackSnorm1x8 (uint8 const & p)
+
+ +

First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers.

+

Then, the value is converted to a normalized floating-point value to generate the returned scalar.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm1x8: clamp(f / 127.0, -1, +1)

+
See Also
GLM_GTC_packing
+
+vec2 unpackSnorm2x8(uint16 p)
+
+vec4 unpackSnorm4x8(uint32 p)
+
+GLSL unpackSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec2 glm::unpackSnorm2x8 (uint16 const & p)
+
+ +

First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned two-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm2x8: clamp(f / 127.0, -1, +1)

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLM_GTC_packing
+
+float unpackSnorm1x8(uint8 p)
+
+vec4 unpackSnorm4x8(uint32 p)
+
+GLSL unpackSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackSnorm3x10_1x2 (uint32 const & p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm3x10_1x2(xyz): clamp(f / 511.0, -1, +1) unpackSnorm3x10_1x2(w): clamp(f / 511.0, -1, +1)

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLM_GTC_packing
+
+uint32 packSnorm3x10_1x2(vec4 const & v)
+
+vec4 unpackUnorm3x10_1x2(uint32 const & p))
+
+uvec4 unpackI3x10_1x2(uint32 const & p)
+
+uvec4 unpackU3x10_1x2(uint32 const & p)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackSnorm4x16 (uint64 const & p)
+
+ +

First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm4x16: clamp(f / 32767.0, -1, +1)

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLM_GTC_packing
+
+float unpackSnorm1x16(uint16 p)
+
+vec2 unpackSnorm2x16(uint32 p)
+
+GLSL unpackSnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL uvec4 glm::unpackU3x10_1x2 (uint32 const & p)
+
+ +

Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers.

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLM_GTC_packing
+
+uint32 packU3x10_1x2(uvec4 const & v)
+
+vec4 unpackSnorm3x10_1x2(uint32 const & p);
+
+uvec4 unpackI3x10_1x2(uint32 const & p);
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::unpackUnorm1x16 (uint16 const & p)
+
+ +

First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers.

+

Then, the value is converted to a normalized floating-point value to generate the returned scalar.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm1x16: f / 65535.0

+
See Also
GLM_GTC_packing
+
+vec2 unpackUnorm2x16(uint32 p)
+
+vec4 unpackUnorm4x16(uint64 p)
+
+GLSL unpackUnorm2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL float glm::unpackUnorm1x8 (uint8 const & p)
+
+ +

Convert a single 8-bit integer to a normalized floating-point value.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

+
See Also
GLM_GTC_packing
+
+vec2 unpackUnorm2x8(uint16 p)
+
+vec4 unpackUnorm4x8(uint32 p)
+
+GLSL unpackUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec2 glm::unpackUnorm2x8 (uint16 const & p)
+
+ +

First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned two-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLM_GTC_packing
+
+float unpackUnorm1x8(uint8 v)
+
+vec4 unpackUnorm4x8(uint32 p)
+
+GLSL unpackUnorm4x8 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackUnorm3x10_1x2 (uint32 const & p)
+
+ +

First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm3x10_1x2(xyz): clamp(f / 1023.0, 0, +1) unpackSnorm3x10_1x2(w): clamp(f / 3.0, 0, +1)

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLM_GTC_packing
+
+uint32 packSnorm3x10_1x2(vec4 const & v)
+
+vec4 unpackInorm3x10_1x2(uint32 const & p))
+
+uvec4 unpackI3x10_1x2(uint32 const & p)
+
+uvec4 unpackU3x10_1x2(uint32 const & p)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL vec4 glm::unpackUnorm4x16 (uint64 const & p)
+
+ +

First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers.

+

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

+

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnormx4x16: f / 65535.0

+

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

+
See Also
GLM_GTC_packing
+
+float unpackUnorm1x16(uint16 p)
+
+vec2 unpackUnorm2x16(uint32 p)
+
+GLSL unpackUnorm2x16 man page
+
+GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00179.html glm-0.9.5.1/doc/api/a00179.html --- glm-0.9.4.6/doc/api/a00179.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00179.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,343 +1,897 @@ - - - - - -GLM_GTX_intersect - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_intersect
-
-
- - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 
template<typename genType >
bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 
template<typename genType >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
 
-

Detailed Description

-

Add intersection functions.

-

<glm/gtx/intersect.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::intersectLineSphere (genType const & point0,
genType const & point1,
genType const & sphereCenter,
typename genType::value_type sphereRadius,
genType & intersectionPosition1,
genType & intersectionNormal1,
genType & intersectionPosition2 = genType(),
genType & intersectionNormal2 = genType() 
)
-
- -

Compute the intersection of a line and a sphere.

-

From GLM_GTX_intersect extension

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::intersectLineTriangle (genType const & orig,
genType const & dir,
genType const & vert0,
genType const & vert1,
genType const & vert2,
genType & position 
)
-
- -

Compute the intersection of a line and a triangle.

-

From GLM_GTX_intersect extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::intersectRaySphere (genType const & rayStarting,
genType const & rayNormalizedDirection,
genType const & sphereCenter,
const typename genType::value_type sphereRadiusSquered,
typename genType::value_type & intersectionDistance 
)
-
- -

Compute the intersection distance of a ray and a sphere.

-

The ray direction vector is unit length. From GLM_GTX_intersect extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::intersectRaySphere (genType const & rayStarting,
genType const & rayNormalizedDirection,
genType const & sphereCenter,
const typename genType::value_type sphereRadius,
genType & intersectionPosition,
genType & intersectionNormal 
)
-
- -

Compute the intersection of a ray and a sphere.

-

From GLM_GTX_intersect extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::intersectRayTriangle (genType const & orig,
genType const & dir,
genType const & vert0,
genType const & vert1,
genType const & vert2,
genType & baryPosition 
)
-
- -

Compute the intersection of a ray and a triangle.

-

From GLM_GTX_intersect extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_quaternion + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTC_quaternion
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
GLM_FUNC_DECL T angle (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > angleAxis (T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > axis (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > conjugate (detail::tquat< T, P > const &q)
 
template<typename T , precision P, template< typename, precision > class quatType>
GLM_FUNC_DECL T dot (quatType< T, P > const &x, quatType< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
equal (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec3< T, P > eulerAngles (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
greaterThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
greaterThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > inverse (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL T length (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > lerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
lessThan (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
lessThanEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat3x3
+< T, P > 
mat3_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tmat4x4
+< T, P > 
mat4_cast (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > mix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > normalize (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tvec4
+< bool, P > 
notEqual (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_DECL T pitch (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > quat_cast (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > quat_cast (detail::tmat4x4< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL T roll (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > rotate (detail::tquat< T, P > const &q, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
GLM_FUNC_DECL detail::tquat< T, P > slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
GLM_FUNC_DECL T yaw (detail::tquat< T, P > const &x)
 
+

Detailed Description

+

Defines a templated quaternion type and several quaternion operations.

+

<glm/gtc/quaternion.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::angle (detail::tquat< T, P > const & x)
+
+ +

Returns the quaternion rotation angle.

+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tquat<T, P> glm::angleAxis (T const & angle,
detail::tvec3< T, P > const & axis 
)
+
+ +

Build a quaternion from an angle and a normalized axis.

+
Parameters
+ + + +
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisAxis of the quaternion, must be normalized.
+
+
+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tvec3<T, P> glm::axis (detail::tquat< T, P > const & x)
+
+ +

Returns the q rotation axis.

+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tquat<T, P> glm::conjugate (detail::tquat< T, P > const & q)
+
+ +

Returns the q conjugate.

+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL T glm::dot (quatType< T, P > const & x,
quatType< T, P > const & y 
)
+
+ +

Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...

+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tvec4<bool, P> glm::equal (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x == y.

+
Template Parameters
+ + +
quatTypeFloating-point quaternion types.
+
+
+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tvec3<T, P> glm::eulerAngles (detail::tquat< T, P > const & x)
+
+ +

Returns euler angles, yitch as x, yaw as y, roll as z.

+

The result is expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.

+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tvec4<bool, P> glm::greaterThan (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x > y.

+
Template Parameters
+ + +
quatTypeFloating-point quaternion types.
+
+
+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tvec4<bool, P> glm::greaterThanEqual (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x >= y.

+
Template Parameters
+ + +
quatTypeFloating-point quaternion types.
+
+
+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tquat<T, P> glm::inverse (detail::tquat< T, P > const & q)
+
+ +

Returns the q inverse.

+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::length (detail::tquat< T, P > const & q)
+
+ +

Returns the length of the quaternion.

+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tquat<T, P> glm::lerp (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y,
T const & a 
)
+
+ +

Linear interpolation of two quaternions.

+

The interpolation is oriented.

+
Parameters
+ + + + +
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined in the range [0, 1].
+
+
+
Template Parameters
+ + +
TValue type used to build the quaternion. Supported: half, float or double.
+
+
+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tvec4<bool, P> glm::lessThan (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y 
)
+
+ +

Returns the component-wise comparison result of x < y.

+
Template Parameters
+ + +
quatTypeFloating-point quaternion types.
+
+
+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tvec4<bool, P> glm::lessThanEqual (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x <= y.

+
Template Parameters
+ + +
quatTypeFloating-point quaternion types.
+
+
+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat3x3<T, P> glm::mat3_cast (detail::tquat< T, P > const & x)
+
+ +

Converts a quaternion to a 3 * 3 matrix.

+
See Also
GLM_GTC_quaternion
+ +

Referenced by glm::toMat3().

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, P> glm::mat4_cast (detail::tquat< T, P > const & x)
+
+ +

Converts a quaternion to a 4 * 4 matrix.

+
See Also
GLM_GTC_quaternion
+ +

Referenced by glm::toMat4().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tquat<T, P> glm::mix (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y,
T const & a 
)
+
+ +

Spherical linear interpolation of two quaternions.

+

The interpolation is oriented and the rotation is performed at constant speed. For short path spherical linear interpolation, use the slerp function.

+
Parameters
+ + + + +
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
+
+
+
Template Parameters
+ + +
TValue type used to build the quaternion. Supported: half, float or double.
+
+
+
See Also
GLM_GTC_quaternion
+
+- slerp(detail::tquat<T, P> const & x, detail::tquat<T, P> const & y, T const & a)
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tquat<T, P> glm::normalize (detail::tquat< T, P > const & q)
+
+ +

Returns the normalized quaternion.

+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tvec4<bool, P> glm::notEqual (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y 
)
+
+ +

Returns the component-wise comparison of result x != y.

+
Template Parameters
+ + +
quatTypeFloating-point quaternion types.
+
+
+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::pitch (detail::tquat< T, P > const & x)
+
+ +

Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tquat<T, P> glm::quat_cast (detail::tmat3x3< T, P > const & x)
+
+ +

Converts a 3 * 3 matrix to a quaternion.

+
See Also
GLM_GTC_quaternion
+ +

Referenced by glm::toQuat().

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tquat<T, P> glm::quat_cast (detail::tmat4x4< T, P > const & x)
+
+ +

Converts a 4 * 4 matrix to a quaternion.

+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::roll (detail::tquat< T, P > const & x)
+
+ +

Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tquat<T, P> glm::rotate (detail::tquat< T, P > const & q,
T const & angle,
detail::tvec3< T, P > const & axis 
)
+
+ +

Rotates a quaternion from a vector of 3 components axis and an angle.

+
Parameters
+ + + + +
qSource orientation
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisAxis of the rotation
+
+
+
See Also
GLM_GTC_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL detail::tquat<T, P> glm::slerp (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y,
T const & a 
)
+
+ +

Spherical linear interpolation of two quaternions.

+

The interpolation always take the short path and the rotation is performed at constant speed.

+
Parameters
+ + + + +
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
+
+
+
Template Parameters
+ + +
TValue type used to build the quaternion. Supported: half, float or double.
+
+
+
See Also
GLM_GTC_quaternion
+

Spherical linear interpolation of two quaternions.

+ +

Definition at line 73 of file compatibility.hpp.

+ +

References glm::mix().

+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL T glm::yaw (detail::tquat< T, P > const & x)
+
+ +

Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is defined or degrees otherwise.

+
See Also
GLM_GTX_quaternion
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00180.html glm-0.9.5.1/doc/api/a00180.html --- glm-0.9.4.6/doc/api/a00180.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00180.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,90 +1,263 @@ - - - - - -GLM_GTX_log_base - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_log_base
-
-
- - - - - -

-Functions

template<typename genType >
genType log (genType const &x, genType const &base)
 
-

Detailed Description

-

Logarithm for any base.

-

base can be a vector or a scalar.

-

<glm/gtx/log_base.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::log (genType const & x,
genType const & base 
)
-
- -

Logarithm for any base.

-

From GLM_GTX_log_base.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_random + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
+defaultp > 
ballRand (T const &Radius)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
+defaultp > 
circularRand (T const &Radius)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
+defaultp > 
diskRand (T const &Radius)
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType const &Mean, genType const &Deviation)
 
template<typename genType >
GLM_FUNC_DECL genType linearRand (genType const &Min, genType const &Max)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
+defaultp > 
sphericalRand (T const &Radius)
 
+

Detailed Description

+

Generate random number from various distribution methods.

+

<glm/gtc/random.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tvec3<T, defaultp> glm::ballRand (T const & Radius)
+
+ +

Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of a given radius.

+
Parameters
+ + +
Radius
+
+
+
See Also
GLM_GTC_random
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tvec2<T, defaultp> glm::circularRand (T const & Radius)
+
+ +

Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius.

+
Parameters
+ + +
Radius
+
+
+
See Also
GLM_GTC_random
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tvec2<T, defaultp> glm::diskRand (T const & Radius)
+
+ +

Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a given radius.

+
Parameters
+ + +
Radius
+
+
+
See Also
GLM_GTC_random
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::gaussRand (genType const & Mean,
genType const & Deviation 
)
+
+ +

Generate random numbers in the interval [Min, Max], according a gaussian distribution.

+
Parameters
+ + + +
Mean
Deviation
+
+
+
See Also
GLM_GTC_random
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::linearRand (genType const & Min,
genType const & Max 
)
+
+ +

Generate random numbers in the interval [Min, Max], according a linear distribution.

+
Parameters
+ + + +
Min
Max
+
+
+
Template Parameters
+ + +
genTypeValue type. Currently supported: half (not recommanded), float or double scalars and vectors.
+
+
+
See Also
GLM_GTC_random
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tvec3<T, defaultp> glm::sphericalRand (T const & Radius)
+
+ +

Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius.

+
Parameters
+ + +
Radius
+
+
+
See Also
GLM_GTC_random
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00181.html glm-0.9.5.1/doc/api/a00181.html --- glm-0.9.4.6/doc/api/a00181.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00181.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,101 +1,330 @@ - - - - - -GLM_GTX_matrix_cross_product - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_matrix_cross_product
-
-
- - - - - - - - -

-Functions

template<typename T >
detail::tmat3x3< T > matrixCross3 (detail::tvec3< T > const &x)
 
template<typename T >
detail::tmat4x4< T > matrixCross4 (detail::tvec3< T > const &x)
 
-

Detailed Description

-

Build cross product matrices.

-

<glm/gtx/matrix_cross_product.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
detail::tmat3x3<T> glm::matrixCross3 (detail::tvec3< T > const & x)
-
- -

Build a cross product matrix.

-

From GLM_GTX_matrix_cross_product extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T> glm::matrixCross4 (detail::tvec3< T > const & x)
-
- -

Build a cross product matrix.

-

From GLM_GTX_matrix_cross_product extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_reciprocal + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTC_reciprocal
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType acot (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acoth (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsc (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType acsch (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asec (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType asech (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csc (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType csch (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType const &angle)
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType const &angle)
 
+

Detailed Description

+

Define secant, cosecant and cotangent functions.

+

<glm/gtc/reciprocal.hpp> need to be included to use these features.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::acot (genType const & x)
+
+ +

Inverse cotangent function.

+
See Also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::acoth (genType const & x)
+
+ +

Inverse cotangent hyperbolic function.

+
See Also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::acsc (genType const & x)
+
+ +

Inverse cosecant function.

+
See Also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::acsch (genType const & x)
+
+ +

Inverse cosecant hyperbolic function.

+
See Also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::asec (genType const & x)
+
+ +

Inverse secant function.

+
See Also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::asech (genType const & x)
+
+ +

Inverse secant hyperbolic function.

+
See Also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::cot (genType const & angle)
+
+ +

Cotangent function.

+

adjacent / opposite or 1 / tan(x)

+
See Also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::coth (genType const & angle)
+
+ +

Cotangent hyperbolic function.

+
See Also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::csc (genType const & angle)
+
+ +

Cosecant function.

+

hypotenuse / opposite or 1 / sin(x)

+
See Also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::csch (genType const & angle)
+
+ +

Cosecant hyperbolic function.

+
See Also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::sec (genType const & angle)
+
+ +

Secant function.

+

hypotenuse / adjacent or 1 / cos(x)

+
See Also
GLM_GTC_reciprocal
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::sech (genType const & angle)
+
+ +

Secant hyperbolic function.

+
See Also
GLM_GTC_reciprocal
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00182.html glm-0.9.5.1/doc/api/a00182.html --- glm-0.9.4.6/doc/api/a00182.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00182.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,187 +1,8958 @@ - - - - - -GLM_GTX_matrix_interpolation - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_matrix_interpolation
-
-
- - - - - - - - - - - - - - -

-Functions

template<typename T >
void axisAngle (detail::tmat4x4< T > const &mat, detail::tvec3< T > &axis, T &angle)
 
template<typename T >
detail::tmat4x4< T > axisAngleMatrix (detail::tvec3< T > const &axis, T const angle)
 
template<typename T >
detail::tmat4x4< T > extractMatrixRotation (detail::tmat4x4< T > const &mat)
 
template<typename T >
detail::tmat4x4< T > interpolate (detail::tmat4x4< T > const &m1, detail::tmat4x4< T > const &m2, T const delta)
 
-

Detailed Description

-

Allows to directly interpolate two exiciting matrices.

-

<glm/gtx/matrix_interpolation.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void glm::axisAngle (detail::tmat4x4< T > const & mat,
detail::tvec3< T > & axis,
T & angle 
)
-
- -

Get the axis and angle of the rotation from a matrix.

-

From GLM_GTX_matrix_interpolation extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::axisAngleMatrix (detail::tvec3< T > const & axis,
T const angle 
)
-
- -

Build a matrix from axis and angle.

-

From GLM_GTX_matrix_interpolation extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T> glm::extractMatrixRotation (detail::tmat4x4< T > const & mat)
-
- -

Extracts the rotation part of a matrix.

-

From GLM_GTX_matrix_interpolation extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::interpolate (detail::tmat4x4< T > const & m1,
detail::tmat4x4< T > const & m2,
T const delta 
)
-
- -

Build a interpolation of 4 * 4 matrixes.

-

From GLM_GTX_matrix_interpolation extension. Warning! works only with rotation and/or translation matrixes, scale will generate unexpected results.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_type_precision + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTC_type_precision
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_float32_t f32
 
typedef f32mat2x2 f32mat2
 
typedef highp_f32mat2x2 f32mat2x2
 
typedef highp_f32mat2x3 f32mat2x3
 
typedef highp_f32mat2x4 f32mat2x4
 
typedef f32mat3x3 f32mat3
 
typedef highp_f32mat3x2 f32mat3x2
 
typedef highp_f32mat3x3 f32mat3x3
 
typedef highp_f32mat3x4 f32mat3x4
 
typedef f32mat4x4 f32mat4
 
typedef highp_f32mat4x2 f32mat4x2
 
typedef highp_f32mat4x3 f32mat4x3
 
typedef highp_f32mat4x4 f32mat4x4
 
typedef highp_f32quat f32quat
 
typedef highp_f32vec1 f32vec1
 
typedef highp_f32vec2 f32vec2
 
typedef highp_f32vec3 f32vec3
 
typedef highp_f32vec4 f32vec4
 
typedef highp_float64_t f64
 
typedef f64mat2x2 f64mat2
 
typedef highp_f64mat2x2 f64mat2x2
 
typedef highp_f64mat2x3 f64mat2x3
 
typedef highp_f64mat2x4 f64mat2x4
 
typedef f64mat3x3 f64mat3
 
typedef highp_f64mat3x2 f64mat3x2
 
typedef highp_f64mat3x3 f64mat3x3
 
typedef highp_f64mat3x4 f64mat3x4
 
typedef f64mat4x4 f64mat4
 
typedef highp_f64mat4x2 f64mat4x2
 
typedef highp_f64mat4x3 f64mat4x3
 
typedef highp_f64mat4x4 f64mat4x4
 
typedef highp_f64quat f64quat
 
typedef highp_f64vec1 f64vec1
 
typedef highp_f64vec2 f64vec2
 
typedef highp_f64vec3 f64vec3
 
typedef highp_f64vec4 f64vec4
 
typedef float float32
 
typedef highp_float32_t float32_t
 
typedef double float64
 
typedef highp_float64_t float64_t
 
typedef fmat2x2 fmat2
 
typedef highp_f32mat2x2 fmat2x2
 
typedef highp_f32mat2x3 fmat2x3
 
typedef highp_f32mat2x4 fmat2x4
 
typedef fmat3x3 fmat3
 
typedef highp_f32mat3x2 fmat3x2
 
typedef highp_f32mat3x3 fmat3x3
 
typedef highp_f32mat3x4 fmat3x4
 
typedef fmat4x4 fmat4
 
typedef highp_f32mat4x2 fmat4x2
 
typedef highp_f32mat4x3 fmat4x3
 
typedef highp_f32mat4x4 fmat4x4
 
typedef quat fquat
 
typedef highp_f32vec1 fvec1
 
typedef highp_f32vec2 fvec2
 
typedef highp_f32vec3 fvec3
 
typedef highp_f32vec4 fvec4
 
typedef float32 highp_f32
 
typedef highp_f32mat2x2 highp_f32mat2
 
typedef detail::tmat2x2< f32,
+highp > 
highp_f32mat2x2
 
typedef detail::tmat2x3< f32,
+highp > 
highp_f32mat2x3
 
typedef detail::tmat2x4< f32,
+highp > 
highp_f32mat2x4
 
typedef highp_f32mat3x3 highp_f32mat3
 
typedef detail::tmat3x2< f32,
+highp > 
highp_f32mat3x2
 
typedef detail::tmat3x3< f32,
+highp > 
highp_f32mat3x3
 
typedef detail::tmat3x4< f32,
+highp > 
highp_f32mat3x4
 
typedef highp_f32mat4x4 highp_f32mat4
 
typedef detail::tmat4x2< f32,
+highp > 
highp_f32mat4x2
 
typedef detail::tmat4x3< f32,
+highp > 
highp_f32mat4x3
 
typedef detail::tmat4x4< f32,
+highp > 
highp_f32mat4x4
 
typedef detail::tquat< f32, highp > highp_f32quat
 
typedef detail::tvec1< f32, highp > highp_f32vec1
 
typedef detail::tvec2< f32, highp > highp_f32vec2
 
typedef detail::tvec3< f32, highp > highp_f32vec3
 
typedef detail::tvec4< f32, highp > highp_f32vec4
 
typedef float64 highp_f64
 
typedef highp_f64mat2x2 highp_f64mat2
 
typedef detail::tmat2x2< f64,
+highp > 
highp_f64mat2x2
 
typedef detail::tmat2x3< f64,
+highp > 
highp_f64mat2x3
 
typedef detail::tmat2x4< f64,
+highp > 
highp_f64mat2x4
 
typedef highp_f64mat3x3 highp_f64mat3
 
typedef detail::tmat3x2< f64,
+highp > 
highp_f64mat3x2
 
typedef detail::tmat3x3< f64,
+highp > 
highp_f64mat3x3
 
typedef detail::tmat3x4< f64,
+highp > 
highp_f64mat3x4
 
typedef highp_f64mat4x4 highp_f64mat4
 
typedef detail::tmat4x2< f64,
+highp > 
highp_f64mat4x2
 
typedef detail::tmat4x3< f64,
+highp > 
highp_f64mat4x3
 
typedef detail::tmat4x4< f64,
+highp > 
highp_f64mat4x4
 
typedef detail::tquat< f64, highp > highp_f64quat
 
typedef detail::tvec1< f64, highp > highp_f64vec1
 
typedef detail::tvec2< f64, highp > highp_f64vec2
 
typedef detail::tvec3< f64, highp > highp_f64vec3
 
typedef detail::tvec4< f64, highp > highp_f64vec4
 
typedef detail::float32 highp_float32
 
typedef detail::float32 highp_float32_t
 
typedef detail::float64 highp_float64
 
typedef detail::float64 highp_float64_t
 
typedef highp_fmat2x2 highp_fmat2
 
typedef detail::tmat2x2< f32,
+highp > 
highp_fmat2x2
 
typedef detail::tmat2x3< f32,
+highp > 
highp_fmat2x3
 
typedef detail::tmat2x4< f32,
+highp > 
highp_fmat2x4
 
typedef highp_fmat3x3 highp_fmat3
 
typedef detail::tmat3x2< f32,
+highp > 
highp_fmat3x2
 
typedef detail::tmat3x3< f32,
+highp > 
highp_fmat3x3
 
typedef detail::tmat3x4< f32,
+highp > 
highp_fmat3x4
 
typedef highp_fmat4x4 highp_fmat4
 
typedef detail::tmat4x2< f32,
+highp > 
highp_fmat4x2
 
typedef detail::tmat4x3< f32,
+highp > 
highp_fmat4x3
 
typedef detail::tmat4x4< f32,
+highp > 
highp_fmat4x4
 
typedef detail::tvec1< float,
+highp > 
highp_fvec1
 
typedef detail::tvec2< float,
+highp > 
highp_fvec2
 
typedef detail::tvec3< float,
+highp > 
highp_fvec3
 
typedef detail::tvec4< float,
+highp > 
highp_fvec4
 
typedef detail::int16 highp_i16
 
typedef detail::tvec1< i16, highp > highp_i16vec1
 
typedef detail::tvec2< i16, highp > highp_i16vec2
 
typedef detail::tvec3< i16, highp > highp_i16vec3
 
typedef detail::tvec4< i16, highp > highp_i16vec4
 
typedef detail::int32 highp_i32
 
typedef detail::tvec1< i32, highp > highp_i32vec1
 
typedef detail::tvec2< i32, highp > highp_i32vec2
 
typedef detail::tvec3< i32, highp > highp_i32vec3
 
typedef detail::tvec4< i32, highp > highp_i32vec4
 
typedef detail::int64 highp_i64
 
typedef detail::tvec1< i64, highp > highp_i64vec1
 
typedef detail::tvec2< i64, highp > highp_i64vec2
 
typedef detail::tvec3< i64, highp > highp_i64vec3
 
typedef detail::tvec4< i64, highp > highp_i64vec4
 
typedef detail::int8 highp_i8
 
typedef detail::tvec1< i8, highp > highp_i8vec1
 
typedef detail::tvec2< i8, highp > highp_i8vec2
 
typedef detail::tvec3< i8, highp > highp_i8vec3
 
typedef detail::tvec4< i8, highp > highp_i8vec4
 
typedef detail::int16 highp_int16
 
typedef detail::int16 highp_int16_t
 
typedef detail::int32 highp_int32
 
typedef detail::int32 highp_int32_t
 
typedef detail::int64 highp_int64
 
typedef detail::int64 highp_int64_t
 
typedef detail::int8 highp_int8
 
typedef detail::int8 highp_int8_t
 
typedef detail::uint16 highp_u16
 
typedef detail::tvec1< u16, highp > highp_u16vec1
 
typedef detail::tvec2< u16, highp > highp_u16vec2
 
typedef detail::tvec3< u16, highp > highp_u16vec3
 
typedef detail::tvec4< u16, highp > highp_u16vec4
 
typedef detail::uint32 highp_u32
 
typedef detail::tvec1< u32, highp > highp_u32vec1
 
typedef detail::tvec2< u32, highp > highp_u32vec2
 
typedef detail::tvec3< u32, highp > highp_u32vec3
 
typedef detail::tvec4< u32, highp > highp_u32vec4
 
typedef detail::uint64 highp_u64
 
typedef detail::tvec1< u64, highp > highp_u64vec1
 
typedef detail::tvec2< u64, highp > highp_u64vec2
 
typedef detail::tvec3< u64, highp > highp_u64vec3
 
typedef detail::tvec4< u64, highp > highp_u64vec4
 
typedef detail::uint8 highp_u8
 
typedef detail::tvec1< u8, highp > highp_u8vec1
 
typedef detail::tvec2< u8, highp > highp_u8vec2
 
typedef detail::tvec3< u8, highp > highp_u8vec3
 
typedef detail::tvec4< u8, highp > highp_u8vec4
 
typedef detail::uint16 highp_uint16
 
typedef detail::uint16 highp_uint16_t
 
typedef detail::uint32 highp_uint32
 
typedef detail::uint32 highp_uint32_t
 
typedef detail::uint64 highp_uint64
 
typedef detail::uint64 highp_uint64_t
 
typedef detail::uint8 highp_uint8
 
typedef detail::uint8 highp_uint8_t
 
typedef detail::tvec1< float,
+highp > 
highp_vec1
 
typedef detail::int16 i16
 
typedef highp_i16vec1 i16vec1
 
typedef highp_i16vec2 i16vec2
 
typedef highp_i16vec3 i16vec3
 
typedef highp_i16vec4 i16vec4
 
typedef detail::int32 i32
 
typedef highp_i32vec1 i32vec1
 
typedef highp_i32vec2 i32vec2
 
typedef highp_i32vec3 i32vec3
 
typedef highp_i32vec4 i32vec4
 
typedef detail::int64 i64
 
typedef highp_i64vec1 i64vec1
 
typedef highp_i64vec2 i64vec2
 
typedef highp_i64vec3 i64vec3
 
typedef highp_i64vec4 i64vec4
 
typedef detail::int8 i8
 
typedef highp_i8vec1 i8vec1
 
typedef highp_i8vec2 i8vec2
 
typedef highp_i8vec3 i8vec3
 
typedef highp_i8vec4 i8vec4
 
typedef detail::int16 int16
 
typedef detail::int16 int16_t
 
typedef detail::int32 int32
 
typedef detail::int32 int32_t
 
typedef detail::int64 int64
 
typedef detail::int64 int64_t
 
typedef detail::int8 int8
 
typedef detail::int8 int8_t
 
typedef float32 lowp_f32
 
typedef lowp_f32mat2x2 lowp_f32mat2
 
typedef detail::tmat2x2< f32,
+lowp > 
lowp_f32mat2x2
 
typedef detail::tmat2x3< f32,
+lowp > 
lowp_f32mat2x3
 
typedef detail::tmat2x4< f32,
+lowp > 
lowp_f32mat2x4
 
typedef lowp_f32mat3x3 lowp_f32mat3
 
typedef detail::tmat3x2< f32,
+lowp > 
lowp_f32mat3x2
 
typedef detail::tmat3x3< f32,
+lowp > 
lowp_f32mat3x3
 
typedef detail::tmat3x4< f32,
+lowp > 
lowp_f32mat3x4
 
typedef lowp_f32mat4x4 lowp_f32mat4
 
typedef detail::tmat4x2< f32,
+lowp > 
lowp_f32mat4x2
 
typedef detail::tmat4x3< f32,
+lowp > 
lowp_f32mat4x3
 
typedef detail::tmat4x4< f32,
+lowp > 
lowp_f32mat4x4
 
typedef detail::tquat< f32, lowp > lowp_f32quat
 
typedef detail::tvec1< f32, lowp > lowp_f32vec1
 
typedef detail::tvec2< f32, lowp > lowp_f32vec2
 
typedef detail::tvec3< f32, lowp > lowp_f32vec3
 
typedef detail::tvec4< f32, lowp > lowp_f32vec4
 
typedef float64 lowp_f64
 
typedef lowp_f64mat2x2 lowp_f64mat2
 
typedef detail::tmat2x2< f64,
+lowp > 
lowp_f64mat2x2
 
typedef detail::tmat2x3< f64,
+lowp > 
lowp_f64mat2x3
 
typedef detail::tmat2x4< f64,
+lowp > 
lowp_f64mat2x4
 
typedef lowp_f64mat3x3 lowp_f64mat3
 
typedef detail::tmat3x2< f64,
+lowp > 
lowp_f64mat3x2
 
typedef detail::tmat3x3< f64,
+lowp > 
lowp_f64mat3x3
 
typedef detail::tmat3x4< f64,
+lowp > 
lowp_f64mat3x4
 
typedef lowp_f64mat4x4 lowp_f64mat4
 
typedef detail::tmat4x2< f64,
+lowp > 
lowp_f64mat4x2
 
typedef detail::tmat4x3< f64,
+lowp > 
lowp_f64mat4x3
 
typedef detail::tmat4x4< f64,
+lowp > 
lowp_f64mat4x4
 
typedef detail::tquat< f64, lowp > lowp_f64quat
 
typedef detail::tvec1< f64, lowp > lowp_f64vec1
 
typedef detail::tvec2< f64, lowp > lowp_f64vec2
 
typedef detail::tvec3< f64, lowp > lowp_f64vec3
 
typedef detail::tvec4< f64, lowp > lowp_f64vec4
 
typedef detail::float32 lowp_float32
 
typedef detail::float32 lowp_float32_t
 
typedef detail::float64 lowp_float64
 
typedef detail::float64 lowp_float64_t
 
typedef lowp_fmat2x2 lowp_fmat2
 
typedef detail::tmat2x2< f32,
+lowp > 
lowp_fmat2x2
 
typedef detail::tmat2x3< f32,
+lowp > 
lowp_fmat2x3
 
typedef detail::tmat2x4< f32,
+lowp > 
lowp_fmat2x4
 
typedef lowp_fmat3x3 lowp_fmat3
 
typedef detail::tmat3x2< f32,
+lowp > 
lowp_fmat3x2
 
typedef detail::tmat3x3< f32,
+lowp > 
lowp_fmat3x3
 
typedef detail::tmat3x4< f32,
+lowp > 
lowp_fmat3x4
 
typedef lowp_fmat4x4 lowp_fmat4
 
typedef detail::tmat4x2< f32,
+lowp > 
lowp_fmat4x2
 
typedef detail::tmat4x3< f32,
+lowp > 
lowp_fmat4x3
 
typedef detail::tmat4x4< f32,
+lowp > 
lowp_fmat4x4
 
typedef detail::tvec1< float,
+lowp > 
lowp_fvec1
 
typedef detail::tvec2< float,
+lowp > 
lowp_fvec2
 
typedef detail::tvec3< float,
+lowp > 
lowp_fvec3
 
typedef detail::tvec4< float,
+lowp > 
lowp_fvec4
 
typedef detail::int16 lowp_i16
 
typedef detail::tvec1< i16, lowp > lowp_i16vec1
 
typedef detail::tvec2< i16, lowp > lowp_i16vec2
 
typedef detail::tvec3< i16, lowp > lowp_i16vec3
 
typedef detail::tvec4< i16, lowp > lowp_i16vec4
 
typedef detail::int32 lowp_i32
 
typedef detail::tvec1< i32, lowp > lowp_i32vec1
 
typedef detail::tvec2< i32, lowp > lowp_i32vec2
 
typedef detail::tvec3< i32, lowp > lowp_i32vec3
 
typedef detail::tvec4< i32, lowp > lowp_i32vec4
 
typedef detail::int64 lowp_i64
 
typedef detail::tvec1< i64, lowp > lowp_i64vec1
 
typedef detail::tvec2< i64, lowp > lowp_i64vec2
 
typedef detail::tvec3< i64, lowp > lowp_i64vec3
 
typedef detail::tvec4< i64, lowp > lowp_i64vec4
 
typedef detail::int8 lowp_i8
 
typedef detail::tvec1< i8, lowp > lowp_i8vec1
 
typedef detail::tvec2< i8, lowp > lowp_i8vec2
 
typedef detail::tvec3< i8, lowp > lowp_i8vec3
 
typedef detail::tvec4< i8, lowp > lowp_i8vec4
 
typedef detail::int16 lowp_int16
 
typedef detail::int16 lowp_int16_t
 
typedef detail::int32 lowp_int32
 
typedef detail::int32 lowp_int32_t
 
typedef detail::int64 lowp_int64
 
typedef detail::int64 lowp_int64_t
 
typedef detail::int8 lowp_int8
 
typedef detail::int8 lowp_int8_t
 
typedef detail::uint16 lowp_u16
 
typedef detail::tvec1< u16, lowp > lowp_u16vec1
 
typedef detail::tvec2< u16, lowp > lowp_u16vec2
 
typedef detail::tvec3< u16, lowp > lowp_u16vec3
 
typedef detail::tvec4< u16, lowp > lowp_u16vec4
 
typedef detail::uint32 lowp_u32
 
typedef detail::tvec1< u32, lowp > lowp_u32vec1
 
typedef detail::tvec2< u32, lowp > lowp_u32vec2
 
typedef detail::tvec3< u32, lowp > lowp_u32vec3
 
typedef detail::tvec4< u32, lowp > lowp_u32vec4
 
typedef detail::uint64 lowp_u64
 
typedef detail::tvec1< u64, lowp > lowp_u64vec1
 
typedef detail::tvec2< u64, lowp > lowp_u64vec2
 
typedef detail::tvec3< u64, lowp > lowp_u64vec3
 
typedef detail::tvec4< u64, lowp > lowp_u64vec4
 
typedef detail::uint8 lowp_u8
 
typedef detail::tvec1< u8, lowp > lowp_u8vec1
 
typedef detail::tvec2< u8, lowp > lowp_u8vec2
 
typedef detail::tvec3< u8, lowp > lowp_u8vec3
 
typedef detail::tvec4< u8, lowp > lowp_u8vec4
 
typedef detail::uint16 lowp_uint16
 
typedef detail::uint16 lowp_uint16_t
 
typedef detail::uint32 lowp_uint32
 
typedef detail::uint32 lowp_uint32_t
 
typedef detail::uint64 lowp_uint64
 
typedef detail::uint64 lowp_uint64_t
 
typedef detail::uint8 lowp_uint8
 
typedef detail::uint8 lowp_uint8_t
 
typedef detail::tvec1< float,
+lowp > 
lowp_vec1
 
typedef float32 mediump_f32
 
typedef mediump_f32mat2x2 mediump_f32mat2
 
typedef detail::tmat2x2< f32,
+mediump > 
mediump_f32mat2x2
 
typedef detail::tmat2x3< f32,
+mediump > 
mediump_f32mat2x3
 
typedef detail::tmat2x4< f32,
+mediump > 
mediump_f32mat2x4
 
typedef mediump_f32mat3x3 mediump_f32mat3
 
typedef detail::tmat3x2< f32,
+mediump > 
mediump_f32mat3x2
 
typedef detail::tmat3x3< f32,
+mediump > 
mediump_f32mat3x3
 
typedef detail::tmat3x4< f32,
+mediump > 
mediump_f32mat3x4
 
typedef mediump_f32mat4x4 mediump_f32mat4
 
typedef detail::tmat4x2< f32,
+mediump > 
mediump_f32mat4x2
 
typedef detail::tmat4x3< f32,
+mediump > 
mediump_f32mat4x3
 
typedef detail::tmat4x4< f32,
+mediump > 
mediump_f32mat4x4
 
typedef detail::tquat< f32,
+mediump > 
mediump_f32quat
 
typedef detail::tvec1< f32,
+mediump > 
mediump_f32vec1
 
typedef detail::tvec2< f32,
+mediump > 
mediump_f32vec2
 
typedef detail::tvec3< f32,
+mediump > 
mediump_f32vec3
 
typedef detail::tvec4< f32,
+mediump > 
mediump_f32vec4
 
typedef float64 mediump_f64
 
typedef mediump_f64mat2x2 mediump_f64mat2
 
typedef detail::tmat2x2< f64,
+mediump > 
mediump_f64mat2x2
 
typedef detail::tmat2x3< f64,
+mediump > 
mediump_f64mat2x3
 
typedef detail::tmat2x4< f64,
+mediump > 
mediump_f64mat2x4
 
typedef mediump_f64mat3x3 mediump_f64mat3
 
typedef detail::tmat3x2< f64,
+mediump > 
mediump_f64mat3x2
 
typedef detail::tmat3x3< f64,
+mediump > 
mediump_f64mat3x3
 
typedef detail::tmat3x4< f64,
+mediump > 
mediump_f64mat3x4
 
typedef mediump_f64mat4x4 mediump_f64mat4
 
typedef detail::tmat4x2< f64,
+mediump > 
mediump_f64mat4x2
 
typedef detail::tmat4x3< f64,
+mediump > 
mediump_f64mat4x3
 
typedef detail::tmat4x4< f64,
+mediump > 
mediump_f64mat4x4
 
typedef detail::tquat< f64,
+mediump > 
mediump_f64quat
 
typedef detail::tvec1< f64,
+mediump > 
mediump_f64vec1
 
typedef detail::tvec2< f64,
+mediump > 
mediump_f64vec2
 
typedef detail::tvec3< f64,
+mediump > 
mediump_f64vec3
 
typedef detail::tvec4< f64,
+mediump > 
mediump_f64vec4
 
typedef detail::float32 mediump_float32
 
typedef detail::float32 mediump_float32_t
 
typedef detail::float64 mediump_float64
 
typedef detail::float64 mediump_float64_t
 
typedef mediump_fmat2x2 mediump_fmat2
 
typedef detail::tmat2x2< f32,
+mediump > 
mediump_fmat2x2
 
typedef detail::tmat2x3< f32,
+mediump > 
mediump_fmat2x3
 
typedef detail::tmat2x4< f32,
+mediump > 
mediump_fmat2x4
 
typedef mediump_fmat3x3 mediump_fmat3
 
typedef detail::tmat3x2< f32,
+mediump > 
mediump_fmat3x2
 
typedef detail::tmat3x3< f32,
+mediump > 
mediump_fmat3x3
 
typedef detail::tmat3x4< f32,
+mediump > 
mediump_fmat3x4
 
typedef mediump_fmat4x4 mediump_fmat4
 
typedef detail::tmat4x2< f32,
+mediump > 
mediump_fmat4x2
 
typedef detail::tmat4x3< f32,
+mediump > 
mediump_fmat4x3
 
typedef detail::tmat4x4< f32,
+mediump > 
mediump_fmat4x4
 
typedef detail::tvec1< float,
+mediump > 
mediump_fvec1
 
typedef detail::tvec2< float,
+mediump > 
mediump_fvec2
 
typedef detail::tvec3< float,
+mediump > 
mediump_fvec3
 
typedef detail::tvec4< float,
+mediump > 
mediump_fvec4
 
typedef detail::int16 mediump_i16
 
typedef detail::tvec1< i16,
+mediump > 
mediump_i16vec1
 
typedef detail::tvec2< i16,
+mediump > 
mediump_i16vec2
 
typedef detail::tvec3< i16,
+mediump > 
mediump_i16vec3
 
typedef detail::tvec4< i16,
+mediump > 
mediump_i16vec4
 
typedef detail::int32 mediump_i32
 
typedef detail::tvec1< i32,
+mediump > 
mediump_i32vec1
 
typedef detail::tvec2< i32,
+mediump > 
mediump_i32vec2
 
typedef detail::tvec3< i32,
+mediump > 
mediump_i32vec3
 
typedef detail::tvec4< i32,
+mediump > 
mediump_i32vec4
 
typedef detail::int64 mediump_i64
 
typedef detail::tvec1< i64,
+mediump > 
mediump_i64vec1
 
typedef detail::tvec2< i64,
+mediump > 
mediump_i64vec2
 
typedef detail::tvec3< i64,
+mediump > 
mediump_i64vec3
 
typedef detail::tvec4< i64,
+mediump > 
mediump_i64vec4
 
typedef detail::int8 mediump_i8
 
typedef detail::tvec1< i8,
+mediump > 
mediump_i8vec1
 
typedef detail::tvec2< i8,
+mediump > 
mediump_i8vec2
 
typedef detail::tvec3< i8,
+mediump > 
mediump_i8vec3
 
typedef detail::tvec4< i8,
+mediump > 
mediump_i8vec4
 
typedef detail::int16 mediump_int16
 
typedef detail::int16 mediump_int16_t
 
typedef detail::int32 mediump_int32
 
typedef detail::int32 mediump_int32_t
 
typedef detail::int64 mediump_int64
 
typedef detail::int64 mediump_int64_t
 
typedef detail::int8 mediump_int8
 
typedef detail::int8 mediump_int8_t
 
typedef detail::uint16 mediump_u16
 
typedef detail::tvec1< u16,
+mediump > 
mediump_u16vec1
 
typedef detail::tvec2< u16,
+mediump > 
mediump_u16vec2
 
typedef detail::tvec3< u16,
+mediump > 
mediump_u16vec3
 
typedef detail::tvec4< u16,
+mediump > 
mediump_u16vec4
 
typedef detail::uint32 mediump_u32
 
typedef detail::tvec1< u32,
+mediump > 
mediump_u32vec1
 
typedef detail::tvec2< u32,
+mediump > 
mediump_u32vec2
 
typedef detail::tvec3< u32,
+mediump > 
mediump_u32vec3
 
typedef detail::tvec4< u32,
+mediump > 
mediump_u32vec4
 
typedef detail::uint64 mediump_u64
 
typedef detail::tvec1< u64,
+mediump > 
mediump_u64vec1
 
typedef detail::tvec2< u64,
+mediump > 
mediump_u64vec2
 
typedef detail::tvec3< u64,
+mediump > 
mediump_u64vec3
 
typedef detail::tvec4< u64,
+mediump > 
mediump_u64vec4
 
typedef detail::uint8 mediump_u8
 
typedef detail::tvec1< u8,
+mediump > 
mediump_u8vec1
 
typedef detail::tvec2< u8,
+mediump > 
mediump_u8vec2
 
typedef detail::tvec3< u8,
+mediump > 
mediump_u8vec3
 
typedef detail::tvec4< u8,
+mediump > 
mediump_u8vec4
 
typedef detail::uint16 mediump_uint16
 
typedef detail::uint16 mediump_uint16_t
 
typedef detail::uint32 mediump_uint32
 
typedef detail::uint32 mediump_uint32_t
 
typedef detail::uint64 mediump_uint64
 
typedef detail::uint64 mediump_uint64_t
 
typedef detail::uint8 mediump_uint8
 
typedef detail::uint8 mediump_uint8_t
 
typedef detail::tvec1< float,
+mediump > 
mediump_vec1
 
typedef detail::uint16 u16
 
typedef highp_u16vec1 u16vec1
 
typedef highp_u16vec2 u16vec2
 
typedef highp_u16vec3 u16vec3
 
typedef highp_u16vec4 u16vec4
 
typedef detail::uint32 u32
 
typedef highp_u32vec1 u32vec1
 
typedef highp_u32vec2 u32vec2
 
typedef highp_u32vec3 u32vec3
 
typedef highp_u32vec4 u32vec4
 
typedef detail::uint64 u64
 
typedef highp_u64vec1 u64vec1
 
typedef highp_u64vec2 u64vec2
 
typedef highp_u64vec3 u64vec3
 
typedef highp_u64vec4 u64vec4
 
typedef detail::uint8 u8
 
typedef highp_u8vec1 u8vec1
 
typedef highp_u8vec2 u8vec2
 
typedef highp_u8vec3 u8vec3
 
typedef highp_u8vec4 u8vec4
 
typedef detail::uint16 uint16
 
typedef detail::uint16 uint16_t
 
typedef detail::uint32 uint32
 
typedef detail::uint32 uint32_t
 
typedef detail::uint64 uint64
 
typedef detail::uint64 uint64_t
 
typedef detail::uint8 uint8
 
typedef detail::uint8 uint8_t
 
+

Detailed Description

+

Defines specific C++-based precision types.

+

Precision types defines types based on GLSL's precision qualifiers. This extension defines types based on explicitly-sized C++ data types.

+

<glm/gtc/type_precision.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+ +
+
+ + + + +
typedef float32 f32
+
+ +

Default 32 bit single-precision floating-point scalar.

+

32 bit single-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1523 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2< f32, defaultp > f32mat2
+
+ +

Default single-precision floating-point 2x2 matrix.

+

Single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision
+
+GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2475 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2< f32, defaultp > f32mat2x2
+
+ +

Default single-precision floating-point 2x2 matrix.

+

Single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision
+
+GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2439 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3< f32, defaultp > f32mat2x3
+
+ +

Default single-precision floating-point 2x3 matrix.

+

Single-precision floating-point 2x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2443 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4< f32, defaultp > f32mat2x4
+
+ +

Default single-precision floating-point 2x4 matrix.

+

Single-precision floating-point 2x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2447 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3< f32, defaultp > f32mat3
+
+ +

Default single-precision floating-point 3x3 matrix.

+

Single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2479 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2< f32, defaultp > f32mat3x2
+
+ +

Default single-precision floating-point 3x2 matrix.

+

Single-precision floating-point 3x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2451 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3< f32, defaultp > f32mat3x3
+
+ +

Default single-precision floating-point 3x3 matrix.

+

Single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2455 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4< f32, defaultp > f32mat3x4
+
+ +

Default single-precision floating-point 3x4 matrix.

+

Single-precision floating-point 3x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2459 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4< f32, defaultp > f32mat4
+
+ +

Default single-precision floating-point 4x4 matrix.

+

Single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2483 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2< f32, defaultp > f32mat4x2
+
+ +

Default single-precision floating-point 4x2 matrix.

+

Single-precision floating-point 4x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2463 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3< f32, defaultp > f32mat4x3
+
+ +

Default single-precision floating-point 4x3 matrix.

+

Single-precision floating-point 4x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2467 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4< f32, defaultp > f32mat4x4
+
+ +

Default single-precision floating-point 4x4 matrix.

+

Single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2471 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat< f32, defaultp > f32quat
+
+ +

Default single-precision floating-point quaternion.

+

Single-precision floating-point quaternion.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2487 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< f32, defaultp > f32vec1
+
+ +

Default single-precision floating-point vector of 1 components.

+

Single-precision floating-point vector of 1 component.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2423 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< f32, defaultp > f32vec2
+
+ +

Default single-precision floating-point vector of 2 components.

+

Single-precision floating-point vector of 2 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2427 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< f32, defaultp > f32vec3
+
+ +

Default single-precision floating-point vector of 3 components.

+

Single-precision floating-point vector of 3 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2431 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< f32, defaultp > f32vec4
+
+ +

Default single-precision floating-point vector of 4 components.

+

Single-precision floating-point vector of 4 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2435 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef float64 f64
+
+ +

Default 64 bit double-precision floating-point scalar.

+

64 bit double-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1527 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2< f64, defaultp > f64mat2
+
+ +

Default double-precision floating-point 2x2 matrix.

+

Double-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision
+
+GLM_GTC_type_precision Double-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2582 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2< f64, defaultp > f64mat2x2
+
+ +

Default double-precision floating-point 2x2 matrix.

+

Double-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision
+
+GLM_GTC_type_precision Double-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2546 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3< f64, defaultp > f64mat2x3
+
+ +

Default double-precision floating-point 2x3 matrix.

+

Double-precision floating-point 2x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2550 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4< f64, defaultp > f64mat2x4
+
+ +

Default double-precision floating-point 2x4 matrix.

+

Double-precision floating-point 2x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2554 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3< f64, defaultp > f64mat3
+
+ +

Default double-precision floating-point 3x3 matrix.

+

Double-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2586 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2< f64, defaultp > f64mat3x2
+
+ +

Default double-precision floating-point 3x2 matrix.

+

Double-precision floating-point 3x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2558 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3< f64, defaultp > f64mat3x3
+
+ +

Default double-precision floating-point 3x3 matrix.

+

Double-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2562 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4< f64, defaultp > f64mat3x4
+
+ +

Default double-precision floating-point 3x4 matrix.

+

Double-precision floating-point 3x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2566 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4< f64, defaultp > f64mat4
+
+ +

Default double-precision floating-point 4x4 matrix.

+

Double-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2590 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2< f64, defaultp > f64mat4x2
+
+ +

Default double-precision floating-point 4x2 matrix.

+

Double-precision floating-point 4x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2570 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3< f64, defaultp > f64mat4x3
+
+ +

Default double-precision floating-point 4x3 matrix.

+

Double-precision floating-point 4x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2574 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4< f64, defaultp > f64mat4x4
+
+ +

Default double-precision floating-point 4x4 matrix.

+

Double-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2578 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat< f64, defaultp > f64quat
+
+ +

Default double-precision floating-point quaternion.

+

Double-precision floating-point quaternion.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2594 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< f64, defaultp > f64vec1
+
+ +

Default double-precision floating-point vector of 1 components.

+

Double-precision floating-point vector of 1 component.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2530 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< f64, defaultp > f64vec2
+
+ +

Default double-precision floating-point vector of 2 components.

+

Double-precision floating-point vector of 2 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2534 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< f64, defaultp > f64vec3
+
+ +

Default double-precision floating-point vector of 3 components.

+

Double-precision floating-point vector of 3 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2538 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< f64, defaultp > f64vec4
+
+ +

Default double-precision floating-point vector of 4 components.

+

Double-precision floating-point vector of 4 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2542 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float32 float32
+
+ +

Default 32 bit single-precision floating-point scalar.

+

32 bit single-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 81 of file type_float.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float32 float32_t
+
+ +

Default 32 bit single-precision floating-point scalar.

+

32 bit single-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1515 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float64 float64
+
+ +

Default 64 bit double-precision floating-point scalar.

+

64 bit double-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 82 of file type_float.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float64 float64_t
+
+ +

Default 64 bit double-precision floating-point scalar.

+

64 bit double-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1519 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2< f32, defaultp > fmat2
+
+ +

Default single-precision floating-point 2x2 matrix.

+

Single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision
+
+GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2405 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2< f32, defaultp > fmat2x2
+
+ +

Default single-precision floating-point 2x2 matrix.

+

Single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision
+
+GLM_GTC_type_precision Single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2369 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3< f32, defaultp > fmat2x3
+
+ +

Default single-precision floating-point 2x3 matrix.

+

Single-precision floating-point 2x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2373 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4< f32, defaultp > fmat2x4
+
+ +

Default single-precision floating-point 2x4 matrix.

+

Single-precision floating-point 2x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2377 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3< f32, defaultp > fmat3
+
+ +

Default single-precision floating-point 3x3 matrix.

+

Single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2409 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2< f32, defaultp > fmat3x2
+
+ +

Default single-precision floating-point 3x2 matrix.

+

Single-precision floating-point 3x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2381 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3< f32, defaultp > fmat3x3
+
+ +

Default single-precision floating-point 3x3 matrix.

+

Single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2385 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4< f32, defaultp > fmat3x4
+
+ +

Default single-precision floating-point 3x4 matrix.

+

Single-precision floating-point 3x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2389 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4< f32, defaultp > fmat4
+
+ +

Default single-precision floating-point 4x4 matrix.

+

Single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2413 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2< f32, defaultp > fmat4x2
+
+ +

Default single-precision floating-point 4x2 matrix.

+

Single-precision floating-point 4x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2393 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3< f32, defaultp > fmat4x3
+
+ +

Default single-precision floating-point 4x3 matrix.

+

Single-precision floating-point 4x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2397 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4< f32, defaultp > fmat4x4
+
+ +

Default single-precision floating-point 4x4 matrix.

+

Single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2401 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_fquat fquat
+
+ +

Quaternion of default single-precision floating-point numbers.

+

Default single-precision floating-point quaternion.

+
See Also
GLM_GTC_quaternion
+
+GLM_GTC_type_precision
+ +

Definition at line 90 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< float, defaultp > fvec1
+
+ +

Default single-precision floating-point vector of 1 components.

+

Single-precision floating-point vector of 1 component.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2353 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< float, defaultp > fvec2
+
+ +

Default single-precision floating-point vector of 2 components.

+

Single-precision floating-point vector of 2 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2357 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< float, defaultp > fvec3
+
+ +

Default single-precision floating-point vector of 3 components.

+

Single-precision floating-point vector of 3 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2361 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< float, defaultp > fvec4
+
+ +

Default single-precision floating-point vector of 4 components.

+

Single-precision floating-point vector of 4 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2365 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef float32 highp_f32
+
+ +

High 32 bit single-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1445 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_f32mat2x2 highp_f32mat2
+
+ +

High single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision High single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2068 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<f32, highp> highp_f32mat2x2
+
+ +

High single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision High single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2028 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<f32, highp> highp_f32mat2x3
+
+ +

High single-precision floating-point 2x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2032 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<f32, highp> highp_f32mat2x4
+
+ +

High single-precision floating-point 2x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2036 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_f32mat3x3 highp_f32mat3
+
+ +

High single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2072 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<f32, highp> highp_f32mat3x2
+
+ +

High single-precision floating-point 3x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2040 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<f32, highp> highp_f32mat3x3
+
+ +

High single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2044 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<f32, highp> highp_f32mat3x4
+
+ +

High single-precision floating-point 3x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2048 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_f32mat4x4 highp_f32mat4
+
+ +

High single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2076 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<f32, highp> highp_f32mat4x2
+
+ +

High single-precision floating-point 4x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2052 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<f32, highp> highp_f32mat4x3
+
+ +

High single-precision floating-point 4x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2056 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<f32, highp> highp_f32mat4x4
+
+ +

High single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2060 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat<f32, highp> highp_f32quat
+
+ +

High single-precision floating-point quaternion.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2271 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<f32, highp> highp_f32vec1
+
+ +

High single-precision floating-point vector of 1 component.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1666 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<f32, highp> highp_f32vec2
+
+ +

High single-precision floating-point vector of 2 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1670 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<f32, highp> highp_f32vec3
+
+ +

High single-precision floating-point vector of 3 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1674 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<f32, highp> highp_f32vec4
+
+ +

High single-precision floating-point vector of 4 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1678 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef float64 highp_f64
+
+ +

High 64 bit double-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1449 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_f64mat2x2 highp_f64mat2
+
+ +

High double-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision High double-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2240 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<f64, highp> highp_f64mat2x2
+
+ +

High double-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision High double-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2200 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<f64, highp> highp_f64mat2x3
+
+ +

High double-precision floating-point 2x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2204 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<f64, highp> highp_f64mat2x4
+
+ +

High double-precision floating-point 2x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2208 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_f64mat3x3 highp_f64mat3
+
+ +

High double-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2244 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<f64, highp> highp_f64mat3x2
+
+ +

High double-precision floating-point 3x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2212 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<f64, highp> highp_f64mat3x3
+
+ +

High double-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2216 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<f64, highp> highp_f64mat3x4
+
+ +

High double-precision floating-point 3x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2220 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_f64mat4x4 highp_f64mat4
+
+ +

High double-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2248 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<f64, highp> highp_f64mat4x2
+
+ +

High double-precision floating-point 4x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2224 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<f64, highp> highp_f64mat4x3
+
+ +

High double-precision floating-point 4x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2228 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<f64, highp> highp_f64mat4x4
+
+ +

High double-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2232 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat<f64, highp> highp_f64quat
+
+ +

High double-precision floating-point quaternion.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2275 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<f64, highp> highp_f64vec1
+
+ +

High double-precision floating-point vector of 1 component.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1715 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<f64, highp> highp_f64vec2
+
+ +

High double-precision floating-point vector of 2 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1719 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<f64, highp> highp_f64vec3
+
+ +

High double-precision floating-point vector of 3 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1723 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<f64, highp> highp_f64vec4
+
+ +

High double-precision floating-point vector of 4 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1727 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float32 highp_float32
+
+ +

High 32 bit single-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1429 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float32 highp_float32_t
+
+ +

High 32 bit single-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1437 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float64 highp_float64
+
+ +

High 64 bit double-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1433 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float64 highp_float64_t
+
+ +

High 64 bit double-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1441 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_fmat2x2 highp_fmat2
+
+ +

High single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision High single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 1894 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<f32, highp> highp_fmat2x2
+
+ +

High single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision High single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 1854 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<f32, highp> highp_fmat2x3
+
+ +

High single-precision floating-point 2x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1858 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<f32, highp> highp_fmat2x4
+
+ +

High single-precision floating-point 2x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1862 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_fmat3x3 highp_fmat3
+
+ +

High single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1898 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<f32, highp> highp_fmat3x2
+
+ +

High single-precision floating-point 3x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1866 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<f32, highp> highp_fmat3x3
+
+ +

High single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1870 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<f32, highp> highp_fmat3x4
+
+ +

High single-precision floating-point 3x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1874 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_fmat4x4 highp_fmat4
+
+ +

High single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1902 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<f32, highp> highp_fmat4x2
+
+ +

High single-precision floating-point 4x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1878 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<f32, highp> highp_fmat4x3
+
+ +

High single-precision floating-point 4x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1882 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<f32, highp> highp_fmat4x4
+
+ +

High single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1886 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<float, highp> highp_fvec1
+
+ +

High single-precision floating-point vector of 1 component.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1617 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<float, highp> highp_fvec2
+
+ +

High Single-precision floating-point vector of 2 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1621 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<float, highp> highp_fvec3
+
+ +

High Single-precision floating-point vector of 3 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1625 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<float, highp> highp_fvec4
+
+ +

High Single-precision floating-point vector of 4 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1629 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 highp_i16
+
+ +

High precision 16 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 264 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<i16, highp> highp_i16vec1
+
+ +

High precision 16 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 440 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<i16, highp> highp_i16vec2
+
+ +

High precision 16 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 444 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<i16, highp> highp_i16vec3
+
+ +

High precision 16 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 448 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<i16, highp> highp_i16vec4
+
+ +

High precision 16 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 452 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 highp_i32
+
+ +

High precision 32 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 268 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< i32, highp > highp_i32vec1
+
+ +

High precision 32 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 520 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< i32, highp > highp_i32vec2
+
+ +

High precision 32 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 524 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< i32, highp > highp_i32vec3
+
+ +

High precision 32 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 528 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< i32, highp > highp_i32vec4
+
+ +

High precision 32 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 532 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 highp_i64
+
+ +

High precision 64 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 272 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<i64, highp> highp_i64vec1
+
+ +

High precision 64 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 679 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<i64, highp> highp_i64vec2
+
+ +

High precision 64 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 683 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<i64, highp> highp_i64vec3
+
+ +

High precision 64 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 687 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<i64, highp> highp_i64vec4
+
+ +

High precision 64 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 691 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 highp_i8
+
+ +

High precision 8 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 260 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<i8, highp> highp_i8vec1
+
+ +

High precision 8 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 361 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<i8, highp> highp_i8vec2
+
+ +

High precision 8 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 365 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<i8, highp> highp_i8vec3
+
+ +

High precision 8 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 369 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<i8, highp> highp_i8vec4
+
+ +

High precision 8 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 373 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 highp_int16
+
+ +

High precision 16 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 232 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 highp_int16_t
+
+ +

High precision 16 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 248 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 highp_int32
+
+ +

High precision 32 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 236 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 highp_int32_t
+
+ +

32 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 252 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 highp_int64
+
+ +

High precision 64 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 240 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 highp_int64_t
+
+ +

High precision 64 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 256 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 highp_int8
+
+ +

High precision 8 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 228 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 highp_int8_t
+
+ +

High precision 8 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 244 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 highp_u16
+
+ +

Medium precision 16 bit unsigned integer type.

+

High precision 16 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 865 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<u16, highp> highp_u16vec1
+
+ +

High precision 16 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1043 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<u16, highp> highp_u16vec2
+
+ +

High precision 16 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1047 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<u16, highp> highp_u16vec3
+
+ +

High precision 16 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1051 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<u16, highp> highp_u16vec4
+
+ +

High precision 16 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1055 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 highp_u32
+
+ +

Medium precision 32 bit unsigned integer type.

+

High precision 32 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 869 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< u32, highp > highp_u32vec1
+
+ +

High precision 32 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1123 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< u32, highp > highp_u32vec2
+
+ +

High precision 32 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1127 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< u32, highp > highp_u32vec3
+
+ +

High precision 32 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1131 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< u32, highp > highp_u32vec4
+
+ +

High precision 32 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1135 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 highp_u64
+
+ +

Medium precision 64 bit unsigned integer type.

+

High precision 64 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 873 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<u64, highp> highp_u64vec1
+
+ +

High precision 64 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1282 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<u64, highp> highp_u64vec2
+
+ +

High precision 64 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1286 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<u64, highp> highp_u64vec3
+
+ +

High precision 64 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1290 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<u64, highp> highp_u64vec4
+
+ +

High precision 64 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1294 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 highp_u8
+
+ +

Medium precision 8 bit unsigned integer type.

+

High precision 8 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 861 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<u8, highp> highp_u8vec1
+
+ +

High precision 8 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 964 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<u8, highp> highp_u8vec2
+
+ +

High precision 8 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 968 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<u8, highp> highp_u8vec3
+
+ +

High precision 8 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 972 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<u8, highp> highp_u8vec4
+
+ +

High precision 8 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 976 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 highp_uint16
+
+ +

Medium precision 16 bit unsigned integer type.

+

High precision 16 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 833 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 highp_uint16_t
+
+ +

Medium precision 16 bit unsigned integer type.

+

High precision 16 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 849 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 highp_uint32
+
+ +

Medium precision 32 bit unsigned integer type.

+

High precision 32 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 837 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 highp_uint32_t
+
+ +

Medium precision 32 bit unsigned integer type.

+

High precision 32 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 853 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 highp_uint64
+
+ +

Medium precision 64 bit unsigned integer type.

+

High precision 64 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 841 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 highp_uint64_t
+
+ +

Medium precision 64 bit unsigned integer type.

+

High precision 64 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 857 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 highp_uint8
+
+ +

Medium precision 8 bit unsigned integer type.

+

High precision 8 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 829 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 highp_uint8_t
+
+ +

Medium precision 8 bit unsigned integer type.

+

High precision 8 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 845 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_vec1_t highp_vec1
+
+ +

High single-precision floating-point vector of 1 component.

+

1 component vector of high precision floating-point numbers.

+
See Also
GLM_GTC_type_precision
+

There is no guarantee on the actual precision.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 1601 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 i16
+
+ +

16 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 313 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< i16, defaultp > i16vec1
+
+ +

Default precision 16 bit signed integer scalar type.

+

16 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 468 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< i16, defaultp > i16vec2
+
+ +

Default precision 16 bit signed integer vector of 2 components type.

+

16 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 472 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< i16, defaultp > i16vec3
+
+ +

Default precision 16 bit signed integer vector of 3 components type.

+

16 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 476 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< i16, defaultp > i16vec4
+
+ +

Default precision 16 bit signed integer vector of 4 components type.

+

16 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 480 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 i32
+
+ +

32 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 317 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< i32, defaultp > i32vec1
+
+ +

Default precision 32 bit signed integer scalar type.

+

32 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 547 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< i32, defaultp > i32vec2
+
+ +

Default precision 32 bit signed integer vector of 2 components type.

+

32 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 551 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< i32, defaultp > i32vec3
+
+ +

Default precision 32 bit signed integer vector of 3 components type.

+

32 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 555 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< i32, defaultp > i32vec4
+
+ +

Default precision 32 bit signed integer vector of 4 components type.

+

32 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 559 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 i64
+
+ +

64 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 321 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< i64, defaultp > i64vec1
+
+ +

Default precision 64 bit signed integer scalar type.

+

64 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 706 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< i64, defaultp > i64vec2
+
+ +

Default precision 64 bit signed integer vector of 2 components type.

+

64 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 710 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< i64, defaultp > i64vec3
+
+ +

Default precision 64 bit signed integer vector of 3 components type.

+

64 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 714 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< i64, defaultp > i64vec4
+
+ +

Default precision 64 bit signed integer vector of 4 components type.

+

64 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 718 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 i8
+
+ +

8 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 309 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< i8, defaultp > i8vec1
+
+ +

Default precision 8 bit signed integer scalar type.

+

8 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 388 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< i8, defaultp > i8vec2
+
+ +

Default precision 8 bit signed integer vector of 2 components type.

+

8 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 392 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< i8, defaultp > i8vec3
+
+ +

Default precision 8 bit signed integer vector of 3 components type.

+

8 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 396 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< i8, defaultp > i8vec4
+
+ +

Default precision 8 bit signed integer vector of 4 components type.

+

8 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 400 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 int16
+
+ +

16 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 90 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 int16_t
+
+ +

16 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 297 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 int32
+
+ +

32 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 91 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 int32_t
+
+ +

32 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 301 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 int64
+
+ +

64 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 92 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 int64_t
+
+ +

64 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 305 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 int8
+
+ +

8 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 89 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 int8_t
+
+ +

8 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 293 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef float32 lowp_f32
+
+ +

Low 32 bit single-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1346 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_f32mat2x2 lowp_f32mat2
+
+ +

Low single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision Low single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 1951 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<f32, lowp> lowp_f32mat2x2
+
+ +

Low single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision Low single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 1911 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<f32, lowp> lowp_f32mat2x3
+
+ +

Low single-precision floating-point 2x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1915 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<f32, lowp> lowp_f32mat2x4
+
+ +

Low single-precision floating-point 2x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1919 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_f32mat3x3 lowp_f32mat3
+
+ +

Low single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1955 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<f32, lowp> lowp_f32mat3x2
+
+ +

Low single-precision floating-point 3x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1923 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<f32, lowp> lowp_f32mat3x3
+
+ +

Low single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1927 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<f32, lowp> lowp_f32mat3x4
+
+ +

Low single-precision floating-point 3x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1931 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_f32mat4x4 lowp_f32mat4
+
+ +

Low single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1959 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<f32, lowp> lowp_f32mat4x2
+
+ +

Low single-precision floating-point 4x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1935 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<f32, lowp> lowp_f32mat4x3
+
+ +

Low single-precision floating-point 4x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1939 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<f32, lowp> lowp_f32mat4x4
+
+ +

Low single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1943 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat<f32, lowp> lowp_f32quat
+
+ +

Low single-precision floating-point quaternion.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2255 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<f32, lowp> lowp_f32vec1
+
+ +

Low single-precision floating-point vector of 1 component.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1634 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<f32, lowp> lowp_f32vec2
+
+ +

Low single-precision floating-point vector of 2 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1638 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<f32, lowp> lowp_f32vec3
+
+ +

Low single-precision floating-point vector of 3 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1642 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<f32, lowp> lowp_f32vec4
+
+ +

Low single-precision floating-point vector of 4 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1646 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef float64 lowp_f64
+
+ +

Low 64 bit double-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1350 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_f64mat2x2 lowp_f64mat2
+
+ +

Low double-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision Low double-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2126 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<f64, lowp> lowp_f64mat2x2
+
+ +

Low double-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision Low double-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2086 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<f64, lowp> lowp_f64mat2x3
+
+ +

Low double-precision floating-point 2x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2090 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<f64, lowp> lowp_f64mat2x4
+
+ +

Low double-precision floating-point 2x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2094 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_f64mat3x3 lowp_f64mat3
+
+ +

Low double-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2130 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<f64, lowp> lowp_f64mat3x2
+
+ +

Low double-precision floating-point 3x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2098 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<f64, lowp> lowp_f64mat3x3
+
+ +

Low double-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2102 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<f64, lowp> lowp_f64mat3x4
+
+ +

Low double-precision floating-point 3x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2106 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_f64mat4x4 lowp_f64mat4
+
+ +

Low double-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2134 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<f64, lowp> lowp_f64mat4x2
+
+ +

Low double-precision floating-point 4x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2110 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<f64, lowp> lowp_f64mat4x3
+
+ +

Low double-precision floating-point 4x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2114 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<f64, lowp> lowp_f64mat4x4
+
+ +

Low double-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2118 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat<f64, lowp> lowp_f64quat
+
+ +

Low double-precision floating-point quaternion.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2259 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<f64, lowp> lowp_f64vec1
+
+ +

Low double-precision floating-point vector of 1 component.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1683 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<f64, lowp> lowp_f64vec2
+
+ +

Low double-precision floating-point vector of 2 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1687 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<f64, lowp> lowp_f64vec3
+
+ +

Low double-precision floating-point vector of 3 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1691 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<f64, lowp> lowp_f64vec4
+
+ +

Low double-precision floating-point vector of 4 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1695 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float32 lowp_float32
+
+ +

Low 32 bit single-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1330 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float32 lowp_float32_t
+
+ +

Low 32 bit single-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1338 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float64 lowp_float64
+
+ +

Low 64 bit double-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1334 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float64 lowp_float64_t
+
+ +

Low 64 bit double-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1342 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_fmat2x2 lowp_fmat2
+
+ +

Low single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision Low single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 1779 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<f32, lowp> lowp_fmat2x2
+
+ +

Low single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision Low single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 1739 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<f32, lowp> lowp_fmat2x3
+
+ +

Low single-precision floating-point 2x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1743 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<f32, lowp> lowp_fmat2x4
+
+ +

Low single-precision floating-point 2x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1747 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_fmat3x3 lowp_fmat3
+
+ +

Low single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1783 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<f32, lowp> lowp_fmat3x2
+
+ +

Low single-precision floating-point 3x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1751 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<f32, lowp> lowp_fmat3x3
+
+ +

Low single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1755 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<f32, lowp> lowp_fmat3x4
+
+ +

Low single-precision floating-point 3x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1759 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_fmat4x4 lowp_fmat4
+
+ +

Low single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1787 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<f32, lowp> lowp_fmat4x2
+
+ +

Low single-precision floating-point 4x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1763 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<f32, lowp> lowp_fmat4x3
+
+ +

Low single-precision floating-point 4x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1767 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<f32, lowp> lowp_fmat4x4
+
+ +

Low single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1771 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<float, lowp> lowp_fvec1
+
+ +

Low single-precision floating-point vector of 1 component.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1549 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<float, lowp> lowp_fvec2
+
+ +

Low single-precision floating-point vector of 2 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1553 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<float, lowp> lowp_fvec3
+
+ +

Low single-precision floating-point vector of 3 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1557 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<float, lowp> lowp_fvec4
+
+ +

Low single-precision floating-point vector of 4 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1561 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 lowp_i16
+
+ +

Low precision 16 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 168 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<i16, lowp> lowp_i16vec1
+
+ +

Low precision 16 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 406 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<i16, lowp> lowp_i16vec2
+
+ +

Low precision 16 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 410 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<i16, lowp> lowp_i16vec3
+
+ +

Low precision 16 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 414 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<i16, lowp> lowp_i16vec4
+
+ +

Low precision 16 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 418 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 lowp_i32
+
+ +

Low precision 32 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 172 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< i32, lowp > lowp_i32vec1
+
+ +

Low precision 32 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 486 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< i32, lowp > lowp_i32vec2
+
+ +

Low precision 32 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 490 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< i32, lowp > lowp_i32vec3
+
+ +

Low precision 32 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 494 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< i32, lowp > lowp_i32vec4
+
+ +

Low precision 32 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 498 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 lowp_i64
+
+ +

Low precision 64 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 176 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<i64, lowp> lowp_i64vec1
+
+ +

Low precision 64 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 645 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<i64, lowp> lowp_i64vec2
+
+ +

Low precision 64 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 649 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<i64, lowp> lowp_i64vec3
+
+ +

Low precision 64 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 653 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<i64, lowp> lowp_i64vec4
+
+ +

Low precision 64 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 657 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 lowp_i8
+
+ +

Low precision 8 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 164 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<i8, lowp> lowp_i8vec1
+
+ +

Low precision 8 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 327 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<i8, lowp> lowp_i8vec2
+
+ +

Low precision 8 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 331 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<i8, lowp> lowp_i8vec3
+
+ +

Low precision 8 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 335 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<i8, lowp> lowp_i8vec4
+
+ +

Low precision 8 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 339 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 lowp_int16
+
+ +

Low precision 16 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 136 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 lowp_int16_t
+
+ +

Low precision 16 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 152 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 lowp_int32
+
+ +

Low precision 32 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 140 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 lowp_int32_t
+
+ +

Low precision 32 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 156 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 lowp_int64
+
+ +

Low precision 64 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 144 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 lowp_int64_t
+
+ +

Low precision 64 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 160 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 lowp_int8
+
+ +

Low precision 8 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 132 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 lowp_int8_t
+
+ +

Low precision 8 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 148 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 lowp_u16
+
+ +

Low precision 16 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 765 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<u16, lowp> lowp_u16vec1
+
+ +

Low precision 16 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1009 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<u16, lowp> lowp_u16vec2
+
+ +

Low precision 16 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1013 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<u16, lowp> lowp_u16vec3
+
+ +

Low precision 16 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1017 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<u16, lowp> lowp_u16vec4
+
+ +

Low precision 16 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1021 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 lowp_u32
+
+ +

Low precision 32 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 769 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< u32, lowp > lowp_u32vec1
+
+ +

Low precision 32 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1089 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< u32, lowp > lowp_u32vec2
+
+ +

Low precision 32 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1093 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< u32, lowp > lowp_u32vec3
+
+ +

Low precision 32 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1097 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< u32, lowp > lowp_u32vec4
+
+ +

Low precision 32 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1101 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 lowp_u64
+
+ +

Low precision 64 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 773 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<u64, lowp> lowp_u64vec1
+
+ +

Low precision 64 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1248 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<u64, lowp> lowp_u64vec2
+
+ +

Low precision 64 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1252 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<u64, lowp> lowp_u64vec3
+
+ +

Low precision 64 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1256 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<u64, lowp> lowp_u64vec4
+
+ +

Low precision 64 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1260 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 lowp_u8
+
+ +

Low precision 8 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 761 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<u8, lowp> lowp_u8vec1
+
+ +

Low precision 8 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 930 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<u8, lowp> lowp_u8vec2
+
+ +

Low precision 8 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 934 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<u8, lowp> lowp_u8vec3
+
+ +

Low precision 8 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 938 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<u8, lowp> lowp_u8vec4
+
+ +

Low precision 8 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 942 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 lowp_uint16
+
+ +

Low precision 16 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 731 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 lowp_uint16_t
+
+ +

Low precision 16 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 748 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 lowp_uint32
+
+ +

Low precision 32 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 735 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 lowp_uint32_t
+
+ +

Low precision 32 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 752 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 lowp_uint64
+
+ +

Low precision 64 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 739 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 lowp_uint64_t
+
+ +

Low precision 64 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 756 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 lowp_uint8
+
+ +

Low precision 8 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 727 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 lowp_uint8_t
+
+ +

Low precision 8 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 744 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef lowp_vec1_t lowp_vec1
+
+ +

Low single-precision floating-point vector of 1 component.

+

1 component vector of low precision floating-point numbers.

+
See Also
GLM_GTC_type_precision
+

There is no guarantee on the actual precision.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 1533 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef float32 mediump_f32
+
+ +

Medium 32 bit single-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1420 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_f32mat2x2 mediump_f32mat2
+
+ +

Medium single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision Medium single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2009 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<f32, mediump> mediump_f32mat2x2
+
+ +

High single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision Low single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 1969 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<f32, mediump> mediump_f32mat2x3
+
+ +

Medium single-precision floating-point 2x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1973 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<f32, mediump> mediump_f32mat2x4
+
+ +

Medium single-precision floating-point 2x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1977 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_f32mat3x3 mediump_f32mat3
+
+ +

Medium single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2013 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<f32, mediump> mediump_f32mat3x2
+
+ +

Medium single-precision floating-point 3x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1981 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<f32, mediump> mediump_f32mat3x3
+
+ +

Medium single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1985 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<f32, mediump> mediump_f32mat3x4
+
+ +

Medium single-precision floating-point 3x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1989 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_f32mat4x4 mediump_f32mat4
+
+ +

Medium single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2017 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<f32, mediump> mediump_f32mat4x2
+
+ +

Medium single-precision floating-point 4x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1993 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<f32, mediump> mediump_f32mat4x3
+
+ +

Medium single-precision floating-point 4x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1997 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<f32, mediump> mediump_f32mat4x4
+
+ +

Medium single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2001 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat<f32, mediump> mediump_f32quat
+
+ +

Medium single-precision floating-point quaternion.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2263 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<f32, mediump> mediump_f32vec1
+
+ +

Medium single-precision floating-point vector of 1 component.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1650 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<f32, mediump> mediump_f32vec2
+
+ +

Medium single-precision floating-point vector of 2 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1654 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<f32, mediump> mediump_f32vec3
+
+ +

Medium single-precision floating-point vector of 3 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1658 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<f32, mediump> mediump_f32vec4
+
+ +

Medium single-precision floating-point vector of 4 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1662 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef float64 mediump_f64
+
+ +

Medium 64 bit double-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1424 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_f64mat2x2 mediump_f64mat2
+
+ +

Medium double-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision Medium double-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2184 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<f64, mediump> mediump_f64mat2x2
+
+ +

Medium double-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision Medium double-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 2144 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<f64, mediump> mediump_f64mat2x3
+
+ +

Medium double-precision floating-point 2x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2148 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<f64, mediump> mediump_f64mat2x4
+
+ +

Medium double-precision floating-point 2x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2152 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_f64mat3x3 mediump_f64mat3
+
+ +

Medium double-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2188 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<f64, mediump> mediump_f64mat3x2
+
+ +

Medium double-precision floating-point 3x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2156 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<f64, mediump> mediump_f64mat3x3
+
+ +

Medium double-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2160 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<f64, mediump> mediump_f64mat3x4
+
+ +

Medium double-precision floating-point 3x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2164 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_f64mat4x4 mediump_f64mat4
+
+ +

Medium double-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2192 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<f64, mediump> mediump_f64mat4x2
+
+ +

Medium double-precision floating-point 4x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2168 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<f64, mediump> mediump_f64mat4x3
+
+ +

Medium double-precision floating-point 4x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2172 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<f64, mediump> mediump_f64mat4x4
+
+ +

Medium double-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2176 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tquat<f64, mediump> mediump_f64quat
+
+ +

Medium double-precision floating-point quaternion.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 2267 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<f64, mediump> mediump_f64vec1
+
+ +

Medium double-precision floating-point vector of 1 component.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1699 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<f64, mediump> mediump_f64vec2
+
+ +

Medium double-precision floating-point vector of 2 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1703 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<f64, mediump> mediump_f64vec3
+
+ +

Medium double-precision floating-point vector of 3 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1707 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<f64, mediump> mediump_f64vec4
+
+ +

Medium double-precision floating-point vector of 4 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1711 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float32 mediump_float32
+
+ +

Medium 32 bit single-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1404 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float32 mediump_float32_t
+
+ +

Medium 32 bit single-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1412 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float64 mediump_float64
+
+ +

Medium 64 bit double-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1408 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::float64 mediump_float64_t
+
+ +

Medium 64 bit double-precision floating-point scalar.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1416 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_fmat2x2 mediump_fmat2
+
+ +

Medium single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision Medium single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 1836 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x2<f32, mediump> mediump_fmat2x2
+
+ +

Medium single-precision floating-point 1x1 matrix.

+
See Also
GLM_GTC_type_precision Medium single-precision floating-point 2x2 matrix.
+
+GLM_GTC_type_precision
+ +

Definition at line 1796 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x3<f32, mediump> mediump_fmat2x3
+
+ +

Medium single-precision floating-point 2x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1800 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat2x4<f32, mediump> mediump_fmat2x4
+
+ +

Medium single-precision floating-point 2x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1804 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_fmat3x3 mediump_fmat3
+
+ +

Medium single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1840 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x2<f32, mediump> mediump_fmat3x2
+
+ +

Medium single-precision floating-point 3x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1808 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x3<f32, mediump> mediump_fmat3x3
+
+ +

Medium single-precision floating-point 3x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1812 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat3x4<f32, mediump> mediump_fmat3x4
+
+ +

Medium single-precision floating-point 3x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1816 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_fmat4x4 mediump_fmat4
+
+ +

Medium single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1844 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x2<f32, mediump> mediump_fmat4x2
+
+ +

Medium single-precision floating-point 4x2 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1820 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x3<f32, mediump> mediump_fmat4x3
+
+ +

Medium single-precision floating-point 4x3 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1824 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tmat4x4<f32, mediump> mediump_fmat4x4
+
+ +

Medium single-precision floating-point 4x4 matrix.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1828 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<float, mediump> mediump_fvec1
+
+ +

Medium single-precision floating-point vector of 1 component.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1583 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<float, mediump> mediump_fvec2
+
+ +

Medium Single-precision floating-point vector of 2 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1587 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<float, mediump> mediump_fvec3
+
+ +

Medium Single-precision floating-point vector of 3 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1591 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<float, mediump> mediump_fvec4
+
+ +

Medium Single-precision floating-point vector of 4 components.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1595 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 mediump_i16
+
+ +

Medium precision 16 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 216 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<i16, mediump> mediump_i16vec1
+
+ +

Medium precision 16 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 423 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<i16, mediump> mediump_i16vec2
+
+ +

Medium precision 16 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 427 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<i16, mediump> mediump_i16vec3
+
+ +

Medium precision 16 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 431 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<i16, mediump> mediump_i16vec4
+
+ +

Medium precision 16 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 435 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 mediump_i32
+
+ +

Medium precision 32 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 220 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< i32, mediump > mediump_i32vec1
+
+ +

Medium precision 32 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 503 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< i32, mediump > mediump_i32vec2
+
+ +

Medium precision 32 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 507 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< i32, mediump > mediump_i32vec3
+
+ +

Medium precision 32 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 511 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< i32, mediump > mediump_i32vec4
+
+ +

Medium precision 32 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 515 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 mediump_i64
+
+ +

Medium precision 64 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 224 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<i64, mediump> mediump_i64vec1
+
+ +

Medium precision 64 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 662 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<i64, mediump> mediump_i64vec2
+
+ +

Medium precision 64 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 666 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<i64, mediump> mediump_i64vec3
+
+ +

Medium precision 64 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 670 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<i64, mediump> mediump_i64vec4
+
+ +

Medium precision 64 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 674 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 mediump_i8
+
+ +

Medium precision 8 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 212 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<i8, mediump> mediump_i8vec1
+
+ +

Medium precision 8 bit signed integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 344 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<i8, mediump> mediump_i8vec2
+
+ +

Medium precision 8 bit signed integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 348 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<i8, mediump> mediump_i8vec3
+
+ +

Medium precision 8 bit signed integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 352 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<i8, mediump> mediump_i8vec4
+
+ +

Medium precision 8 bit signed integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 356 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 mediump_int16
+
+ +

Medium precision 16 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 184 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int16 mediump_int16_t
+
+ +

Medium precision 16 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 200 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 mediump_int32
+
+ +

Medium precision 32 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 188 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int32 mediump_int32_t
+
+ +

Medium precision 32 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 204 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 mediump_int64
+
+ +

Medium precision 64 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 192 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int64 mediump_int64_t
+
+ +

Medium precision 64 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 208 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 mediump_int8
+
+ +

Medium precision 8 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 180 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::int8 mediump_int8_t
+
+ +

Medium precision 8 bit signed integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 196 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 mediump_u16
+
+ +

Medium precision 16 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 815 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<u16, mediump> mediump_u16vec1
+
+ +

Medium precision 16 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1026 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<u16, mediump> mediump_u16vec2
+
+ +

Medium precision 16 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1030 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<u16, mediump> mediump_u16vec3
+
+ +

Medium precision 16 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1034 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<u16, mediump> mediump_u16vec4
+
+ +

Medium precision 16 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1038 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 mediump_u32
+
+ +

Medium precision 32 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 819 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< u32, mediump > mediump_u32vec1
+
+ +

Medium precision 32 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1106 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< u32, mediump > mediump_u32vec2
+
+ +

Medium precision 32 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1110 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< u32, mediump > mediump_u32vec3
+
+ +

Medium precision 32 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1114 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< u32, mediump > mediump_u32vec4
+
+ +

Medium precision 32 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1118 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 mediump_u64
+
+ +

Medium precision 64 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 823 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<u64, mediump> mediump_u64vec1
+
+ +

Medium precision 64 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1265 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<u64, mediump> mediump_u64vec2
+
+ +

Medium precision 64 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1269 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<u64, mediump> mediump_u64vec3
+
+ +

Medium precision 64 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1273 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<u64, mediump> mediump_u64vec4
+
+ +

Medium precision 64 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1277 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 mediump_u8
+
+ +

Medium precision 8 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 811 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1<u8, mediump> mediump_u8vec1
+
+ +

Medium precision 8 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 947 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<u8, mediump> mediump_u8vec2
+
+ +

Medium precision 8 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 951 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<u8, mediump> mediump_u8vec3
+
+ +

Medium precision 8 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 955 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<u8, mediump> mediump_u8vec4
+
+ +

Medium precision 8 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 959 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 mediump_uint16
+
+ +

Medium precision 16 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 783 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 mediump_uint16_t
+
+ +

Medium precision 16 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 799 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 mediump_uint32
+
+ +

Medium precision 32 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 787 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 mediump_uint32_t
+
+ +

Medium precision 32 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 803 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 mediump_uint64
+
+ +

Medium precision 64 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 791 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 mediump_uint64_t
+
+ +

Medium precision 64 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 807 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 mediump_uint8
+
+ +

Medium precision 8 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 779 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 mediump_uint8_t
+
+ +

Medium precision 8 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 795 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef mediump_vec1_t mediump_vec1
+
+ +

Medium single-precision floating-point vector of 1 component.

+

1 component vector of medium precision floating-point numbers.

+
See Also
GLM_GTC_type_precision
+

There is no guarantee on the actual precision.

+
See Also
GLM_GTX_vec1 extension.
+ +

Definition at line 1567 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 u16
+
+ +

16 bit unsigned integer type.

+

Default precision 16 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 915 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< u16, defaultp > u16vec1
+
+ +

Default precision 16 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1071 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< u16, defaultp > u16vec2
+
+ +

Default precision 16 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1075 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< u16, defaultp > u16vec3
+
+ +

Default precision 16 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1079 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< u16, defaultp > u16vec4
+
+ +

Default precision 16 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1083 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 u32
+
+ +

32 bit unsigned integer type.

+

Default precision 32 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 919 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< u32, defaultp > u32vec1
+
+ +

Default precision 32 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1150 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< u32, defaultp > u32vec2
+
+ +

Default precision 32 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1154 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< u32, defaultp > u32vec3
+
+ +

Default precision 32 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1158 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< u32, defaultp > u32vec4
+
+ +

Default precision 32 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1162 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 u64
+
+ +

64 bit unsigned integer type.

+

Default precision 64 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 923 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< u64, defaultp > u64vec1
+
+ +

Default precision 64 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1309 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< u64, defaultp > u64vec2
+
+ +

Default precision 64 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1313 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< u64, defaultp > u64vec3
+
+ +

Default precision 64 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1317 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< u64, defaultp > u64vec4
+
+ +

Default precision 64 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1321 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 u8
+
+ +

8 bit unsigned integer type.

+

Default precision 8 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 911 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec1< u8, defaultp > u8vec1
+
+ +

Default precision 8 bit unsigned integer scalar type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 991 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2< u8, defaultp > u8vec2
+
+ +

Default precision 8 bit unsigned integer vector of 2 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 995 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3< u8, defaultp > u8vec3
+
+ +

Default precision 8 bit unsigned integer vector of 3 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 999 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4< u8, defaultp > u8vec4
+
+ +

Default precision 8 bit unsigned integer vector of 4 components type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 1003 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 uint16
+
+ +

16 bit unsigned integer type.

+

Default precision 16 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 95 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 uint16_t
+
+ +

16 bit unsigned integer type.

+

Default precision 16 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 899 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 uint32
+
+ +

32 bit unsigned integer type.

+

Default precision 32 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 96 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 uint32_t
+
+ +

32 bit unsigned integer type.

+

Default precision 32 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 903 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 uint64
+
+ +

64 bit unsigned integer type.

+

Default precision 64 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 97 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 uint64_t
+
+ +

64 bit unsigned integer type.

+

Default precision 64 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 907 of file fwd.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 uint8
+
+ +

8 bit unsigned integer type.

+

Default precision 8 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 94 of file type_int.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint8 uint8_t
+
+ +

8 bit unsigned integer type.

+

Default precision 8 bit unsigned integer type.

+
See Also
GLM_GTC_type_precision
+ +

Definition at line 895 of file fwd.hpp.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00183.html glm-0.9.5.1/doc/api/a00183.html --- glm-0.9.4.6/doc/api/a00183.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00183.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,417 +1,466 @@ - - - - - -GLM_GTX_matrix_major_storage - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_matrix_major_storage
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat2x2< T > colMajor2 (detail::tvec2< T > const &v1, detail::tvec2< T > const &v2)
 
template<typename T >
detail::tmat2x2< T > colMajor2 (detail::tmat2x2< T > const &m)
 
template<typename T >
detail::tmat3x3< T > colMajor3 (detail::tvec3< T > const &v1, detail::tvec3< T > const &v2, detail::tvec3< T > const &v3)
 
template<typename T >
detail::tmat3x3< T > colMajor3 (detail::tmat3x3< T > const &m)
 
template<typename T >
detail::tmat4x4< T > colMajor4 (detail::tvec4< T > const &v1, detail::tvec4< T > const &v2, detail::tvec4< T > const &v3, detail::tvec4< T > const &v4)
 
template<typename T >
detail::tmat4x4< T > colMajor4 (detail::tmat4x4< T > const &m)
 
template<typename T >
detail::tmat2x2< T > rowMajor2 (detail::tvec2< T > const &v1, detail::tvec2< T > const &v2)
 
template<typename T >
detail::tmat2x2< T > rowMajor2 (detail::tmat2x2< T > const &m)
 
template<typename T >
detail::tmat3x3< T > rowMajor3 (detail::tvec3< T > const &v1, detail::tvec3< T > const &v2, detail::tvec3< T > const &v3)
 
template<typename T >
detail::tmat3x3< T > rowMajor3 (detail::tmat3x3< T > const &m)
 
template<typename T >
detail::tmat4x4< T > rowMajor4 (detail::tvec4< T > const &v1, detail::tvec4< T > const &v2, detail::tvec4< T > const &v3, detail::tvec4< T > const &v4)
 
template<typename T >
detail::tmat4x4< T > rowMajor4 (detail::tmat4x4< T > const &m)
 
-

Detailed Description

-

Build matrices with specific matrix order, row or column.

-

<glm/gtx/matrix_major_storage.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat2x2<T> glm::colMajor2 (detail::tvec2< T > const & v1,
detail::tvec2< T > const & v2 
)
-
- -

Build a column major matrix from column vectors.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat2x2<T> glm::colMajor2 (detail::tmat2x2< T > const & m)
-
- -

Build a column major matrix from other matrix.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat3x3<T> glm::colMajor3 (detail::tvec3< T > const & v1,
detail::tvec3< T > const & v2,
detail::tvec3< T > const & v3 
)
-
- -

Build a column major matrix from column vectors.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<T> glm::colMajor3 (detail::tmat3x3< T > const & m)
-
- -

Build a column major matrix from other matrix.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::colMajor4 (detail::tvec4< T > const & v1,
detail::tvec4< T > const & v2,
detail::tvec4< T > const & v3,
detail::tvec4< T > const & v4 
)
-
- -

Build a column major matrix from column vectors.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T> glm::colMajor4 (detail::tmat4x4< T > const & m)
-
- -

Build a column major matrix from other matrix.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat2x2<T> glm::rowMajor2 (detail::tvec2< T > const & v1,
detail::tvec2< T > const & v2 
)
-
- -

Build a row major matrix from row vectors.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat2x2<T> glm::rowMajor2 (detail::tmat2x2< T > const & m)
-
- -

Build a row major matrix from other matrix.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat3x3<T> glm::rowMajor3 (detail::tvec3< T > const & v1,
detail::tvec3< T > const & v2,
detail::tvec3< T > const & v3 
)
-
- -

Build a row major matrix from row vectors.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<T> glm::rowMajor3 (detail::tmat3x3< T > const & m)
-
- -

Build a row major matrix from other matrix.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::rowMajor4 (detail::tvec4< T > const & v1,
detail::tvec4< T > const & v2,
detail::tvec4< T > const & v3,
detail::tvec4< T > const & v4 
)
-
- -

Build a row major matrix from row vectors.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T> glm::rowMajor4 (detail::tmat4x4< T > const & m)
-
- -

Build a row major matrix from other matrix.

-

From GLM_GTX_matrix_major_storage extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_type_ptr + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTC_type_ptr
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
GLM_FUNC_DECL detail::tmat2x2
+< T, defaultp > 
make_mat2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x2
+< T, defaultp > 
make_mat2x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x3
+< T, defaultp > 
make_mat2x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat2x4
+< T, defaultp > 
make_mat2x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x3
+< T, defaultp > 
make_mat3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x2
+< T, defaultp > 
make_mat3x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x3
+< T, defaultp > 
make_mat3x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat3x4
+< T, defaultp > 
make_mat3x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
+< T, defaultp > 
make_mat4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x2
+< T, defaultp > 
make_mat4x2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x3
+< T, defaultp > 
make_mat4x3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tmat4x4
+< T, defaultp > 
make_mat4x4 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tquat< T,
+defaultp > 
make_quat (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec2< T,
+defaultp > 
make_vec2 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec3< T,
+defaultp > 
make_vec3 (T const *const ptr)
 
template<typename T >
GLM_FUNC_DECL detail::tvec4< T,
+defaultp > 
make_vec4 (T const *const ptr)
 
template<typename genType >
GLM_FUNC_DECL
+genType::value_type const * 
value_ptr (genType const &vec)
 
+

Detailed Description

+

Handles the interaction between pointers and vector, matrix types.

+

This extension defines an overloaded function, glm::value_ptr, which takes any of the core template types. It returns a pointer to the memory layout of the object. Matrix types store their values in column-major order.

+

This is useful for uploading data to matrices or copying data to buffer objects.

+

Example:

+
* #include <glm/glm.hpp>
+
* #include <glm/gtc/type_ptr.hpp>
+
*
+
* glm::vec3 aVector(3);
+
* glm::mat4 someMatrix(1.0);
+
*
+
* glUniform3fv(uniformLoc, 1, glm::value_ptr(aVector));
+
* glUniformMatrix4fv(uniformMatrixLoc, 1, GL_FALSE, glm::value_ptr(someMatrix));
+
*
+

<glm/gtc/type_ptr.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat2x2<T, defaultp> glm::make_mat2 (T const *const ptr)
+
+ +

Build a matrix from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat2x2<T, defaultp> glm::make_mat2x2 (T const *const ptr)
+
+ +

Build a matrix from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat2x3<T, defaultp> glm::make_mat2x3 (T const *const ptr)
+
+ +

Build a matrix from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat2x4<T, defaultp> glm::make_mat2x4 (T const *const ptr)
+
+ +

Build a matrix from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat3x3<T, defaultp> glm::make_mat3 (T const *const ptr)
+
+ +

Build a matrix from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat3x2<T, defaultp> glm::make_mat3x2 (T const *const ptr)
+
+ +

Build a matrix from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat3x3<T, defaultp> glm::make_mat3x3 (T const *const ptr)
+
+ +

Build a matrix from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat3x4<T, defaultp> glm::make_mat3x4 (T const *const ptr)
+
+ +

Build a matrix from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::make_mat4 (T const *const ptr)
+
+ +

Build a matrix from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat4x2<T, defaultp> glm::make_mat4x2 (T const *const ptr)
+
+ +

Build a matrix from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat4x3<T, defaultp> glm::make_mat4x3 (T const *const ptr)
+
+ +

Build a matrix from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tmat4x4<T, defaultp> glm::make_mat4x4 (T const *const ptr)
+
+ +

Build a matrix from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tquat<T, defaultp> glm::make_quat (T const *const ptr)
+
+ +

Build a quaternion from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tvec2<T, defaultp> glm::make_vec2 (T const *const ptr)
+
+ +

Build a vector from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tvec3<T, defaultp> glm::make_vec3 (T const *const ptr)
+
+ +

Build a vector from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL detail::tvec4<T, defaultp> glm::make_vec4 (T const *const ptr)
+
+ +

Build a vector from a pointer.

+
See Also
GLM_GTC_type_ptr
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType::value_type const* glm::value_ptr (genType const & vec)
+
+ +

Return the constant address to the data of the input parameter.

+
See Also
GLM_GTC_type_ptr
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00184.html glm-0.9.5.1/doc/api/a00184.html --- glm-0.9.4.6/doc/api/a00184.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00184.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,255 +1,235 @@ - - - - - -GLM_GTX_matrix_operation - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_matrix_operation
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tmat2x2< valType > diagonal2x2 (detail::tvec2< valType > const &v)
 
template<typename valType >
detail::tmat2x3< valType > diagonal2x3 (detail::tvec2< valType > const &v)
 
template<typename valType >
detail::tmat2x4< valType > diagonal2x4 (detail::tvec2< valType > const &v)
 
template<typename valType >
detail::tmat3x2< valType > diagonal3x2 (detail::tvec2< valType > const &v)
 
template<typename valType >
detail::tmat3x3< valType > diagonal3x3 (detail::tvec3< valType > const &v)
 
template<typename valType >
detail::tmat3x4< valType > diagonal3x4 (detail::tvec3< valType > const &v)
 
template<typename valType >
detail::tmat4x2< valType > diagonal4x2 (detail::tvec2< valType > const &v)
 
template<typename valType >
detail::tmat4x3< valType > diagonal4x3 (detail::tvec3< valType > const &v)
 
template<typename valType >
detail::tmat4x4< valType > diagonal4x4 (detail::tvec4< valType > const &v)
 
-

Detailed Description

-

Build diagonal matrices from vectors.

-

<glm/gtx/matrix_operation.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
detail::tmat2x2<valType> glm::diagonal2x2 (detail::tvec2< valType > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat2x3<valType> glm::diagonal2x3 (detail::tvec2< valType > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat2x4<valType> glm::diagonal2x4 (detail::tvec2< valType > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat3x2<valType> glm::diagonal3x2 (detail::tvec2< valType > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<valType> glm::diagonal3x3 (detail::tvec3< valType > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat3x4<valType> glm::diagonal3x4 (detail::tvec3< valType > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat4x2<valType> glm::diagonal4x2 (detail::tvec2< valType > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat4x3<valType> glm::diagonal4x3 (detail::tvec3< valType > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<valType> glm::diagonal4x4 (detail::tvec4< valType > const & v)
-
- -

Build a diagonal matrix.

-

From GLM_GTX_matrix_operation extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTC_ulp + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
GLM_FUNC_DECL uint float_distance (T const &x, T const &y)
 
template<typename T , template< typename > class vecType>
GLM_FUNC_DECL vecType< uint > float_distance (vecType< T > const &x, vecType< T > const &y)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType const &x, uint const &Distance)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x)
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType const &x, uint const &Distance)
 
+

Detailed Description

+

Allow the measurement of the accuracy of a function against a reference implementation.

+

This extension works on floating-point data and provide results in ULP. <glm/gtc/ulp.hpp> need to be included to use these features.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint glm::float_distance (T const & x,
T const & y 
)
+
+ +

Return the distance in the number of ULP between 2 scalars.

+
See Also
GLM_GTC_ulp
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL vecType<uint> glm::float_distance (vecType< T > const & x,
vecType< T > const & y 
)
+
+ +

Return the distance in the number of ULP between 2 vectors.

+
See Also
GLM_GTC_ulp
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::next_float (genType const & x)
+
+ +

Return the next ULP value(s) after the input value(s).

+
See Also
GLM_GTC_ulp
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::next_float (genType const & x,
uint const & Distance 
)
+
+ +

Return the value(s) ULP distance after the input value(s).

+
See Also
GLM_GTC_ulp
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::prev_float (genType const & x)
+
+ +

Return the previous ULP value(s) before the input value(s).

+
See Also
GLM_GTC_ulp
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::prev_float (genType const & x,
uint const & Distance 
)
+
+ +

Return the value(s) ULP distance before the input value(s).

+
See Also
GLM_GTC_ulp
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00185.html glm-0.9.5.1/doc/api/a00185.html --- glm-0.9.4.6/doc/api/a00185.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00185.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,313 +1,399 @@ - - - - - -GLM_GTX_matrix_query - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_matrix_query
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
bool isIdentity (genType const &m, typename genType::value_type const &epsilon)
 
template<typename valType >
bool isNormalized (detail::tmat2x2< valType > const &m, valType const &epsilon)
 
template<typename valType >
bool isNormalized (detail::tmat3x3< valType > const &m, valType const &epsilon)
 
template<typename valType >
bool isNormalized (detail::tmat4x4< valType > const &m, valType const &epsilon)
 
template<typename T >
bool isNull (detail::tmat2x2< T > const &m, T const &epsilon)
 
template<typename T >
bool isNull (detail::tmat3x3< T > const &m, T const &epsilon)
 
template<typename T >
bool isNull (detail::tmat4x4< T > const &m, T const &epsilon)
 
template<typename valType , template< typename > class matType>
bool isOrthogonal (matType< valType > const &m, valType const &epsilon)
 
-

Detailed Description

-

Query to evaluate matrix properties.

-

<glm/gtx/matrix_query.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isIdentity (genType const & m,
typename genType::value_type const & epsilon 
)
-
- -

Return whether a matrix is an identity matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isNormalized (detail::tmat2x2< valType > const & m,
valType const & epsilon 
)
-
- -

Return whether a matrix is a normalized matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isNormalized (detail::tmat3x3< valType > const & m,
valType const & epsilon 
)
-
- -

Return whether a matrix is a normalized matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isNormalized (detail::tmat4x4< valType > const & m,
valType const & epsilon 
)
-
- -

Return whether a matrix is a normalized matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isNull (detail::tmat2x2< T > const & m,
T const & epsilon 
)
-
- -

Return whether a matrix a null matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isNull (detail::tmat3x3< T > const & m,
T const & epsilon 
)
-
- -

Return whether a matrix a null matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isNull (detail::tmat4x4< T > const & m,
T const & epsilon 
)
-
- -

Return whether a matrix is a null matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isOrthogonal (matType< valType > const & m,
valType const & epsilon 
)
-
- -

Return whether a matrix is an orthonormalized matrix.

-

From GLM_GTX_matrix_query extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_associated_min_max + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_associated_min_max
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c)
 
template<typename genTypeT , typename genTypeU >
genTypeU associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d)
 
+

Detailed Description

+

Min and max functions that return associated values not the compared onces.

+

<glm/gtx/associated_min_max.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
genTypeU glm::associatedMax (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b 
)
+
+ +

Max comparison between 2 variables.

+
See Also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
genTypeU glm::associatedMax (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b,
const genTypeT & z,
const genTypeU & c 
)
+
+ +

Max comparison between 3 variables.

+
See Also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
genTypeU glm::associatedMax (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b,
const genTypeT & z,
const genTypeU & c,
const genTypeT & w,
const genTypeU & d 
)
+
+ +

Max comparison between 4 variables.

+
See Also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
genTypeU glm::associatedMin (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b 
)
+
+ +

Min comparison between 2 variables.

+
See Also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
genTypeU glm::associatedMin (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b,
const genTypeT & z,
const genTypeU & c 
)
+
+ +

Min comparison between 3 variables.

+
See Also
GLM_GTX_associated_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
genTypeU glm::associatedMin (const genTypeT & x,
const genTypeU & a,
const genTypeT & y,
const genTypeU & b,
const genTypeT & z,
const genTypeU & c,
const genTypeT & w,
const genTypeU & d 
)
+
+ +

Min comparison between 4 variables.

+
See Also
GLM_GTX_associated_min_max
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00186.html glm-0.9.5.1/doc/api/a00186.html --- glm-0.9.4.6/doc/api/a00186.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00186.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,60 +1,954 @@ - - - - - -GLM_GTX_mixed_producte - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_mixed_producte
-
-
- - - - - -

-Functions

-template<typename valType >
valType mixedProduct (detail::tvec3< valType > const &v1, detail::tvec3< valType > const &v2, detail::tvec3< valType > const &v3)
 
-

Detailed Description

-

Mixed product of 3 vectors.

-

<glm/gtx/mixed_product.hpp> need to be included to use these functionalities.

-
- - - - + + + + + + +GLM: GLM_GTX_bit + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

GLM_FUNC_DECL int16 bitfieldInterleave (int8 x, int8 y)
 
GLM_FUNC_DECL uint16 bitfieldInterleave (uint8 x, uint8 y)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int16 x, int16 y)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y, int32 z)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z)
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)
 
template<typename genType >
GLM_DEPRECATED GLM_FUNC_DECL
+genType 
bitRevert (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType bitRotateLeft (genType const &In, std::size_t Shift)
 
template<typename genType >
GLM_FUNC_DECL genType bitRotateRight (genType const &In, std::size_t Shift)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType fillBitfieldWithOne (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genIUType >
GLM_FUNC_DECL genIUType fillBitfieldWithZero (genIUType const &Value, int const &FromBit, int const &ToBit)
 
template<typename genType >
GLM_FUNC_DECL genType highestBitValue (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL bool isPowerOfTwo (genType const &value)
 
template<typename genIType >
GLM_FUNC_DECL genIType mask (genIType const &count)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoAbove (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoBelow (genType const &value)
 
template<typename genType >
GLM_FUNC_DECL genType powerOfTwoNearest (genType const &value)
 
+

Detailed Description

+

Allow to perform bit operations on integer values.

+

<glm/gtx/bit.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int16 glm::bitfieldInterleave (int8 x,
int8 y 
)
+
+ +

Interleaves the bits of x and y.

+

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint16 glm::bitfieldInterleave (uint8 x,
uint8 y 
)
+
+ +

Interleaves the bits of x and y.

+

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int32 glm::bitfieldInterleave (int16 x,
int16 y 
)
+
+ +

Interleaves the bits of x and y.

+

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint32 glm::bitfieldInterleave (uint16 x,
uint16 y 
)
+
+ +

Interleaves the bits of x and y.

+

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int64 glm::bitfieldInterleave (int32 x,
int32 y 
)
+
+ +

Interleaves the bits of x and y.

+

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint64 glm::bitfieldInterleave (uint32 x,
uint32 y 
)
+
+ +

Interleaves the bits of x and y.

+

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int32 glm::bitfieldInterleave (int8 x,
int8 y,
int8 z 
)
+
+ +

Interleaves the bits of x, y and z.

+

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint32 glm::bitfieldInterleave (uint8 x,
uint8 y,
uint8 z 
)
+
+ +

Interleaves the bits of x, y and z.

+

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int64 glm::bitfieldInterleave (int16 x,
int16 y,
int16 z 
)
+
+ +

Interleaves the bits of x, y and z.

+

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint64 glm::bitfieldInterleave (uint16 x,
uint16 y,
uint16 z 
)
+
+ +

Interleaves the bits of x, y and z.

+

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int64 glm::bitfieldInterleave (int32 x,
int32 y,
int32 z 
)
+
+ +

Interleaves the bits of x, y and z.

+

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint64 glm::bitfieldInterleave (uint32 x,
uint32 y,
uint32 z 
)
+
+ +

Interleaves the bits of x, y and z.

+

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int32 glm::bitfieldInterleave (int8 x,
int8 y,
int8 z,
int8 w 
)
+
+ +

Interleaves the bits of x, y, z and w.

+

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint32 glm::bitfieldInterleave (uint8 x,
uint8 y,
uint8 z,
uint8 w 
)
+
+ +

Interleaves the bits of x, y, z and w.

+

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL int64 glm::bitfieldInterleave (int16 x,
int16 y,
int16 z,
int16 w 
)
+
+ +

Interleaves the bits of x, y, z and w.

+

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL uint64 glm::bitfieldInterleave (uint16 x,
uint16 y,
uint16 z,
uint16 w 
)
+
+ +

Interleaves the bits of x, y, z and w.

+

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_DEPRECATED GLM_FUNC_DECL genType glm::bitRevert (genType const & value)
+
+ +

Revert all bits of any integer based type.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::bitRotateLeft (genType const & In,
std::size_t Shift 
)
+
+ +

Rotate all bits to the left.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::bitRotateRight (genType const & In,
std::size_t Shift 
)
+
+ +

Rotate all bits to the right.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genIUType glm::fillBitfieldWithOne (genIUType const & Value,
int const & FromBit,
int const & ToBit 
)
+
+ +

Set to 1 a range of bits.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genIUType glm::fillBitfieldWithZero (genIUType const & Value,
int const & FromBit,
int const & ToBit 
)
+
+ +

Set to 0 a range of bits.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::highestBitValue (genType const & value)
+
+ +

Find the highest bit set to 1 in a integer variable and return its value.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL bool glm::isPowerOfTwo (genType const & value)
+
+ +

Return true if the value is a power of two number.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genIType glm::mask (genIType const & count)
+
+ +

Build a mask of 'count' bits.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::powerOfTwoAbove (genType const & value)
+
+ +

Return the power of two number which value is just higher the input value.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::powerOfTwoBelow (genType const & value)
+
+ +

Return the power of two number which value is just lower the input value.

+
See Also
GLM_GTX_bit
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::powerOfTwoNearest (genType const & value)
+
+ +

Return the power of two number which value is the closet to the input value.

+
See Also
GLM_GTX_bit
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00187.html glm-0.9.5.1/doc/api/a00187.html --- glm-0.9.4.6/doc/api/a00187.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00187.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,121 +1,101 @@ - - - - - -GLM_GTX_multiple - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_multiple
-
-
- - - - - - - - -

-Functions

template<typename genType >
genType higherMultiple (genType const &Source, genType const &Multiple)
 
template<typename genType >
genType lowerMultiple (genType const &Source, genType const &Multiple)
 
-

Detailed Description

-

Find the closest number of a number multiple of other number.

-

<glm/gtx/multiple.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::higherMultiple (genType const & Source,
genType const & Multiple 
)
-
- -

Higher Multiple number of Source.

-

From GLM_GTX_multiple extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType glm::lowerMultiple (genType const & Source,
genType const & Multiple 
)
-
- -

Lower Multiple number of Source.

-

From GLM_GTX_multiple extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_closest_point + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_closest_point
+
+
+ + + + + +

+Functions

template<typename T , precision P>
detail::tvec3< T, P > closestPointOnLine (detail::tvec3< T, P > const &point, detail::tvec3< T, P > const &a, detail::tvec3< T, P > const &b)
 
+

Detailed Description

+

Find the point on a straight line which is the closet of a point.

+

<glm/gtx/closest_point.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tvec3<T, P> glm::closestPointOnLine (detail::tvec3< T, P > const & point,
detail::tvec3< T, P > const & a,
detail::tvec3< T, P > const & b 
)
+
+ +

Find the point on a straight line which is the closet of a point.

+
See Also
GLM_GTX_closest_point
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00188.html glm-0.9.5.1/doc/api/a00188.html --- glm-0.9.4.6/doc/api/a00188.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00188.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,365 +1,215 @@ - - - - - -GLM_GTX_norm - - - - - - -
-
- - - - - - -
-
- - - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
distance2 (T const &p0, T const &p1)
 
template<typename genType >
genType::value_type distance2 (genType const &p0, genType const &p1)
 
template<typename T >
l1Norm (detail::tvec3< T > const &x, detail::tvec3< T > const &y)
 
template<typename T >
l1Norm (detail::tvec3< T > const &v)
 
template<typename T >
l2Norm (detail::tvec3< T > const &x, detail::tvec3< T > const &y)
 
template<typename T >
l2Norm (detail::tvec3< T > const &x)
 
template<typename T >
length2 (T const &x)
 
template<typename genType >
genType::value_type length2 (genType const &x)
 
template<typename T >
length2 (detail::tquat< T > const &q)
 
template<typename T >
lxNorm (detail::tvec3< T > const &x, detail::tvec3< T > const &y, unsigned int Depth)
 
template<typename T >
lxNorm (detail::tvec3< T > const &x, unsigned int Depth)
 
-

Detailed Description

-

Various ways to compute vector norms.

-

<glm/gtx/norm.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
T glm::distance2 (T const & p0,
T const & p1 
)
-
- -

Returns the squared distance between p0 and p1, i.e., length(p0 - p1).

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType::value_type glm::distance2 (genType const & p0,
genType const & p1 
)
-
- -

Returns the squared distance between p0 and p1, i.e., length(p0 - p1).

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
T glm::l1Norm (detail::tvec3< T > const & x,
detail::tvec3< T > const & y 
)
-
- -

Returns the L1 norm between x and y.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - -
T glm::l1Norm (detail::tvec3< T > const & v)
-
- -

Returns the L1 norm of v.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
T glm::l2Norm (detail::tvec3< T > const & x,
detail::tvec3< T > const & y 
)
-
- -

Returns the L2 norm between x and y.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - -
T glm::l2Norm (detail::tvec3< T > const & x)
-
- -

Returns the L2 norm of v.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - -
T glm::length2 (T const & x)
-
- -

Returns the squared length of x.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - -
genType::value_type glm::length2 (genType const & x)
-
- -

Returns the squared length of x.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - -
T glm::length2 (detail::tquat< T > const & q)
-
- -

Returns the squared length of x.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
T glm::lxNorm (detail::tvec3< T > const & x,
detail::tvec3< T > const & y,
unsigned int Depth 
)
-
- -

Returns the L norm between x and y.

-

From GLM_GTX_norm extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
T glm::lxNorm (detail::tvec3< T > const & x,
unsigned int Depth 
)
-
- -

Returns the L norm of v.

-

From GLM_GTX_norm extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_color_space + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tvec3< T, P > hsvColor (detail::tvec3< T, P > const &rgbValue)
 
template<typename T , precision P>
luminosity (detail::tvec3< T, P > const &color)
 
template<typename T , precision P>
detail::tvec3< T, P > rgbColor (detail::tvec3< T, P > const &hsvValue)
 
template<typename T , precision P>
detail::tmat4x4< T, P > saturation (T const s)
 
template<typename T , precision P>
detail::tvec3< T, P > saturation (T const s, detail::tvec3< T, P > const &color)
 
template<typename T , precision P>
detail::tvec4< T, P > saturation (T const s, detail::tvec4< T, P > const &color)
 
+

Detailed Description

+

Related to RGB to HSV conversions and operations.

+

<glm/gtx/color_space.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
detail::tvec3<T, P> glm::hsvColor (detail::tvec3< T, P > const & rgbValue)
+
+ +

Converts a color from RGB color space to its color in HSV color space.

+
See Also
GLM_GTX_color_space
+ +
+
+ +
+
+ + + + + + + + +
T glm::luminosity (detail::tvec3< T, P > const & color)
+
+ +

Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.

+
See Also
GLM_GTX_color_space
+ +
+
+ +
+
+ + + + + + + + +
detail::tvec3<T, P> glm::rgbColor (detail::tvec3< T, P > const & hsvValue)
+
+ +

Converts a color from HSV color space to its color in RGB color space.

+
See Also
GLM_GTX_color_space
+ +
+
+ +
+
+ + + + + + + + +
detail::tmat4x4<T, P> glm::saturation (T const s)
+
+ +

Build a saturation matrix.

+
See Also
GLM_GTX_color_space
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec3<T, P> glm::saturation (T const s,
detail::tvec3< T, P > const & color 
)
+
+ +

Modify the saturation of a color.

+
See Also
GLM_GTX_color_space
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec4<T, P> glm::saturation (T const s,
detail::tvec4< T, P > const & color 
)
+
+ +

Modify the saturation of a color.

+
See Also
GLM_GTX_color_space
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00189.html glm-0.9.5.1/doc/api/a00189.html --- glm-0.9.4.6/doc/api/a00189.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00189.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,95 +1,155 @@ - - - - - -GLM_GTX_normal - - - - - - -
-
- - - - - - -
-
- - - -
- -
- - - - - -

-Functions

template<typename T >
detail::tvec3< T > triangleNormal (detail::tvec3< T > const &p1, detail::tvec3< T > const &p2, detail::tvec3< T > const &p3)
 
-

Detailed Description

-

Compute the normal of a triangle.

-

<glm/gtx/normal.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tvec3<T> glm::triangleNormal (detail::tvec3< T > const & p1,
detail::tvec3< T > const & p2,
detail::tvec3< T > const & p3 
)
-
- -

Computes triangle normal from triangle points.

-

From GLM_GTX_normal extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_color_space_YCoCg + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_color_space_YCoCg
+
+
+ + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tvec3< T, P > rgb2YCoCg (detail::tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
detail::tvec3< T, P > rgb2YCoCgR (detail::tvec3< T, P > const &rgbColor)
 
template<typename T , precision P>
detail::tvec3< T, P > YCoCg2rgb (detail::tvec3< T, P > const &YCoCgColor)
 
template<typename T , precision P>
detail::tvec3< T, P > YCoCgR2rgb (detail::tvec3< T, P > const &YCoCgColor)
 
+

Detailed Description

+

RGB to YCoCg conversions and operations.

+

<glm/gtx/color_space_YCoCg.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
detail::tvec3<T, P> glm::rgb2YCoCg (detail::tvec3< T, P > const & rgbColor)
+
+ +

Convert a color from RGB color space to YCoCg color space.

+
See Also
GLM_GTX_color_space_YCoCg
+ +
+
+ +
+
+ + + + + + + + +
detail::tvec3<T, P> glm::rgb2YCoCgR (detail::tvec3< T, P > const & rgbColor)
+
+ +

Convert a color from RGB color space to YCoCgR color space.

+
See Also
"YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range"
+
+GLM_GTX_color_space_YCoCg
+ +
+
+ +
+
+ + + + + + + + +
detail::tvec3<T, P> glm::YCoCg2rgb (detail::tvec3< T, P > const & YCoCgColor)
+
+ +

Convert a color from YCoCg color space to RGB color space.

+
See Also
GLM_GTX_color_space_YCoCg
+ +
+
+ +
+
+ + + + + + + + +
detail::tvec3<T, P> glm::YCoCgR2rgb (detail::tvec3< T, P > const & YCoCgColor)
+
+ +

Convert a color from YCoCgR color space to RGB color space.

+
See Also
"YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range"
+
+GLM_GTX_color_space_YCoCg
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00190.html glm-0.9.5.1/doc/api/a00190.html --- glm-0.9.4.6/doc/api/a00190.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00190.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,121 +1,410 @@ - - - - - -GLM_GTX_normalize_dot - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_normalize_dot
-
-
- - - - - - - - -

-Functions

template<typename genType >
genType::value_type fastNormalizeDot (genType const &x, genType const &y)
 
template<typename genType >
genType::value_type normalizeDot (genType const &x, genType const &y)
 
-

Detailed Description

-

Dot product of vectors that need to be normalize with a single square root.

-

<glm/gtx/normalized_dot.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
genType::value_type glm::fastNormalizeDot (genType const & x,
genType const & y 
)
-
- -

Normalize parameters and returns the dot product of x and y.

-

Faster that dot(fastNormalize(x), fastNormalize(y)). From GLM_GTX_normalize_dot extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genType::value_type glm::normalizeDot (genType const & x,
genType const & y 
)
-
- -

Normalize parameters and returns the dot product of x and y.

-

It's faster that dot(normalize(x), normalize(y)). From GLM_GTX_normalize_dot extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_compatibility + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_compatibility
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

+typedef bool bool1
 
+typedef bool bool1x1
 
+typedef detail::tvec2< bool,
+highp > 
bool2
 
+typedef detail::tmat2x2< bool,
+highp > 
bool2x2
 
+typedef detail::tmat2x3< bool,
+highp > 
bool2x3
 
+typedef detail::tmat2x4< bool,
+highp > 
bool2x4
 
+typedef detail::tvec3< bool,
+highp > 
bool3
 
+typedef detail::tmat3x2< bool,
+highp > 
bool3x2
 
+typedef detail::tmat3x3< bool,
+highp > 
bool3x3
 
+typedef detail::tmat3x4< bool,
+highp > 
bool3x4
 
+typedef detail::tvec4< bool,
+highp > 
bool4
 
+typedef detail::tmat4x2< bool,
+highp > 
bool4x2
 
+typedef detail::tmat4x3< bool,
+highp > 
bool4x3
 
+typedef detail::tmat4x4< bool,
+highp > 
bool4x4
 
+typedef double double1
 
+typedef double double1x1
 
+typedef detail::tvec2< double,
+highp > 
double2
 
+typedef detail::tmat2x2
+< double, highp > 
double2x2
 
+typedef detail::tmat2x3
+< double, highp > 
double2x3
 
+typedef detail::tmat2x4
+< double, highp > 
double2x4
 
+typedef detail::tvec3< double,
+highp > 
double3
 
+typedef detail::tmat3x2
+< double, highp > 
double3x2
 
+typedef detail::tmat3x3
+< double, highp > 
double3x3
 
+typedef detail::tmat3x4
+< double, highp > 
double3x4
 
+typedef detail::tvec4< double,
+highp > 
double4
 
+typedef detail::tmat4x2
+< double, highp > 
double4x2
 
+typedef detail::tmat4x3
+< double, highp > 
double4x3
 
+typedef detail::tmat4x4
+< double, highp > 
double4x4
 
+typedef float float1
 
+typedef float float1x1
 
+typedef detail::tvec2< float,
+highp > 
float2
 
+typedef detail::tmat2x2< float,
+highp > 
float2x2
 
+typedef detail::tmat2x3< float,
+highp > 
float2x3
 
+typedef detail::tmat2x4< float,
+highp > 
float2x4
 
+typedef detail::tvec3< float,
+highp > 
float3
 
+typedef detail::tmat3x2< float,
+highp > 
float3x2
 
+typedef detail::tmat3x3< float,
+highp > 
float3x3
 
+typedef detail::tmat3x4< float,
+highp > 
float3x4
 
+typedef detail::tvec4< float,
+highp > 
float4
 
+typedef detail::tmat4x2< float,
+highp > 
float4x2
 
+typedef detail::tmat4x3< float,
+highp > 
float4x3
 
+typedef detail::tmat4x4< float,
+highp > 
float4x4
 
+typedef int int1
 
+typedef int int1x1
 
+typedef detail::tvec2< int, highp > int2
 
+typedef detail::tmat2x2< int,
+highp > 
int2x2
 
+typedef detail::tmat2x3< int,
+highp > 
int2x3
 
+typedef detail::tmat2x4< int,
+highp > 
int2x4
 
+typedef detail::tvec3< int, highp > int3
 
+typedef detail::tmat3x2< int,
+highp > 
int3x2
 
+typedef detail::tmat3x3< int,
+highp > 
int3x3
 
+typedef detail::tmat3x4< int,
+highp > 
int3x4
 
+typedef detail::tvec4< int, highp > int4
 
+typedef detail::tmat4x2< int,
+highp > 
int4x2
 
+typedef detail::tmat4x3< int,
+highp > 
int4x3
 
+typedef detail::tmat4x4< int,
+highp > 
int4x4
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+template<typename T , precision P>
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec2< T, P > 
atan2 (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec3< T, P > 
atan2 (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec4< T, P > 
atan2 (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y)
 
+template<typename genType >
bool isfinite (genType const &x)
 
+template<typename T , precision P>
detail::tvec2< bool, P > isfinite (const detail::tvec2< T, P > &x)
 
+template<typename T , precision P>
detail::tvec3< bool, P > isfinite (const detail::tvec3< T, P > &x)
 
+template<typename T , precision P>
detail::tvec4< bool, P > isfinite (const detail::tvec4< T, P > &x)
 
+template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec2< T, P > 
lerp (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec3< T, P > 
lerp (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec4< T, P > 
lerp (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y, T a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec2< T, P > 
lerp (const detail::tvec2< T, P > &x, const detail::tvec2< T, P > &y, const detail::tvec2< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec3< T, P > 
lerp (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y, const detail::tvec3< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec4< T, P > 
lerp (const detail::tvec4< T, P > &x, const detail::tvec4< T, P > &y, const detail::tvec4< T, P > &a)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER T saturate (T x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec2< T, P > 
saturate (const detail::tvec2< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec3< T, P > 
saturate (const detail::tvec3< T, P > &x)
 
+template<typename T , precision P>
GLM_FUNC_QUALIFIER
+detail::tvec4< T, P > 
saturate (const detail::tvec4< T, P > &x)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T slerp (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
+

Detailed Description

+

Provide functions to increase the compatibility with Cg and HLSL languages.

+

<glm/gtx/compatibility.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_QUALIFIER T glm::slerp (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y,
T const & a 
)
+
+ +

Returns the slurp interpolation between two quaternions.

+

Spherical linear interpolation of two quaternions.

+ +

Definition at line 73 of file compatibility.hpp.

+ +

References glm::mix().

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00191.html glm-0.9.5.1/doc/api/a00191.html --- glm-0.9.4.6/doc/api/a00191.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00191.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,95 +1,151 @@ - - - - - -GLM_GTX_number_precision - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_number_precision
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

-typedef f16 f16mat1
 
-typedef f16 f16mat1x1
 
-typedef f16 f16vec1
 
-typedef f32 f32mat1
 
-typedef f32 f32mat1x1
 
-typedef f32 f32vec1
 
-typedef f64 f64mat1
 
-typedef f64 f64mat1x1
 
-typedef f64 f64vec1
 
-typedef u16 u16vec1
 
-typedef u32 u32vec1
 
-typedef u64 u64vec1
 
-typedef u8 u8vec1
 
-

Detailed Description

-

Defined size types.

-

<glm/gtx/number_precision.hpp> need to be included to use these functionalities.

-
- - - - + + + + + + +GLM: GLM_GTX_component_wise + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_component_wise
+
+
+ + + + + + + + + + + + + + +

+Functions

template<typename genType >
genType::value_type compAdd (genType const &v)
 
template<typename genType >
genType::value_type compMax (genType const &v)
 
template<typename genType >
genType::value_type compMin (genType const &v)
 
template<typename genType >
genType::value_type compMul (genType const &v)
 
+

Detailed Description

+

Operations between components of a type.

+

<glm/gtx/component_wise.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
genType::value_type glm::compAdd (genType const & v)
+
+ +

Add all vector components together.

+
See Also
GLM_GTX_component_wise
+ +
+
+ +
+
+ + + + + + + + +
genType::value_type glm::compMax (genType const & v)
+
+ +

Find the maximum value between single vector components.

+
See Also
GLM_GTX_component_wise
+ +
+
+ +
+
+ + + + + + + + +
genType::value_type glm::compMin (genType const & v)
+
+ +

Find the minimum value between single vector components.

+
See Also
GLM_GTX_component_wise
+ +
+
+ +
+
+ + + + + + + + +
genType::value_type glm::compMul (genType const & v)
+
+ +

Multiply all vector components together.

+
See Also
GLM_GTX_component_wise
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00192.html glm-0.9.5.1/doc/api/a00192.html --- glm-0.9.4.6/doc/api/a00192.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00192.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,221 +1,475 @@ - - - - - -GLM_GTX_ocl_type - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_ocl_type
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Typedefs

-typedef detail::int8 cl_char
 
-typedef detail::int8 cl_char1
 
-typedef detail::tvec2
-< detail::int8 > 
cl_char2
 
-typedef detail::tvec3
-< detail::int8 > 
cl_char3
 
-typedef detail::tvec4
-< detail::int8 > 
cl_char4
 
-typedef detail::float32 cl_float
 
-typedef detail::float32 cl_float1
 
-typedef detail::tvec2
-< detail::float32 > 
cl_float2
 
-typedef detail::tvec3
-< detail::float32 > 
cl_float3
 
-typedef detail::tvec4
-< detail::float32 > 
cl_float4
 
-typedef detail::float16 cl_half
 
-typedef detail::int32 cl_int
 
-typedef detail::int32 cl_int1
 
-typedef detail::tvec2
-< detail::int32 > 
cl_int2
 
-typedef detail::tvec3
-< detail::int32 > 
cl_int3
 
-typedef detail::tvec4
-< detail::int32 > 
cl_int4
 
-typedef detail::int64 cl_long
 
-typedef detail::int64 cl_long1
 
-typedef detail::tvec2
-< detail::int64 > 
cl_long2
 
-typedef detail::tvec3
-< detail::int64 > 
cl_long3
 
-typedef detail::tvec4
-< detail::int64 > 
cl_long4
 
-typedef detail::int16 cl_short
 
-typedef detail::int16 cl_short1
 
-typedef detail::tvec2
-< detail::int16 > 
cl_short2
 
-typedef detail::tvec3
-< detail::int16 > 
cl_short3
 
-typedef detail::tvec4
-< detail::int16 > 
cl_short4
 
-typedef detail::uint8 cl_uchar
 
-typedef detail::uint8 cl_uchar1
 
-typedef detail::tvec2
-< detail::uint8 > 
cl_uchar2
 
-typedef detail::tvec3
-< detail::uint8 > 
cl_uchar3
 
-typedef detail::tvec4
-< detail::uint8 > 
cl_uchar4
 
-typedef detail::uint32 cl_uint
 
-typedef detail::uint32 cl_uint1
 
-typedef detail::tvec2
-< detail::uint32 > 
cl_uint2
 
-typedef detail::tvec3
-< detail::uint32 > 
cl_uint3
 
-typedef detail::tvec4
-< detail::uint32 > 
cl_uint4
 
-typedef detail::uint64 cl_ulong
 
-typedef detail::uint64 cl_ulong1
 
-typedef detail::tvec2
-< detail::uint64 > 
cl_ulong2
 
-typedef detail::tvec3
-< detail::uint64 > 
cl_ulong3
 
-typedef detail::tvec4
-< detail::uint64 > 
cl_ulong4
 
-typedef detail::uint16 cl_ushort
 
-typedef detail::uint16 cl_ushort1
 
-typedef detail::tvec2
-< detail::uint16 > 
cl_ushort2
 
-typedef detail::tvec3
-< detail::uint16 > 
cl_ushort3
 
-typedef detail::tvec4
-< detail::uint16 > 
cl_ushort4
 
-

Detailed Description

-

OpenCL types.

-

<glm/gtx/ocl_type.hpp> need to be included to use these functionalities.

-
- - - - + + + + + + +GLM: GLM_GTX_dual_quaternion + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_dual_quaternion
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef highp_ddualquat ddualquat
 
typedef highp_fdualquat dualquat
 
typedef highp_fdualquat fdualquat
 
typedef detail::tdualquat
+< double, highp > 
highp_ddualquat
 
typedef detail::tdualquat
+< float, highp > 
highp_dualquat
 
typedef detail::tdualquat
+< float, highp > 
highp_fdualquat
 
typedef detail::tdualquat
+< double, lowp > 
lowp_ddualquat
 
typedef detail::tdualquat
+< float, lowp > 
lowp_dualquat
 
typedef detail::tdualquat
+< float, lowp > 
lowp_fdualquat
 
typedef detail::tdualquat
+< double, mediump > 
mediump_ddualquat
 
typedef detail::tdualquat
+< float, mediump > 
mediump_dualquat
 
typedef detail::tdualquat
+< float, mediump > 
mediump_fdualquat
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tdualquat< T, P > dualquat_cast (detail::tmat2x4< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > dualquat_cast (detail::tmat3x4< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > inverse (detail::tdualquat< T, P > const &q)
 
template<typename T , precision P>
detail::tdualquat< T, P > lerp (detail::tdualquat< T, P > const &x, detail::tdualquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
detail::tmat2x4< T, P > mat2x4_cast (detail::tdualquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat3x4< T, P > mat3x4_cast (detail::tdualquat< T, P > const &x)
 
template<typename T , precision P>
detail::tdualquat< T, P > normalize (detail::tdualquat< T, P > const &q)
 
+

Detailed Description

+

Defines a templated dual-quaternion type and several dual-quaternion operations.

+

<glm/gtx/dual_quaternion.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+ +
+
+ + + + +
typedef highp_ddualquat ddualquat
+
+ +

Dual-quaternion of default double-precision floating-point numbers.

+
See Also
GLM_GTX_dual_quaternion
+ +

Definition at line 279 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_fdualquat dualquat
+
+ +

Dual-quaternion of floating-point numbers.

+
See Also
GLM_GTX_dual_quaternion
+ +

Definition at line 255 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef highp_fdualquat fdualquat
+
+ +

Dual-quaternion of single-precision floating-point numbers.

+
See Also
GLM_GTX_dual_quaternion
+ +

Definition at line 260 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tdualquat<double, highp> highp_ddualquat
+
+ +

Dual-quaternion of high double-precision floating-point numbers.

+
See Also
GLM_GTX_dual_quaternion
+ +

Definition at line 248 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tdualquat<float, highp> highp_dualquat
+
+ +

Dual-quaternion of high single-precision floating-point numbers.

+
See Also
GLM_GTX_dual_quaternion
+ +

Definition at line 216 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tdualquat<float, highp> highp_fdualquat
+
+ +

Dual-quaternion of high single-precision floating-point numbers.

+
See Also
GLM_GTX_dual_quaternion
+ +

Definition at line 232 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tdualquat<double, lowp> lowp_ddualquat
+
+ +

Dual-quaternion of low double-precision floating-point numbers.

+
See Also
GLM_GTX_dual_quaternion
+ +

Definition at line 238 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tdualquat<float, lowp> lowp_dualquat
+
+ +

Dual-quaternion of low single-precision floating-point numbers.

+
See Also
GLM_GTX_dual_quaternion
+ +

Definition at line 206 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tdualquat<float, lowp> lowp_fdualquat
+
+ +

Dual-quaternion of low single-precision floating-point numbers.

+
See Also
GLM_GTX_dual_quaternion
+ +

Definition at line 222 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tdualquat<double, mediump> mediump_ddualquat
+
+ +

Dual-quaternion of medium double-precision floating-point numbers.

+
See Also
GLM_GTX_dual_quaternion
+ +

Definition at line 243 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tdualquat<float, mediump> mediump_dualquat
+
+ +

Dual-quaternion of medium single-precision floating-point numbers.

+
See Also
GLM_GTX_dual_quaternion
+ +

Definition at line 211 of file dual_quaternion.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tdualquat<float, mediump> mediump_fdualquat
+
+ +

Dual-quaternion of medium single-precision floating-point numbers.

+
See Also
GLM_GTX_dual_quaternion
+ +

Definition at line 227 of file dual_quaternion.hpp.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
detail::tdualquat<T, P> glm::dualquat_cast (detail::tmat2x4< T, P > const & x)
+
+ +

Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion.

+
See Also
GLM_GTX_dual_quaternion
+ +
+
+ +
+
+ + + + + + + + +
detail::tdualquat<T, P> glm::dualquat_cast (detail::tmat3x4< T, P > const & x)
+
+ +

Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion.

+
See Also
GLM_GTX_dual_quaternion
+ +
+
+ +
+
+ + + + + + + + +
detail::tdualquat<T, P> glm::inverse (detail::tdualquat< T, P > const & q)
+
+ +

Returns the q inverse.

+
See Also
GLM_GTX_dual_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tdualquat<T, P> glm::lerp (detail::tdualquat< T, P > const & x,
detail::tdualquat< T, P > const & y,
T const & a 
)
+
+ +

Returns the linear interpolation of two dual quaternion.

+
See Also
GLM_GTX_dual_quaternion
+ +
+
+ +
+
+ + + + + + + + +
detail::tmat2x4<T, P> glm::mat2x4_cast (detail::tdualquat< T, P > const & x)
+
+ +

Converts a quaternion to a 2 * 4 matrix.

+
See Also
GLM_GTX_dual_quaternion
+ +
+
+ +
+
+ + + + + + + + +
detail::tmat3x4<T, P> glm::mat3x4_cast (detail::tdualquat< T, P > const & x)
+
+ +

Converts a quaternion to a 3 * 4 matrix.

+
See Also
GLM_GTX_dual_quaternion
+ +
+
+ +
+
+ + + + + + + + +
detail::tdualquat<T, P> glm::normalize (detail::tdualquat< T, P > const & q)
+
+ +

Returns the normalized quaternion.

+
See Also
GLM_GTX_dual_quaternion
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00193.html glm-0.9.5.1/doc/api/a00193.html --- glm-0.9.4.6/doc/api/a00193.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00193.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,207 +1,485 @@ - - - - - -GLM_GTX_optimum_pow - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_optimum_pow
-
-
- - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
genType pow2 (const genType &x)
 
template<typename genType >
genType pow3 (const genType &x)
 
template<typename genType >
genType pow4 (const genType &x)
 
bool powOfTwo (int num)
 
detail::tvec2< bool > powOfTwo (const detail::tvec2< int > &x)
 
detail::tvec3< bool > powOfTwo (const detail::tvec3< int > &x)
 
detail::tvec4< bool > powOfTwo (const detail::tvec4< int > &x)
 
-

Detailed Description

-

Integer exponentiation of power functions.

-

<glm/gtx/optimum_pow.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
genType glm::gtx::pow2 (const genType & x)
-
- -

Returns x raised to the power of 2.

-

From GLM_GTX_optimum_pow extension.

- -
-
- -
-
- - - - - - - - -
genType glm::gtx::pow3 (const genType & x)
-
- -

Returns x raised to the power of 3.

-

From GLM_GTX_optimum_pow extension.

- -
-
- -
-
- - - - - - - - -
genType glm::gtx::pow4 (const genType & x)
-
- -

Returns x raised to the power of 4.

-

From GLM_GTX_optimum_pow extension.

- -
-
- -
-
- - - - - - - - -
bool glm::gtx::powOfTwo (int num)
-
- -

Checks if the parameter is a power of 2 number.

-

From GLM_GTX_optimum_pow extension.

- -
-
- -
-
- - - - - - - - -
detail::tvec2<bool> glm::gtx::powOfTwo (const detail::tvec2< int > & x)
-
- -

Checks to determine if the parameter component are power of 2 numbers.

-

From GLM_GTX_optimum_pow extension.

- -
-
- -
-
- - - - - - - - -
detail::tvec3<bool> glm::gtx::powOfTwo (const detail::tvec3< int > & x)
-
- -

Checks to determine if the parameter component are power of 2 numbers.

-

From GLM_GTX_optimum_pow extension.

- -
-
- -
-
- - - - - - - - -
detail::tvec4<bool> glm::gtx::powOfTwo (const detail::tvec4< int > & x)
-
- -

Checks to determine if the parameter component are power of 2 numbers.

-

From GLM_GTX_optimum_pow extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_euler_angles + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_euler_angles
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleX (T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleY (T const &angleY)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZ (T const &angleZ)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZX (T const &angle, T const &angleX)
 
template<typename T >
detail::tmat4x4< T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 
template<typename T >
detail::tmat2x2< T, defaultp > orientate2 (T const &angle)
 
template<typename T >
detail::tmat3x3< T, defaultp > orientate3 (T const &angle)
 
template<typename T , precision P>
detail::tmat3x3< T, P > orientate3 (detail::tvec3< T, P > const &angles)
 
template<typename T , precision P>
detail::tmat4x4< T, P > orientate4 (detail::tvec3< T, P > const &angles)
 
template<typename T >
detail::tmat4x4< T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 
+

Detailed Description

+

Build matrices from Euler angles.

+

<glm/gtx/euler_angles.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
detail::tmat4x4<T, defaultp> glm::eulerAngleX (T const & angleX)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, defaultp> glm::eulerAngleXY (T const & angleX,
T const & angleY 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, defaultp> glm::eulerAngleXZ (T const & angleX,
T const & angleZ 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + +
detail::tmat4x4<T, defaultp> glm::eulerAngleY (T const & angleY)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, defaultp> glm::eulerAngleYX (T const & angleY,
T const & angleX 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, defaultp> glm::eulerAngleYXZ (T const & yaw,
T const & pitch,
T const & roll 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, defaultp> glm::eulerAngleYZ (T const & angleY,
T const & angleZ 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + +
detail::tmat4x4<T, defaultp> glm::eulerAngleZ (T const & angleZ)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, defaultp> glm::eulerAngleZX (T const & angle,
T const & angleX 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, defaultp> glm::eulerAngleZY (T const & angleZ,
T const & angleY 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + +
detail::tmat2x2<T, defaultp> glm::orientate2 (T const & angle)
+
+ +

Creates a 2D 2 * 2 rotation matrix from an euler angle.

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + +
detail::tmat3x3<T, defaultp> glm::orientate3 (T const & angle)
+
+ +

Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + +
detail::tmat3x3<T, P> glm::orientate3 (detail::tvec3< T, P > const & angles)
+
+ +

Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + +
detail::tmat4x4<T, P> glm::orientate4 (detail::tvec3< T, P > const & angles)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

+
See Also
GLM_GTX_euler_angles
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, defaultp> glm::yawPitchRoll (T const & yaw,
T const & pitch,
T const & roll 
)
+
+ +

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

+
See Also
GLM_GTX_euler_angles
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00194.html glm-0.9.5.1/doc/api/a00194.html --- glm-0.9.4.6/doc/api/a00194.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00194.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,111 +1,102 @@ - - - - - -GLM_GTX_orthonormalize - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_orthonormalize
-
-
- - - - - - - - -

-Functions

template<typename T >
detail::tmat3x3< T > orthonormalize (const detail::tmat3x3< T > &m)
 
template<typename T >
detail::tvec3< T > orthonormalize (const detail::tvec3< T > &x, const detail::tvec3< T > &y)
 
-

Detailed Description

-

Orthonormalize matrices.

-

<glm/gtx/orthonormalize.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
detail::tmat3x3<T> glm::orthonormalize (const detail::tmat3x3< T > & m)
-
- -

Returns the orthonormalized matrix of m.

-

From GLM_GTX_orthonormalize extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<T> glm::orthonormalize (const detail::tvec3< T > & x,
const detail::tvec3< T > & y 
)
-
- -

Orthonormalizes x according y.

-

From GLM_GTX_orthonormalize extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_extend + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+ +
+ + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 
+

Detailed Description

+

Extend a position from a source to a position at a defined length.

+

<glm/gtx/extend.hpp> need to be included to use these functionalities.

+

<glm/gtx/scalar_relational.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::extend (genType const & Origin,
genType const & Source,
typename genType::value_type const Length 
)
+
+ +

Extends of Length the Origin position using the (Source - Origin) direction.

+
See Also
GLM_GTX_extend
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00195.html glm-0.9.5.1/doc/api/a00195.html --- glm-0.9.4.6/doc/api/a00195.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00195.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,89 +1,555 @@ - - - - - -GLM_GTX_perpendicular - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_perpendicular
-
-
- - - - - -

-Functions

template<typename vecType >
vecType perp (vecType const &x, vecType const &Normal)
 
-

Detailed Description

-

Perpendicular of a vector from other one.

-

<glm/gtx/perpendicular.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
vecType glm::perp (vecType const & x,
vecType const & Normal 
)
-
- -

Projects x a perpendicular axis of Normal.

-

From GLM_GTX_perpendicular extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_extented_min_max + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_extented_min_max
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
max (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
max (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
template<typename T >
min (T const &x, T const &y, T const &z)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 
template<typename T >
min (T const &x, T const &y, T const &z, T const &w)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 
template<typename T , template< typename > class C>
C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 
+

Detailed Description

+

Min and max functions for 3 to 4 parameters.

+

<glm/gtx/extented_min_max.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
T glm::max (T const & x,
T const & y,
T const & z 
)
+
+ +

Return the maximum component-wise values of 3 inputs.

+
See Also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
C<T> glm::max (C< T > const & x,
typename C< T >::T const & y,
typename C< T >::T const & z 
)
+
+ +

Return the maximum component-wise values of 3 inputs.

+
See Also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
C<T> glm::max (C< T > const & x,
C< T > const & y,
C< T > const & z 
)
+
+ +

Return the maximum component-wise values of 3 inputs.

+
See Also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
T glm::max (T const & x,
T const & y,
T const & z,
T const & w 
)
+
+ +

Return the maximum component-wise values of 4 inputs.

+
See Also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
C<T> glm::max (C< T > const & x,
typename C< T >::T const & y,
typename C< T >::T const & z,
typename C< T >::T const & w 
)
+
+ +

Return the maximum component-wise values of 4 inputs.

+
See Also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
C<T> glm::max (C< T > const & x,
C< T > const & y,
C< T > const & z,
C< T > const & w 
)
+
+ +

Return the maximum component-wise values of 4 inputs.

+
See Also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
T glm::min (T const & x,
T const & y,
T const & z 
)
+
+ +

Return the minimum component-wise values of 3 inputs.

+
See Also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
C<T> glm::min (C< T > const & x,
typename C< T >::T const & y,
typename C< T >::T const & z 
)
+
+ +

Return the minimum component-wise values of 3 inputs.

+
See Also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
C<T> glm::min (C< T > const & x,
C< T > const & y,
C< T > const & z 
)
+
+ +

Return the minimum component-wise values of 3 inputs.

+
See Also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
T glm::min (T const & x,
T const & y,
T const & z,
T const & w 
)
+
+ +

Return the minimum component-wise values of 4 inputs.

+
See Also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
C<T> glm::min (C< T > const & x,
typename C< T >::T const & y,
typename C< T >::T const & z,
typename C< T >::T const & w 
)
+
+ +

Return the minimum component-wise values of 4 inputs.

+
See Also
GLM_GTX_extented_min_max
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
C<T> glm::min (C< T > const & x,
C< T > const & y,
C< T > const & z,
C< T > const & w 
)
+
+ +

Return the minimum component-wise values of 4 inputs.

+
See Also
GLM_GTX_extented_min_max
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00196.html glm-0.9.5.1/doc/api/a00196.html --- glm-0.9.4.6/doc/api/a00196.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00196.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,101 +1,237 @@ - - - - - -GLM_GTX_polar_coordinates - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_polar_coordinates
-
-
- - - - - - - - -

-Functions

template<typename T >
detail::tvec3< T > euclidean (detail::tvec3< T > const &polar)
 
template<typename T >
detail::tvec3< T > polar (detail::tvec3< T > const &euclidean)
 
-

Detailed Description

-

Conversion from Euclidean space to polar space and revert.

-

<glm/gtx/polar_coordinates.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
detail::tvec3<T> glm::euclidean (detail::tvec3< T > const & polar)
-
- -

Convert Polar to Euclidean coordinates.

-

From GLM_GTX_polar_coordinates extension.

- -
-
- -
-
- - - - - - - - -
detail::tvec3<T> glm::polar (detail::tvec3< T > const & euclidean)
-
- -

Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude.

-

From GLM_GTX_polar_coordinates extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_fast_exponential + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_fast_exponential
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
fastExp (const T &x)
 
template<typename T >
fastExp2 (const T &x)
 
template<typename T >
fastLn (const T &x)
 
template<typename T >
fastLog (const T &x)
 
template<typename T >
fastLog2 (const T &x)
 
template<typename genType >
genType fastPow (genType const &x, genType const &y)
 
template<typename genTypeT , typename genTypeU >
genTypeT fastPow (genTypeT const &x, genTypeU const &y)
 
+

Detailed Description

+

Fast but less accurate implementations of exponential based functions.

+

<glm/gtx/fast_exponential.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
T glm::fastExp (const T & x)
+
+ +

Faster than the common exp function but less accurate.

+
See Also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + +
T glm::fastExp2 (const T & x)
+
+ +

Faster than the common exp2 function but less accurate.

+
See Also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + +
T glm::fastLn (const T & x)
+
+ +

Faster than the common ln function but less accurate.

+
See Also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + +
T glm::fastLog (const T & x)
+
+ +

Faster than the common log function but less accurate.

+
See Also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + +
T glm::fastLog2 (const T & x)
+
+ +

Faster than the common log2 function but less accurate.

+
See Also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
genType glm::fastPow (genType const & x,
genType const & y 
)
+
+ +

Faster than the common pow function but less accurate.

+
See Also
GLM_GTX_fast_exponential
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
genTypeT glm::fastPow (genTypeT const & x,
genTypeU const & y 
)
+
+ +

Faster than the common pow function but less accurate.

+
See Also
GLM_GTX_fast_exponential
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00197.html glm-0.9.5.1/doc/api/a00197.html --- glm-0.9.4.6/doc/api/a00197.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00197.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,89 +1,186 @@ - - - - - -GLM_GTX_projection - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_projection
-
-
- - - - - -

-Functions

template<typename vecType >
vecType proj (vecType const &x, vecType const &Normal)
 
-

Detailed Description

-

Projection of a vector to other one.

-

<glm/gtx/projection.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
vecType glm::proj (vecType const & x,
vecType const & Normal 
)
-
- -

Projects x on Normal.

-

From GLM_GTX_projection extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_fast_square_root + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_fast_square_root
+
+
+ + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
genType::value_type fastDistance (genType const &x, genType const &y)
 
template<typename genType >
genType fastInverseSqrt (genType const &x)
 
template<typename genType >
genType::value_type fastLength (genType const &x)
 
template<typename genType >
genType fastNormalize (genType const &x)
 
template<typename genType >
genType fastSqrt (genType const &x)
 
+

Detailed Description

+

Fast but less accurate implementations of square root based functions.

+
    +
  • Sqrt optimisation based on Newton's method, www.gamedev.net/community/forums/topic.asp?topic id=139956
  • +
+

<glm/gtx/fast_square_root.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
genType::value_type glm::fastDistance (genType const & x,
genType const & y 
)
+
+ +

Faster than the common distance function but less accurate.

+

From GLM_GTX_fast_square_root extension.

+ +
+
+ +
+
+ + + + + + + + +
genType glm::fastInverseSqrt (genType const & x)
+
+ +

Faster than the common inversesqrt function but less accurate.

+

From GLM_GTX_fast_square_root extension.

+ +
+
+ +
+
+ + + + + + + + +
genType::value_type glm::fastLength (genType const & x)
+
+ +

Faster than the common length function but less accurate.

+

From GLM_GTX_fast_square_root extension.

+ +
+
+ +
+
+ + + + + + + + +
genType glm::fastNormalize (genType const & x)
+
+ +

Faster than the common normalize function but less accurate.

+

From GLM_GTX_fast_square_root extension.

+ +
+
+ +
+
+ + + + + + + + +
genType glm::fastSqrt (genType const & x)
+
+ +

Faster than the common sqrt function but less accurate.

+

From GLM_GTX_fast_square_root extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00198.html glm-0.9.5.1/doc/api/a00198.html --- glm-0.9.4.6/doc/api/a00198.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00198.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,564 +1,227 @@ - - - - - -GLM_GTX_quaternion - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_quaternion
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename valType >
detail::tvec3< valType > cross (detail::tquat< valType > const &q, detail::tvec3< valType > const &v)
 
template<typename valType >
detail::tvec3< valType > cross (detail::tvec3< valType > const &v, detail::tquat< valType > const &q)
 
template<typename valType >
detail::tquat< valType > exp (detail::tquat< valType > const &q, valType const &exponent)
 
template<typename valType >
valType extractRealComponent (detail::tquat< valType > const &q)
 
template<typename T >
detail::tquat< T > fastMix (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename valType >
detail::tquat< valType > intermediate (detail::tquat< valType > const &prev, detail::tquat< valType > const &curr, detail::tquat< valType > const &next)
 
template<typename valType >
detail::tquat< valType > log (detail::tquat< valType > const &q)
 
template<typename valType >
detail::tquat< valType > pow (detail::tquat< valType > const &x, valType const &y)
 
template<typename valType >
detail::tvec3< valType > rotate (detail::tquat< valType > const &q, detail::tvec3< valType > const &v)
 
template<typename valType >
detail::tvec4< valType > rotate (detail::tquat< valType > const &q, detail::tvec4< valType > const &v)
 
template<typename T >
detail::tquat< T > shortMix (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)
 
template<typename valType >
detail::tquat< valType > squad (detail::tquat< valType > const &q1, detail::tquat< valType > const &q2, detail::tquat< valType > const &s1, detail::tquat< valType > const &s2, valType const &h)
 
template<typename valType >
detail::tmat3x3< valType > toMat3 (detail::tquat< valType > const &x)
 
template<typename valType >
detail::tmat4x4< valType > toMat4 (detail::tquat< valType > const &x)
 
template<typename valType >
detail::tquat< valType > toQuat (detail::tmat3x3< valType > const &x)
 
template<typename valType >
detail::tquat< valType > toQuat (detail::tmat4x4< valType > const &x)
 
-

Detailed Description

-

Extented quaternion types and functions.

-

<glm/gtx/quaternion.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<valType> glm::cross (detail::tquat< valType > const & q,
detail::tvec3< valType > const & v 
)
-
- -

Compute a cross product between a quaternion and a vector.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<valType> glm::cross (detail::tvec3< valType > const & v,
detail::tquat< valType > const & q 
)
-
- -

Compute a cross product between a vector and a quaternion.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tquat<valType> glm::exp (detail::tquat< valType > const & q,
valType const & exponent 
)
-
- -

Returns a exp of a quaternion.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
valType glm::extractRealComponent (detail::tquat< valType > const & q)
-
- -

Extract the real component of a quaternion.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tquat<T> glm::fastMix (detail::tquat< T > const & x,
detail::tquat< T > const & y,
T const & a 
)
-
- -

Quaternion normalized linear interpolation.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tquat<valType> glm::intermediate (detail::tquat< valType > const & prev,
detail::tquat< valType > const & curr,
detail::tquat< valType > const & next 
)
-
- -

Returns an intermediate control point for squad interpolation.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
detail::tquat<valType> glm::log (detail::tquat< valType > const & q)
-
- -

Returns a log of a quaternion.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tquat<valType> glm::pow (detail::tquat< valType > const & x,
valType const & y 
)
-
- -

Returns x raised to the y power.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<valType> glm::rotate (detail::tquat< valType > const & q,
detail::tvec3< valType > const & v 
)
-
- -

Returns quarternion square root.

-
See Also
GLM_GTX_quaternion Rotates a 3 components vector by a quaternion.
-
-GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec4<valType> glm::rotate (detail::tquat< valType > const & q,
detail::tvec4< valType > const & v 
)
-
- -

Rotates a 4 components vector by a quaternion.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tquat<T> glm::shortMix (detail::tquat< T > const & x,
detail::tquat< T > const & y,
T const & a 
)
-
- -

Quaternion interpolation using the rotation short path.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tquat<valType> glm::squad (detail::tquat< valType > const & q1,
detail::tquat< valType > const & q2,
detail::tquat< valType > const & s1,
detail::tquat< valType > const & s2,
valType const & h 
)
-
- -

Compute a point on a path according squad equation.

-

q1 and q2 are control points; s1 and s2 are intermediate control points.

-
See Also
GLM_GTX_quaternion
- -
-
- -
-
- - - - - - - - -
detail::tmat3x3<valType> glm::toMat3 (detail::tquat< valType > const & x)
-
- -

Converts a quaternion to a 3 * 3 matrix.

-
See Also
GLM_GTX_quaternion
- -

Definition at line 149 of file gtx/quaternion.hpp.

- -

References glm::mat3_cast().

- -
-
- -
-
- - - - - - - - -
detail::tmat4x4<valType> glm::toMat4 (detail::tquat< valType > const & x)
-
- -

Converts a quaternion to a 4 * 4 matrix.

-
See Also
GLM_GTX_quaternion
- -

Definition at line 156 of file gtx/quaternion.hpp.

- -

References glm::mat4_cast().

- -
-
- -
-
- - - - - - - - -
detail::tquat<valType> glm::toQuat (detail::tmat3x3< valType > const & x)
-
- -

Converts a 3 * 3 matrix to a quaternion.

-
See Also
GLM_GTX_quaternion
- -

Definition at line 163 of file gtx/quaternion.hpp.

- -

References glm::quat_cast().

- -
-
- -
-
- - - - - - - - -
detail::tquat<valType> glm::toQuat (detail::tmat4x4< valType > const & x)
-
- -

Converts a 4 * 4 matrix to a quaternion.

-
See Also
GLM_GTX_quaternion
- -

Definition at line 170 of file gtx/quaternion.hpp.

- -

References glm::quat_cast().

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_fast_trigonometry + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_fast_trigonometry
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
fastAcos (const T &angle)
 
template<typename T >
fastAsin (const T &angle)
 
template<typename T >
fastAtan (const T &y, const T &x)
 
template<typename T >
fastAtan (const T &angle)
 
template<typename T >
fastCos (const T &angle)
 
template<typename T >
fastSin (const T &angle)
 
template<typename T >
fastTan (const T &angle)
 
+

Detailed Description

+

Fast but less accurate implementations of trigonometric functions.

+

<glm/gtx/fast_trigonometry.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
T glm::fastAcos (const T & angle)
+
+ +

Faster than the common acos function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+ +
+
+ +
+
+ + + + + + + + +
T glm::fastAsin (const T & angle)
+
+ +

Faster than the common asin function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
T glm::fastAtan (const T & y,
const T & x 
)
+
+ +

Faster than the common atan function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+ +
+
+ +
+
+ + + + + + + + +
T glm::fastAtan (const T & angle)
+
+ +

Faster than the common atan function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+ +
+
+ +
+
+ + + + + + + + +
T glm::fastCos (const T & angle)
+
+ +

Faster than the common cos function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+ +
+
+ +
+
+ + + + + + + + +
T glm::fastSin (const T & angle)
+
+ +

Faster than the common sin function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+ +
+
+ +
+
+ + + + + + + + +
T glm::fastTan (const T & angle)
+
+ +

Faster than the common tan function but less accurate.

+

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00199.html glm-0.9.5.1/doc/api/a00199.html --- glm-0.9.4.6/doc/api/a00199.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00199.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,133 +1,145 @@ - - - - - -GLM_GTX_raw_data - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_raw_data
-
-
- - - - - - - - - - -

-Typedefs

typedef uint8 byte
 
typedef uint32 dword
 
typedef uint64 qword
 
typedef uint16 word
 
-

Detailed Description

-

Projection of a vector to other one.

-

<glm/gtx/raw_data.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- -
-
- - - - -
typedef uint8 byte
-
- -

Type for byte numbers.

-

From GLM_GTX_raw_data extension.

- -

Definition at line 56 of file raw_data.hpp.

- -
-
- -
-
- - - - -
typedef uint32 dword
-
- -

Type for dword numbers.

-

From GLM_GTX_raw_data extension.

- -

Definition at line 64 of file raw_data.hpp.

- -
-
- -
-
- - - - -
typedef uint64 qword
-
- -

Type for qword numbers.

-

From GLM_GTX_raw_data extension.

- -

Definition at line 68 of file raw_data.hpp.

- -
-
- -
-
- - - - -
typedef uint16 word
-
- -

Type for word numbers.

-

From GLM_GTX_raw_data extension.

- -

Definition at line 60 of file raw_data.hpp.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_gradient_paint + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_gradient_paint
+
+
+ + + + + + + + +

+Functions

template<typename T , precision P>
linearGradient (detail::tvec2< T, P > const &Point0, detail::tvec2< T, P > const &Point1, detail::tvec2< T, P > const &Position)
 
template<typename T , precision P>
radialGradient (detail::tvec2< T, P > const &Center, T const &Radius, detail::tvec2< T, P > const &Focal, detail::tvec2< T, P > const &Position)
 
+

Detailed Description

+

Functions that return the color of procedural gradient for specific coordinates.

+

<glm/gtx/gradient_paint.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
T glm::linearGradient (detail::tvec2< T, P > const & Point0,
detail::tvec2< T, P > const & Point1,
detail::tvec2< T, P > const & Position 
)
+
+ +

Return a color from a linear gradient.

+
See Also
- GLM_GTX_gradient_paint
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
T glm::radialGradient (detail::tvec2< T, P > const & Center,
T const & Radius,
detail::tvec2< T, P > const & Focal,
detail::tvec2< T, P > const & Position 
)
+
+ +

Return a color from a radial gradient.

+
See Also
- GLM_GTX_gradient_paint
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00200.html glm-0.9.5.1/doc/api/a00200.html --- glm-0.9.4.6/doc/api/a00200.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00200.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,389 +1,139 @@ - - - - - -GLM_GTX_rotate_vector - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_rotate_vector
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat4x4< T > orientation (detail::tvec3< T > const &Normal, detail::tvec3< T > const &Up)
 
template<typename T >
detail::tvec2< T > rotate (detail::tvec2< T > const &v, T const &angle)
 
template<typename T >
detail::tvec3< T > rotate (detail::tvec3< T > const &v, T const &angle, detail::tvec3< T > const &normal)
 
template<typename T >
detail::tvec4< T > rotate (detail::tvec4< T > const &v, T const &angle, detail::tvec3< T > const &normal)
 
template<typename T >
detail::tvec3< T > rotateX (detail::tvec3< T > const &v, T const &angle)
 
template<typename T >
detail::tvec4< T > rotateX (detail::tvec4< T > const &v, T const &angle)
 
template<typename T >
detail::tvec3< T > rotateY (detail::tvec3< T > const &v, T const &angle)
 
template<typename T >
detail::tvec4< T > rotateY (detail::tvec4< T > const &v, T const &angle)
 
template<typename T >
detail::tvec3< T > rotateZ (detail::tvec3< T > const &v, T const &angle)
 
template<typename T >
detail::tvec4< T > rotateZ (detail::tvec4< T > const &v, T const &angle)
 
-

Detailed Description

-

Function to directly rotate a vector.

-

<glm/gtx/rotate_vector.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::orientation (detail::tvec3< T > const & Normal,
detail::tvec3< T > const & Up 
)
-
- -

Build a rotation matrix from a normal and a up vector.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec2<T> glm::rotate (detail::tvec2< T > const & v,
T const & angle 
)
-
- -

Rotate a two dimensional vector.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tvec3<T> glm::rotate (detail::tvec3< T > const & v,
T const & angle,
detail::tvec3< T > const & normal 
)
-
- -

Rotate a three dimensional vector around an axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tvec4<T> glm::rotate (detail::tvec4< T > const & v,
T const & angle,
detail::tvec3< T > const & normal 
)
-
- -

Rotate a four dimensional vector around an axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<T> glm::rotateX (detail::tvec3< T > const & v,
T const & angle 
)
-
- -

Rotate a three dimensional vector around the X axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec4<T> glm::rotateX (detail::tvec4< T > const & v,
T const & angle 
)
-
- -

Rotate a four dimentionnals vector around the X axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<T> glm::rotateY (detail::tvec3< T > const & v,
T const & angle 
)
-
- -

Rotate a three dimensional vector around the Y axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec4<T> glm::rotateY (detail::tvec4< T > const & v,
T const & angle 
)
-
- -

Rotate a four dimensional vector around the X axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec3<T> glm::rotateZ (detail::tvec3< T > const & v,
T const & angle 
)
-
- -

Rotate a three dimensional vector around the Z axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tvec4<T> glm::rotateZ (detail::tvec4< T > const & v,
T const & angle 
)
-
- -

Rotate a four dimensional vector around the X axis.

-

From GLM_GTX_rotate_vector extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_handed_coordinate_space + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_handed_coordinate_space
+
+
+ + + + + + + + +

+Functions

template<typename T , precision P>
bool leftHanded (detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
bool rightHanded (detail::tvec3< T, P > const &tangent, detail::tvec3< T, P > const &binormal, detail::tvec3< T, P > const &normal)
 
+

Detailed Description

+

To know if a set of three basis vectors defines a right or left-handed coordinate system.

+

<glm/gtx/handed_coordinate_system.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool glm::leftHanded (detail::tvec3< T, P > const & tangent,
detail::tvec3< T, P > const & binormal,
detail::tvec3< T, P > const & normal 
)
+
+ +

Return if a trihedron left handed or not.

+

From GLM_GTX_handed_coordinate_space extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool glm::rightHanded (detail::tvec3< T, P > const & tangent,
detail::tvec3< T, P > const & binormal,
detail::tvec3< T, P > const & normal 
)
+
+ +

Return if a trihedron right handed or not.

+

From GLM_GTX_handed_coordinate_space extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00201.html glm-0.9.5.1/doc/api/a00201.html --- glm-0.9.4.6/doc/api/a00201.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00201.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,49 +1,55 @@ - - - - - -GLM_GTX_simd_mat4 - - - - - - -
-
- - - - - - -
-
- - - -
-
-
-
GLM_GTX_simd_mat4
-
-
-

SIMD implementation of mat4 type.

-

<glm/gtx/simd_mat4.hpp> need to be included to use these functionalities.

-
- - - - + + + + + + +GLM: GLM_GTX_inertia + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+

Create inertia matrices.

+

<glm/gtx/inertia.hpp> need to be included to use these functionalities.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00202.html glm-0.9.5.1/doc/api/a00202.html --- glm-0.9.4.6/doc/api/a00202.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00202.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,49 +1,338 @@ - - - - - -GLM_GTX_simd_vec4 - - - - - - -
-
- - - - - - -
-
- - - -
-
-
-
GLM_GTX_simd_vec4
-
-
-

SIMD implementation of vec4 type.

-

<glm/gtx/simd_vec4.hpp> need to be included to use these functionalities.

-
- - - - + + + + + + +GLM: GLM_GTX_integer + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+ +
+ + + + +

+Typedefs

typedef signed int sint
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
genType factorial (genType const &x)
 
unsigned int floor_log2 (unsigned int x)
 
template<typename genIUType >
genIUType log2 (genIUType const &x)
 
int mod (int x, int y)
 
uint mod (uint x, uint y)
 
uint nlz (uint x)
 
int pow (int x, int y)
 
uint pow (uint x, uint y)
 
int sqrt (int x)
 
uint sqrt (uint x)
 
+

Detailed Description

+

Add support for integer for core functions.

+

<glm/gtx/integer.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+ +
+
+ + + + +
typedef signed int sint
+
+ +

32bit signed integer.

+

From GLM_GTX_integer extension.

+ +

Definition at line 81 of file gtx/integer.hpp.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
genType glm::factorial (genType const & x)
+
+ +

Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + +
unsigned int glm::floor_log2 (unsigned int x)
+
+ +

Returns the floor log2 of x.

+

From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + +
genIUType glm::log2 (genIUType const & x)
+
+ +

Returns the log2 of x.

+

Can be reliably using to compute mipmap count from the texture size. From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int glm::mod (int x,
int y 
)
+
+ +

Modulus.

+

Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
uint glm::mod (uint x,
uint y 
)
+
+ +

Modulus.

+

Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + +
uint glm::nlz (uint x)
+
+ +

Returns the number of leading zeros.

+

From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int glm::pow (int x,
int y 
)
+
+ +

Returns x raised to the y power.

+

From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
uint glm::pow (uint x,
uint y 
)
+
+ +

Returns x raised to the y power.

+

From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + +
int glm::sqrt (int x)
+
+ +

Returns the positive square root of x.

+

From GLM_GTX_integer extension.

+ +
+
+ +
+
+ + + + + + + + +
uint glm::sqrt (uint x)
+
+ +

Returns the positive square root of x.

+

From GLM_GTX_integer extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00203.html glm-0.9.5.1/doc/api/a00203.html --- glm-0.9.4.6/doc/api/a00203.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00203.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,207 +1,399 @@ - - - - - -GLM_GTX_spline - - - - - - -
-
- - - - - - -
-
- - - -
- -
- - - - - - - - - - - -

-Functions

template<typename genType >
genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 
-

Detailed Description

-

Spline functions.

-

<glm/gtx/spline.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genType glm::catmullRom (genType const & v1,
genType const & v2,
genType const & v3,
genType const & v4,
typename genType::value_type const & s 
)
-
- -

Return a point from a catmull rom curve.

-

From GLM_GTX_spline extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genType glm::cubic (genType const & v1,
genType const & v2,
genType const & v3,
genType const & v4,
typename genType::value_type const & s 
)
-
- -

Return a point from a cubic curve.

-

From GLM_GTX_spline extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
genType glm::hermite (genType const & v1,
genType const & t1,
genType const & v2,
genType const & t2,
typename genType::value_type const & s 
)
-
- -

Return a point from a hermite curve.

-

From GLM_GTX_spline extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_intersect + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 
template<typename genType >
bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename genType >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 
template<typename genType >
bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename genType >
bool intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition)
 
+

Detailed Description

+

Add intersection functions.

+

<glm/gtx/intersect.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool glm::intersectLineSphere (genType const & point0,
genType const & point1,
genType const & sphereCenter,
typename genType::value_type sphereRadius,
genType & intersectionPosition1,
genType & intersectionNormal1,
genType & intersectionPosition2 = genType(),
genType & intersectionNormal2 = genType() 
)
+
+ +

Compute the intersection of a line and a sphere.

+

From GLM_GTX_intersect extension

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool glm::intersectLineTriangle (genType const & orig,
genType const & dir,
genType const & vert0,
genType const & vert1,
genType const & vert2,
genType & position 
)
+
+ +

Compute the intersection of a line and a triangle.

+

From GLM_GTX_intersect extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool glm::intersectRayPlane (genType const & orig,
genType const & dir,
genType const & planeOrig,
genType const & planeNormal,
typename genType::value_type & intersectionDistance 
)
+
+ +

Compute the intersection of a ray and a triangle.

+

Ray direction and plane normal must be unit length. From GLM_GTX_intersect extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool glm::intersectRaySphere (genType const & rayStarting,
genType const & rayNormalizedDirection,
genType const & sphereCenter,
typename genType::value_type const sphereRadiusSquered,
typename genType::value_type & intersectionDistance 
)
+
+ +

Compute the intersection distance of a ray and a sphere.

+

The ray direction vector is unit length. From GLM_GTX_intersect extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool glm::intersectRaySphere (genType const & rayStarting,
genType const & rayNormalizedDirection,
genType const & sphereCenter,
const typename genType::value_type sphereRadius,
genType & intersectionPosition,
genType & intersectionNormal 
)
+
+ +

Compute the intersection of a ray and a sphere.

+

From GLM_GTX_intersect extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool glm::intersectRayTriangle (genType const & orig,
genType const & dir,
genType const & vert0,
genType const & vert1,
genType const & vert2,
genType & baryPosition 
)
+
+ +

Compute the intersection of a ray and a triangle.

+

From GLM_GTX_intersect extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00204.html glm-0.9.5.1/doc/api/a00204.html --- glm-0.9.4.6/doc/api/a00204.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00204.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,177 +1,56 @@ - - - - - -GLM_GTX_std_based_type - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_std_based_type
-
-
- - - - - - - - - - - - - - -

-Typedefs

typedef detail::tvec2
-< std::size_t > 
size2
 
typedef detail::tvec2
-< std::size_t > 
size2_t
 
typedef detail::tvec3
-< std::size_t > 
size3
 
typedef detail::tvec3
-< std::size_t > 
size3_t
 
typedef detail::tvec4
-< std::size_t > 
size4
 
typedef detail::tvec4
-< std::size_t > 
size4_t
 
-

Detailed Description

-

Adds vector types based on STL value types.

-

<glm/gtx/std_based_type.hpp> need to be included to use these functionalities.

-

Typedef Documentation

- -
-
- - - - -
typedef detail::tvec2<std::size_t> size2
-
- -

Vector type based of two std::size_t components.

-
See Also
GLM_GTX_std_based_type
- -

Definition at line 56 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec2<std::size_t> size2_t
-
- -

Vector type based of two std::size_t components.

-
See Also
GLM_GTX_std_based_type
- -

Definition at line 68 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<std::size_t> size3
-
- -

Vector type based of three std::size_t components.

-
See Also
GLM_GTX_std_based_type
- -

Definition at line 60 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec3<std::size_t> size3_t
-
- -

Vector type based of three std::size_t components.

-
See Also
GLM_GTX_std_based_type
- -

Definition at line 72 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<std::size_t> size4
-
- -

Vector type based of four std::size_t components.

-
See Also
GLM_GTX_std_based_type
- -

Definition at line 64 of file std_based_type.hpp.

- -
-
- -
-
- - - - -
typedef detail::tvec4<std::size_t> size4_t
-
- -

Vector type based of four std::size_t components.

-
See Also
GLM_GTX_std_based_type
- -

Definition at line 76 of file std_based_type.hpp.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_io + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+ +
+

Detailed Description

+

std::[w]ostream support for glm types

+

<glm/gtx/io.hpp> needs to be included to use these functionalities.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00205.html glm-0.9.5.1/doc/api/a00205.html --- glm-0.9.4.6/doc/api/a00205.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00205.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,79 +1,96 @@ - - - - - -GLM_GTX_string_cast - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_string_cast
-
-
- - - - - -

-Functions

template<typename genType >
std::string to_string (genType const &x)
 
-

Detailed Description

-

Setup strings for GLM type values.

-

<glm/gtx/string_cast.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
std::string glm::to_string (genType const & x)
-
- -

Create a string from a GLM type value.

-

From GLM_GTX_string_cast extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_log_base + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ + +
+
+ + + + + +

+Functions

template<typename genType >
genType log (genType const &x, genType const &base)
 
+

Detailed Description

+

Logarithm for any base.

+

base can be a vector or a scalar.

+

<glm/gtx/log_base.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
genType glm::log (genType const & x,
genType const & base 
)
+
+ +

Logarithm for any base.

+

From GLM_GTX_log_base.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00206.html glm-0.9.5.1/doc/api/a00206.html --- glm-0.9.4.6/doc/api/a00206.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00206.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,409 +1,107 @@ - - - - - -GLM_GTX_transform - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_transform
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat4x4< T > rotate (T angle, T x, T y, T z)
 
template<typename T >
detail::tmat4x4< T > rotate (T angle, detail::tvec3< T > const &v)
 
template<typename T >
detail::tmat4x4< T > rotate (detail::tmat4x4< T > const &m, T angle, T x, T y, T z)
 
template<typename T >
detail::tmat4x4< T > scale (T x, T y, T z)
 
template<typename T >
detail::tmat4x4< T > scale (detail::tmat4x4< T > const &m, T x, T y, T z)
 
template<typename T >
detail::tmat4x4< T > scale (detail::tvec3< T > const &v)
 
template<typename T >
detail::tmat4x4< T > translate (T x, T y, T z)
 
template<typename T >
detail::tmat4x4< T > translate (detail::tmat4x4< T > const &m, T x, T y, T z)
 
template<typename T >
detail::tmat4x4< T > translate (detail::tvec3< T > const &v)
 
-

Detailed Description

-

Add transformation matrices.

-

<glm/gtx/transform.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::rotate (angle,
x,
y,
z 
)
-
- -

Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees.

- - -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::rotate (angle,
detail::tvec3< T > const & v 
)
-
- -

Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees.

- - -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::rotate (detail::tmat4x4< T > const & m,
angle,
x,
y,
z 
)
-
- -

Transforms a matrix with a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees.

- - -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::scale (x,
y,
z 
)
-
- -

Builds a scale 4 * 4 matrix created from 3 scalars.

- - -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::scale (detail::tmat4x4< T > const & m,
x,
y,
z 
)
-
- -

Transforms a matrix with a scale 4 * 4 matrix created from 3 scalars.

- - -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T> glm::scale (detail::tvec3< T > const & v)
-
- -

Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components.

- - -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::translate (x,
y,
z 
)
-
- -

Builds a translation 4 * 4 matrix created from 3 scalars.

- - -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::translate (detail::tmat4x4< T > const & m,
x,
y,
z 
)
-
- -

Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.

- - -
-
- -
-
- - - - - - - - -
detail::tmat4x4<T> glm::translate (detail::tvec3< T > const & v)
-
- -

Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.

- - -
-
-
- - - - + + + + + + +GLM: GLM_GTX_matrix_cross_product + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_matrix_cross_product
+
+
+ + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat3x3< T, P > matrixCross3 (detail::tvec3< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > matrixCross4 (detail::tvec3< T, P > const &x)
 
+

Detailed Description

+

Build cross product matrices.

+

<glm/gtx/matrix_cross_product.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
detail::tmat3x3<T, P> glm::matrixCross3 (detail::tvec3< T, P > const & x)
+
+ +

Build a cross product matrix.

+

From GLM_GTX_matrix_cross_product extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat4x4<T, P> glm::matrixCross4 (detail::tvec3< T, P > const & x)
+
+ +

Build a cross product matrix.

+

From GLM_GTX_matrix_cross_product extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00207.html glm-0.9.5.1/doc/api/a00207.html --- glm-0.9.4.6/doc/api/a00207.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00207.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,368 +1,193 @@ - - - - - -GLM_GTX_transform2 - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_transform2
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename T >
detail::tmat3x3< T > proj2D (const detail::tmat3x3< T > &m, const detail::tvec3< T > &normal)
 
template<typename T >
detail::tmat4x4< T > proj3D (const detail::tmat4x4< T > &m, const detail::tvec3< T > &normal)
 
template<typename valType >
detail::tmat4x4< valType > scaleBias (valType scale, valType bias)
 
template<typename valType >
detail::tmat4x4< valType > scaleBias (detail::tmat4x4< valType > const &m, valType scale, valType bias)
 
template<typename T >
detail::tmat3x3< T > shearX2D (detail::tmat3x3< T > const &m, T y)
 
template<typename T >
detail::tmat4x4< T > shearX3D (const detail::tmat4x4< T > &m, T y, T z)
 
template<typename T >
detail::tmat3x3< T > shearY2D (detail::tmat3x3< T > const &m, T x)
 
template<typename T >
detail::tmat4x4< T > shearY3D (const detail::tmat4x4< T > &m, T x, T z)
 
template<typename T >
detail::tmat4x4< T > shearZ3D (const detail::tmat4x4< T > &m, T x, T y)
 
-

Detailed Description

-

Add extra transformation matrices.

-

<glm/gtx/transform2.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat3x3<T> glm::proj2D (const detail::tmat3x3< T > & m,
const detail::tvec3< T > & normal 
)
-
- -

Build planar projection matrix along normal axis.

-

From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::proj3D (const detail::tmat4x4< T > & m,
const detail::tvec3< T > & normal 
)
-
- -

Build planar projection matrix along normal axis.

-

From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat4x4<valType> glm::scaleBias (valType scale,
valType bias 
)
-
- -

Build a scale bias matrix.

-

From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<valType> glm::scaleBias (detail::tmat4x4< valType > const & m,
valType scale,
valType bias 
)
-
- -

Build a scale bias matrix.

-

From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat3x3<T> glm::shearX2D (detail::tmat3x3< T > const & m,
y 
)
-
- -

Transforms a matrix with a shearing on X axis.

-

From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::shearX3D (const detail::tmat4x4< T > & m,
y,
z 
)
-
- -

Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
detail::tmat3x3<T> glm::shearY2D (detail::tmat3x3< T > const & m,
x 
)
-
- -

Transforms a matrix with a shearing on Y axis.

-

From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::shearY3D (const detail::tmat4x4< T > & m,
x,
z 
)
-
- -

Transforms a matrix with a shearing on Y axis.

-

From GLM_GTX_transform2 extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
detail::tmat4x4<T> glm::shearZ3D (const detail::tmat4x4< T > & m,
x,
y 
)
-
- -

Transforms a matrix with a shearing on Z axis.

-

From GLM_GTX_transform2 extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_matrix_interpolation + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_matrix_interpolation
+
+
+ + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
void axisAngle (detail::tmat4x4< T, P > const &mat, detail::tvec3< T, P > &axis, T &angle)
 
template<typename T , precision P>
detail::tmat4x4< T, P > axisAngleMatrix (detail::tvec3< T, P > const &axis, T const angle)
 
template<typename T , precision P>
detail::tmat4x4< T, P > extractMatrixRotation (detail::tmat4x4< T, P > const &mat)
 
template<typename T , precision P>
detail::tmat4x4< T, P > interpolate (detail::tmat4x4< T, P > const &m1, detail::tmat4x4< T, P > const &m2, T const delta)
 
+

Detailed Description

+

Allows to directly interpolate two exiciting matrices.

+

<glm/gtx/matrix_interpolation.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void glm::axisAngle (detail::tmat4x4< T, P > const & mat,
detail::tvec3< T, P > & axis,
T & angle 
)
+
+ +

Get the axis and angle of the rotation from a matrix.

+

From GLM_GTX_matrix_interpolation extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, P> glm::axisAngleMatrix (detail::tvec3< T, P > const & axis,
T const angle 
)
+
+ +

Build a matrix from axis and angle.

+

From GLM_GTX_matrix_interpolation extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat4x4<T, P> glm::extractMatrixRotation (detail::tmat4x4< T, P > const & mat)
+
+ +

Extracts the rotation part of a matrix.

+

From GLM_GTX_matrix_interpolation extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, P> glm::interpolate (detail::tmat4x4< T, P > const & m1,
detail::tmat4x4< T, P > const & m2,
T const delta 
)
+
+ +

Build a interpolation of 4 * 4 matrixes.

+

From GLM_GTX_matrix_interpolation extension. Warning! works only with rotation and/or translation matrixes, scale will generate unexpected results.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00208.html glm-0.9.5.1/doc/api/a00208.html --- glm-0.9.4.6/doc/api/a00208.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00208.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,49 +1,423 @@ - - - - - -GLM_GTX_vec1 - - - - - - -
-
- - - - - - -
-
- - - -
- -
-

Add vec1, ivec1, uvec1 and bvec1 types.

-

<glm/gtx/vec1.hpp> need to be included to use these functionalities.

-
- - - - + + + + + + +GLM: GLM_GTX_matrix_major_storage + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_matrix_major_storage
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat2x2< T, P > colMajor2 (detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
 
template<typename T , precision P>
detail::tmat2x2< T, P > colMajor2 (detail::tmat2x2< T, P > const &m)
 
template<typename T , precision P>
detail::tmat3x3< T, P > colMajor3 (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
template<typename T , precision P>
detail::tmat3x3< T, P > colMajor3 (detail::tmat3x3< T, P > const &m)
 
template<typename T , precision P>
detail::tmat4x4< T, P > colMajor4 (detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
 
template<typename T , precision P>
detail::tmat4x4< T, P > colMajor4 (detail::tmat4x4< T, P > const &m)
 
template<typename T , precision P>
detail::tmat2x2< T, P > rowMajor2 (detail::tvec2< T, P > const &v1, detail::tvec2< T, P > const &v2)
 
template<typename T , precision P>
detail::tmat2x2< T, P > rowMajor2 (detail::tmat2x2< T, P > const &m)
 
template<typename T , precision P>
detail::tmat3x3< T, P > rowMajor3 (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
template<typename T , precision P>
detail::tmat3x3< T, P > rowMajor3 (detail::tmat3x3< T, P > const &m)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rowMajor4 (detail::tvec4< T, P > const &v1, detail::tvec4< T, P > const &v2, detail::tvec4< T, P > const &v3, detail::tvec4< T, P > const &v4)
 
template<typename T , precision P>
detail::tmat4x4< T, P > rowMajor4 (detail::tmat4x4< T, P > const &m)
 
+

Detailed Description

+

Build matrices with specific matrix order, row or column.

+

<glm/gtx/matrix_major_storage.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat2x2<T, P> glm::colMajor2 (detail::tvec2< T, P > const & v1,
detail::tvec2< T, P > const & v2 
)
+
+ +

Build a column major matrix from column vectors.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat2x2<T, P> glm::colMajor2 (detail::tmat2x2< T, P > const & m)
+
+ +

Build a column major matrix from other matrix.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat3x3<T, P> glm::colMajor3 (detail::tvec3< T, P > const & v1,
detail::tvec3< T, P > const & v2,
detail::tvec3< T, P > const & v3 
)
+
+ +

Build a column major matrix from column vectors.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat3x3<T, P> glm::colMajor3 (detail::tmat3x3< T, P > const & m)
+
+ +

Build a column major matrix from other matrix.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, P> glm::colMajor4 (detail::tvec4< T, P > const & v1,
detail::tvec4< T, P > const & v2,
detail::tvec4< T, P > const & v3,
detail::tvec4< T, P > const & v4 
)
+
+ +

Build a column major matrix from column vectors.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat4x4<T, P> glm::colMajor4 (detail::tmat4x4< T, P > const & m)
+
+ +

Build a column major matrix from other matrix.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat2x2<T, P> glm::rowMajor2 (detail::tvec2< T, P > const & v1,
detail::tvec2< T, P > const & v2 
)
+
+ +

Build a row major matrix from row vectors.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat2x2<T, P> glm::rowMajor2 (detail::tmat2x2< T, P > const & m)
+
+ +

Build a row major matrix from other matrix.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat3x3<T, P> glm::rowMajor3 (detail::tvec3< T, P > const & v1,
detail::tvec3< T, P > const & v2,
detail::tvec3< T, P > const & v3 
)
+
+ +

Build a row major matrix from row vectors.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat3x3<T, P> glm::rowMajor3 (detail::tmat3x3< T, P > const & m)
+
+ +

Build a row major matrix from other matrix.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, P> glm::rowMajor4 (detail::tvec4< T, P > const & v1,
detail::tvec4< T, P > const & v2,
detail::tvec4< T, P > const & v3,
detail::tvec4< T, P > const & v4 
)
+
+ +

Build a row major matrix from row vectors.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat4x4<T, P> glm::rowMajor4 (detail::tmat4x4< T, P > const & m)
+
+ +

Build a row major matrix from other matrix.

+

From GLM_GTX_matrix_major_storage extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00209.html glm-0.9.5.1/doc/api/a00209.html --- glm-0.9.4.6/doc/api/a00209.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00209.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,189 +1,261 @@ - - - - - -GLM_GTX_vector_access - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_vector_access
-
-
- - - - - - - - - - - -

-Functions

template<typename valType >
void set (detail::tvec2< valType > &v, valType const &x, valType const &y)
 
template<typename valType >
void set (detail::tvec3< valType > &v, valType const &x, valType const &y, valType const &z)
 
template<typename valType >
void set (detail::tvec4< valType > &v, valType const &x, valType const &y, valType const &z, valType const &w)
 
-

Detailed Description

-

Function to set values to vectors.

-

<glm/gtx/vector_access.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void glm::set (detail::tvec2< valType > & v,
valType const & x,
valType const & y 
)
-
- -

Set values to a 2 components vector.

-

From GLM_GTX_vector_access extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void glm::set (detail::tvec3< valType > & v,
valType const & x,
valType const & y,
valType const & z 
)
-
- -

Set values to a 3 components vector.

-

From GLM_GTX_vector_access extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void glm::set (detail::tvec4< valType > & v,
valType const & x,
valType const & y,
valType const & z,
valType const & w 
)
-
- -

Set values to a 4 components vector.

-

From GLM_GTX_vector_access extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_matrix_operation + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_matrix_operation
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat2x2< T, P > diagonal2x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat2x3< T, P > diagonal2x3 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat2x4< T, P > diagonal2x4 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x2< T, P > diagonal3x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x3< T, P > diagonal3x3 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat3x4< T, P > diagonal3x4 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x2< T, P > diagonal4x2 (detail::tvec2< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x3< T, P > diagonal4x3 (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > diagonal4x4 (detail::tvec4< T, P > const &v)
 
+

Detailed Description

+

Build diagonal matrices from vectors.

+

<glm/gtx/matrix_operation.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
detail::tmat2x2<T, P> glm::diagonal2x2 (detail::tvec2< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat2x3<T, P> glm::diagonal2x3 (detail::tvec2< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat2x4<T, P> glm::diagonal2x4 (detail::tvec2< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat3x2<T, P> glm::diagonal3x2 (detail::tvec2< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat3x3<T, P> glm::diagonal3x3 (detail::tvec3< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat3x4<T, P> glm::diagonal3x4 (detail::tvec3< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat4x2<T, P> glm::diagonal4x2 (detail::tvec2< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat4x3<T, P> glm::diagonal4x3 (detail::tvec3< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat4x4<T, P> glm::diagonal4x4 (detail::tvec4< T, P > const & v)
+
+ +

Build a diagonal matrix.

+

From GLM_GTX_matrix_operation extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00210.html glm-0.9.5.1/doc/api/a00210.html --- glm-0.9.4.6/doc/api/a00210.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00210.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,160 +1,319 @@ - - - - - -GLM_GTX_vector_angle - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_vector_angle
-
-
- - - - - - - - - - - -

-Functions

template<typename vecType >
GLM_FUNC_QUALIFIER
-vecType::value_type 
angle (vecType const &x, vecType const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec2< T > const &x, detail::tvec2< T > const &y)
 
template<typename T >
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec3< T > const &x, detail::tvec3< T > const &y, detail::tvec3< T > const &ref)
 
-

Detailed Description

-

Compute angle between vectors.

-

<glm/gtx/vector_angle.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_QUALIFIER vecType::value_type glm::angle (vecType const & x,
vecType const & y 
)
-
- -

Returns the absolute angle between two vectors Parameters need to be normalized.

-

From GLM_GTX_vector_angle extension

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
GLM_FUNC_QUALIFIER T glm::orientedAngle (detail::tvec2< T > const & x,
detail::tvec2< T > const & y 
)
-
- -

Returns the oriented angle between two 2d vectors Parameters need to be normalized.

-

From GLM_GTX_vector_angle extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
GLM_FUNC_QUALIFIER T glm::orientedAngle (detail::tvec3< T > const & x,
detail::tvec3< T > const & y,
detail::tvec3< T > const & ref 
)
-
- -

Returns the oriented angle between two 3d vectors based from a reference axis.

-

Parameters need to be normalized. From GLM_GTX_vector_angle extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_matrix_query + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_matrix_query
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P, template< typename, precision > class matType>
bool isIdentity (matType< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNormalized (detail::tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat2x2< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat3x3< T, P > const &m, T const &epsilon)
 
template<typename T , precision P>
bool isNull (detail::tmat4x4< T, P > const &m, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class matType>
bool isOrthogonal (matType< T, P > const &m, T const &epsilon)
 
+

Detailed Description

+

Query to evaluate matrix properties.

+

<glm/gtx/matrix_query.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool glm::isIdentity (matType< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix is an identity matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool glm::isNormalized (detail::tmat2x2< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix is a normalized matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool glm::isNormalized (detail::tmat3x3< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix is a normalized matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool glm::isNormalized (detail::tmat4x4< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix is a normalized matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool glm::isNull (detail::tmat2x2< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix a null matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool glm::isNull (detail::tmat3x3< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix a null matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool glm::isNull (detail::tmat4x4< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix is a null matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool glm::isOrthogonal (matType< T, P > const & m,
T const & epsilon 
)
+
+ +

Return whether a matrix is an orthonormalized matrix.

+

From GLM_GTX_matrix_query extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00211.html glm-0.9.5.1/doc/api/a00211.html --- glm-0.9.4.6/doc/api/a00211.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00211.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,299 +1,66 @@ - - - - - -GLM_GTX_vector_query - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_vector_query
-
-
- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

template<typename genType >
bool areCollinear (genType const &v0, genType const &v1, typename genType::value_type const &epsilon)
 
template<typename genType >
bool areOrthogonal (genType const &v0, genType const &v1, typename genType::value_type const &epsilon)
 
template<typename genType >
bool areOrthonormal (genType const &v0, genType const &v1, typename genType::value_type const &epsilon)
 
template<typename genType , template< typename > class vecType>
bool isNormalized (vecType< genType > const &v, genType const &epsilon)
 
template<typename valType >
bool isNull (detail::tvec2< valType > const &v, valType const &epsilon)
 
template<typename valType >
bool isNull (detail::tvec3< valType > const &v, valType const &epsilon)
 
template<typename valType >
bool isNull (detail::tvec4< valType > const &v, valType const &epsilon)
 
-

Detailed Description

-

Query informations of vector types.

-

<glm/gtx/vector_query.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::areCollinear (genType const & v0,
genType const & v1,
typename genType::value_type const & epsilon 
)
-
- -

Check whether two vectors are collinears.

-

From GLM_GTX_vector_query extensions.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::areOrthogonal (genType const & v0,
genType const & v1,
typename genType::value_type const & epsilon 
)
-
- -

Check whether two vectors are orthogonals.

-

From GLM_GTX_vector_query extensions.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
bool glm::areOrthonormal (genType const & v0,
genType const & v1,
typename genType::value_type const & epsilon 
)
-
- -

Check whether two vectors are orthonormal.

-

From GLM_GTX_vector_query extensions.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isNormalized (vecType< genType > const & v,
genType const & epsilon 
)
-
- -

Check whether a vector is normalized.

-

From GLM_GTX_vector_query extensions.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isNull (detail::tvec2< valType > const & v,
valType const & epsilon 
)
-
- -

Check whether a vector is null.

-

From GLM_GTX_vector_query extensions.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isNull (detail::tvec3< valType > const & v,
valType const & epsilon 
)
-
- -

Check whether a vector is null.

-

From GLM_GTX_vector_query extensions.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool glm::isNull (detail::tvec4< valType > const & v,
valType const & epsilon 
)
-
- -

Check whether a vector is null.

-

From GLM_GTX_vector_query extensions.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_mixed_producte + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_mixed_producte
+
+
+ + + + + +

+Functions

+template<typename T , precision P>
mixedProduct (detail::tvec3< T, P > const &v1, detail::tvec3< T, P > const &v2, detail::tvec3< T, P > const &v3)
 
+

Detailed Description

+

Mixed product of 3 vectors.

+

<glm/gtx/mixed_product.hpp> need to be included to use these functionalities.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00212.html glm-0.9.5.1/doc/api/a00212.html --- glm-0.9.4.6/doc/api/a00212.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00212.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,218 +1,153 @@ - - - - - -GLM_GTX_verbose_operator - - - - - - -
-
- - - - - - -
-
- - - -
-
- -
-
GLM_GTX_verbose_operator
-
-
- - - - - - - - - - - - - - - - - -

-Functions

template<typename genTypeT , typename genTypeU >
genTypeT add (genTypeT const &a, genTypeU const &b)
 
template<typename genTypeT , typename genTypeU >
genTypeT div (genTypeT const &a, genTypeU const &b)
 
template<typename genTypeT , typename genTypeU , typename genTypeV >
genTypeT mad (genTypeT const &a, genTypeU const &b, genTypeV const &c)
 
template<typename genTypeT , typename genTypeU >
genTypeT mul (genTypeT const &a, genTypeU const &b)
 
template<typename genTypeT , typename genTypeU >
genTypeT sub (genTypeT const &a, genTypeU const &b)
 
-

Detailed Description

-

Use words to replace operators.

-

<glm/gtx/verbose_operator.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
genTypeT glm::add (genTypeT const & a,
genTypeU const & b 
)
-
- -

Addition of two values From GLM_GTX_verbose_operator extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genTypeT glm::div (genTypeT const & a,
genTypeU const & b 
)
-
- -

Division of two values From GLM_GTX_verbose_operator extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
genTypeT glm::mad (genTypeT const & a,
genTypeU const & b,
genTypeV const & c 
)
-
- -

Multiplication and addition of three values From GLM_GTX_verbose_operator extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genTypeT glm::mul (genTypeT const & a,
genTypeU const & b 
)
-
- -

Multiplication of two values From GLM_GTX_verbose_operator extension.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
genTypeT glm::sub (genTypeT const & a,
genTypeU const & b 
)
-
- -

Substration of two values From GLM_GTX_verbose_operator extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_multiple + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ + +
+
+ + + + + + + + +

+Functions

template<typename genType >
genType higherMultiple (genType const &Source, genType const &Multiple)
 
template<typename genType >
genType lowerMultiple (genType const &Source, genType const &Multiple)
 
+

Detailed Description

+

Find the closest number of a number multiple of other number.

+

<glm/gtx/multiple.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
genType glm::higherMultiple (genType const & Source,
genType const & Multiple 
)
+
+ +

Higher multiple number of Source.

+
Template Parameters
+ + +
genTypeFloating-point or integer scalar or vector types.
+
+
+
Parameters
+ + + +
Source
MultipleMust be a null or positive value
+
+
+
See Also
GLM_GTX_multiple
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
genType glm::lowerMultiple (genType const & Source,
genType const & Multiple 
)
+
+ +

Lower multiple number of Source.

+
Template Parameters
+ + +
genTypeFloating-point or integer scalar or vector types.
+
+
+
Parameters
+ + + +
Source
MultipleMust be a null or positive value
+
+
+
See Also
GLM_GTX_multiple
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00213.html glm-0.9.5.1/doc/api/a00213.html --- glm-0.9.4.6/doc/api/a00213.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00213.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,120 +1,349 @@ - - - - - -GLM_GTX_wrap - - - - - - -
-
- - - - - - -
-
- - - -
- -
- - - - - - - - - - - -

-Functions

template<typename genType >
genType clamp (genType const &Texcoord)
 
template<typename genType >
genType mirrorRepeat (genType const &Texcoord)
 
template<typename genType >
genType repeat (genType const &Texcoord)
 
-

Detailed Description

-

Wrapping mode of texture coordinates.

-

<glm/gtx/wrap.hpp> need to be included to use these functionalities.

-

Function Documentation

- -
-
- - - - - - - - -
genType glm::clamp (genType const & Texcoord)
-
- -

Simulate GL_CLAMP OpenGL wrap mode From GLM_GTX_wrap extension.

- -
-
- -
-
- - - - - - - - -
genType glm::mirrorRepeat (genType const & Texcoord)
-
- -

Simulate GL_MIRROR_REPEAT OpenGL wrap mode From GLM_GTX_wrap extension.

- -
-
- -
-
- - - - - - - - -
genType glm::repeat (genType const & Texcoord)
-
- -

Simulate GL_REPEAT OpenGL wrap mode From GLM_GTX_wrap extension.

- -
-
-
- - - - + + + + + + +GLM: GLM_GTX_norm + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T >
distance2 (T const &p0, T const &p1)
 
template<typename genType >
genType::value_type distance2 (genType const &p0, genType const &p1)
 
template<typename T , precision P>
l1Norm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename T , precision P>
l1Norm (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
l2Norm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y)
 
template<typename T , precision P>
l2Norm (detail::tvec3< T, P > const &x)
 
template<typename T >
length2 (T const &x)
 
template<typename genType >
genType::value_type length2 (genType const &x)
 
template<typename T , precision P>
lxNorm (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, unsigned int Depth)
 
template<typename T , precision P>
lxNorm (detail::tvec3< T, P > const &x, unsigned int Depth)
 
+

Detailed Description

+

Various ways to compute vector norms.

+

<glm/gtx/norm.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
T glm::distance2 (T const & p0,
T const & p1 
)
+
+ +

Returns the squared distance between p0 and p1, i.e., length(p0 - p1).

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
genType::value_type glm::distance2 (genType const & p0,
genType const & p1 
)
+
+ +

Returns the squared distance between p0 and p1, i.e., length(p0 - p1).

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
T glm::l1Norm (detail::tvec3< T, P > const & x,
detail::tvec3< T, P > const & y 
)
+
+ +

Returns the L1 norm between x and y.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + +
T glm::l1Norm (detail::tvec3< T, P > const & v)
+
+ +

Returns the L1 norm of v.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
T glm::l2Norm (detail::tvec3< T, P > const & x,
detail::tvec3< T, P > const & y 
)
+
+ +

Returns the L2 norm between x and y.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + +
T glm::l2Norm (detail::tvec3< T, P > const & x)
+
+ +

Returns the L2 norm of v.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + +
T glm::length2 (T const & x)
+
+ +

Returns the squared length of x.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + +
genType::value_type glm::length2 (genType const & x)
+
+ +

Returns the squared length of x.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
T glm::lxNorm (detail::tvec3< T, P > const & x,
detail::tvec3< T, P > const & y,
unsigned int Depth 
)
+
+ +

Returns the L norm between x and y.

+

From GLM_GTX_norm extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
T glm::lxNorm (detail::tvec3< T, P > const & x,
unsigned int Depth 
)
+
+ +

Returns the L norm of v.

+

From GLM_GTX_norm extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00214.html glm-0.9.5.1/doc/api/a00214.html --- glm-0.9.4.6/doc/api/a00214.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00214.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,49 +1,101 @@ - - - - - -GLM_VIRTREV_xstream: xml like output - - - - - - -
-
- - - - - - -
-
- - - -
-
-
-
GLM_VIRTREV_xstream: xml like output
-
-
-

Streaming vector and matrix in a xml way.

-

Include <glm/virtrev/xstream.hpp> for this functionality.

-
- - - - + + + + + + +GLM: GLM_GTX_normal + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+ +
+ + + + + +

+Functions

template<typename T , precision P>
detail::tvec3< T, P > triangleNormal (detail::tvec3< T, P > const &p1, detail::tvec3< T, P > const &p2, detail::tvec3< T, P > const &p3)
 
+

Detailed Description

+

Compute the normal of a triangle.

+

<glm/gtx/normal.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tvec3<T, P> glm::triangleNormal (detail::tvec3< T, P > const & p1,
detail::tvec3< T, P > const & p2,
detail::tvec3< T, P > const & p3 
)
+
+ +

Computes triangle normal from triangle points.

+

From GLM_GTX_normal extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00215.html glm-0.9.5.1/doc/api/a00215.html --- glm-0.9.4.6/doc/api/a00215.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00215.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,63 +1,127 @@ - - - - - -Todo List - - - - - - -
-
- - - - - - -
-
- - - -
-
-
-
Todo List
-
-
-
-
Member glm::bitCount (genIUType< T > const &Value)
-
Clarify the declaration to specify that scalars are suported.
-
Member glm::epsilon ()
-
Implement epsilon for half-precision floating point type.
-
Member glm::findLSB (genIUType< T > const &Value)
-
Clarify the declaration to specify that scalars are suported.
-
Member glm::findMSB (genIUType< T > const &Value)
-
Clarify the declaration to specify that scalars are suported.
-
Member glm::intBitsToFloat (genIType const &value)
-
Clarify this declaration, we don't need to actually specify the return type
-
Member glm::outerProduct (vecType const &c, vecType const &r)
-
Clarify the declaration to specify that matType doesn't have to be provided when used.
-
Member glm::uintBitsToFloat (genUType const &value)
-
Clarify this declaration, we don't need to actually specify the return type
-
-
- - - - + + + + + + +GLM: GLM_GTX_normalize_dot + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_normalize_dot
+
+
+ + + + + + + + +

+Functions

template<typename genType >
genType::value_type fastNormalizeDot (genType const &x, genType const &y)
 
template<typename genType >
genType::value_type normalizeDot (genType const &x, genType const &y)
 
+

Detailed Description

+

Dot product of vectors that need to be normalize with a single square root.

+

<glm/gtx/normalized_dot.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
genType::value_type glm::fastNormalizeDot (genType const & x,
genType const & y 
)
+
+ +

Normalize parameters and returns the dot product of x and y.

+

Faster that dot(fastNormalize(x), fastNormalize(y)). From GLM_GTX_normalize_dot extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
genType::value_type glm::normalizeDot (genType const & x,
genType const & y 
)
+
+ +

Normalize parameters and returns the dot product of x and y.

+

It's faster that dot(normalize(x), normalize(y)). From GLM_GTX_normalize_dot extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00216.html glm-0.9.5.1/doc/api/a00216.html --- glm-0.9.4.6/doc/api/a00216.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00216.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,92 @@ + + + + + + +GLM: GLM_GTX_number_precision + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_number_precision
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

+typedef f32 f32mat1
 
+typedef f32 f32mat1x1
 
+typedef f32 f32vec1
 
+typedef f64 f64mat1
 
+typedef f64 f64mat1x1
 
+typedef f64 f64vec1
 
+typedef u16 u16vec1
 
+typedef u32 u32vec1
 
+typedef u64 u64vec1
 
+typedef u8 u8vec1
 
+

Detailed Description

+

Defined size types.

+

<glm/gtx/number_precision.hpp> need to be included to use these functionalities.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00217.html glm-0.9.5.1/doc/api/a00217.html --- glm-0.9.4.6/doc/api/a00217.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00217.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,216 @@ + + + + + + +GLM: GLM_GTX_optimum_pow + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename genType >
genType pow2 (const genType &x)
 
template<typename genType >
genType pow3 (const genType &x)
 
template<typename genType >
genType pow4 (const genType &x)
 
bool powOfTwo (int num)
 
template<precision P>
detail::tvec2< bool, P > powOfTwo (detail::tvec2< int, P > const &x)
 
template<precision P>
detail::tvec3< bool, P > powOfTwo (detail::tvec3< int, P > const &x)
 
template<precision P>
detail::tvec4< bool, P > powOfTwo (detail::tvec4< int, P > const &x)
 
+

Detailed Description

+

Integer exponentiation of power functions.

+

<glm/gtx/optimum_pow.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
genType glm::gtx::pow2 (const genType & x)
+
+ +

Returns x raised to the power of 2.

+

From GLM_GTX_optimum_pow extension.

+ +
+
+ +
+
+ + + + + + + + +
genType glm::gtx::pow3 (const genType & x)
+
+ +

Returns x raised to the power of 3.

+

From GLM_GTX_optimum_pow extension.

+ +
+
+ +
+
+ + + + + + + + +
genType glm::gtx::pow4 (const genType & x)
+
+ +

Returns x raised to the power of 4.

+

From GLM_GTX_optimum_pow extension.

+ +
+
+ +
+
+ + + + + + + + +
bool glm::gtx::powOfTwo (int num)
+
+ +

Checks if the parameter is a power of 2 number.

+

From GLM_GTX_optimum_pow extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tvec2<bool, P> glm::gtx::powOfTwo (detail::tvec2< int, P > const & x)
+
+ +

Checks to determine if the parameter component are power of 2 numbers.

+

From GLM_GTX_optimum_pow extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tvec3<bool, P> glm::gtx::powOfTwo (detail::tvec3< int, P > const & x)
+
+ +

Checks to determine if the parameter component are power of 2 numbers.

+

From GLM_GTX_optimum_pow extension.

+ +
+
+ +
+
+ + + + + + + + +
detail::tvec4<bool, P> glm::gtx::powOfTwo (detail::tvec4< int, P > const & x)
+
+ +

Checks to determine if the parameter component are power of 2 numbers.

+

From GLM_GTX_optimum_pow extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00218.html glm-0.9.5.1/doc/api/a00218.html --- glm-0.9.4.6/doc/api/a00218.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00218.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,117 @@ + + + + + + +GLM: GLM_GTX_orthonormalize + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_orthonormalize
+
+
+ + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat3x3< T, P > orthonormalize (const detail::tmat3x3< T, P > &m)
 
template<typename T , precision P>
detail::tvec3< T, P > orthonormalize (const detail::tvec3< T, P > &x, const detail::tvec3< T, P > &y)
 
+

Detailed Description

+

Orthonormalize matrices.

+

<glm/gtx/orthonormalize.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
detail::tmat3x3<T, P> glm::orthonormalize (const detail::tmat3x3< T, P > & m)
+
+ +

Returns the orthonormalized matrix of m.

+

From GLM_GTX_orthonormalize extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec3<T, P> glm::orthonormalize (const detail::tvec3< T, P > & x,
const detail::tvec3< T, P > & y 
)
+
+ +

Orthonormalizes x according y.

+

From GLM_GTX_orthonormalize extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00219.html glm-0.9.5.1/doc/api/a00219.html --- glm-0.9.4.6/doc/api/a00219.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00219.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,95 @@ + + + + + + +GLM: GLM_GTX_perpendicular + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_perpendicular
+
+
+ + + + + +

+Functions

template<typename vecType >
vecType perp (vecType const &x, vecType const &Normal)
 
+

Detailed Description

+

Perpendicular of a vector from other one.

+

<glm/gtx/perpendicular.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
vecType glm::perp (vecType const & x,
vecType const & Normal 
)
+
+ +

Projects x a perpendicular axis of Normal.

+

From GLM_GTX_perpendicular extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00220.html glm-0.9.5.1/doc/api/a00220.html --- glm-0.9.4.6/doc/api/a00220.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00220.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,107 @@ + + + + + + +GLM: GLM_GTX_polar_coordinates + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_polar_coordinates
+
+
+ + + + + + + + +

+Functions

template<typename T , precision P>
detail::tvec3< T, P > euclidean (detail::tvec2< T, P > const &polar)
 
template<typename T , precision P>
detail::tvec3< T, P > polar (detail::tvec3< T, P > const &euclidean)
 
+

Detailed Description

+

Conversion from Euclidean space to polar space and revert.

+

<glm/gtx/polar_coordinates.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
detail::tvec3<T, P> glm::euclidean (detail::tvec2< T, P > const & polar)
+
+ +

Convert Polar to Euclidean coordinates.

+
See Also
GLM_GTX_polar_coordinates
+ +
+
+ +
+
+ + + + + + + + +
detail::tvec3<T, P> glm::polar (detail::tvec3< T, P > const & euclidean)
+
+ +

Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude.

+
See Also
GLM_GTX_polar_coordinates
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00221.html glm-0.9.5.1/doc/api/a00221.html --- glm-0.9.4.6/doc/api/a00221.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00221.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,95 @@ + + + + + + +GLM: GLM_GTX_projection + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + + +

+Functions

template<typename vecType >
vecType proj (vecType const &x, vecType const &Normal)
 
+

Detailed Description

+

Projection of a vector to other one.

+

<glm/gtx/projection.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
vecType glm::proj (vecType const & x,
vecType const & Normal 
)
+
+ +

Projects x on Normal.

+

From GLM_GTX_projection extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00222.html glm-0.9.5.1/doc/api/a00222.html --- glm-0.9.4.6/doc/api/a00222.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00222.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,615 @@ + + + + + + +GLM: GLM_GTX_quaternion + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tvec3< T, P > cross (detail::tquat< T, P > const &q, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec3< T, P > cross (detail::tvec3< T, P > const &v, detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > exp (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
extractRealComponent (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > fastMix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
detail::tquat< T, P > intermediate (detail::tquat< T, P > const &prev, detail::tquat< T, P > const &curr, detail::tquat< T, P > const &next)
 
template<typename T , precision P>
length2 (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > log (detail::tquat< T, P > const &q)
 
template<typename T , precision P>
detail::tquat< T, P > pow (detail::tquat< T, P > const &x, T const &y)
 
template<typename T , precision P>
detail::tvec3< T, P > rotate (detail::tquat< T, P > const &q, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tvec4< T, P > rotate (detail::tquat< T, P > const &q, detail::tvec4< T, P > const &v)
 
template<typename T , precision P>
detail::tquat< T, P > rotation (detail::tvec3< T, P > const &orig, detail::tvec3< T, P > const &dest)
 
template<typename T , precision P>
detail::tquat< T, P > shortMix (detail::tquat< T, P > const &x, detail::tquat< T, P > const &y, T const &a)
 
template<typename T , precision P>
detail::tquat< T, P > squad (detail::tquat< T, P > const &q1, detail::tquat< T, P > const &q2, detail::tquat< T, P > const &s1, detail::tquat< T, P > const &s2, T const &h)
 
template<typename T , precision P>
detail::tmat3x3< T, P > toMat3 (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > toMat4 (detail::tquat< T, P > const &x)
 
template<typename T , precision P>
detail::tquat< T, P > toQuat (detail::tmat3x3< T, P > const &x)
 
template<typename T , precision P>
detail::tquat< T, P > toQuat (detail::tmat4x4< T, P > const &x)
 
+

Detailed Description

+

Extented quaternion types and functions.

+

<glm/gtx/quaternion.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec3<T, P> glm::cross (detail::tquat< T, P > const & q,
detail::tvec3< T, P > const & v 
)
+
+ +

Compute a cross product between a quaternion and a vector.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec3<T, P> glm::cross (detail::tvec3< T, P > const & v,
detail::tquat< T, P > const & q 
)
+
+ +

Compute a cross product between a vector and a quaternion.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + +
detail::tquat<T, P> glm::exp (detail::tquat< T, P > const & q)
+
+ +

Returns a exp of a quaternion.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + +
T glm::extractRealComponent (detail::tquat< T, P > const & q)
+
+ +

Extract the real component of a quaternion.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tquat<T, P> glm::fastMix (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y,
T const & a 
)
+
+ +

Quaternion normalized linear interpolation.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tquat<T, P> glm::intermediate (detail::tquat< T, P > const & prev,
detail::tquat< T, P > const & curr,
detail::tquat< T, P > const & next 
)
+
+ +

Returns an intermediate control point for squad interpolation.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + +
T glm::length2 (detail::tquat< T, P > const & q)
+
+ +

Returns the squared length of x.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + +
detail::tquat<T, P> glm::log (detail::tquat< T, P > const & q)
+
+ +

Returns a log of a quaternion.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tquat<T, P> glm::pow (detail::tquat< T, P > const & x,
T const & y 
)
+
+ +

Returns x raised to the y power.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec3<T, P> glm::rotate (detail::tquat< T, P > const & q,
detail::tvec3< T, P > const & v 
)
+
+ +

Returns quarternion square root.

+
See Also
GLM_GTX_quaternion Rotates a 3 components vector by a quaternion.
+
+GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec4<T, P> glm::rotate (detail::tquat< T, P > const & q,
detail::tvec4< T, P > const & v 
)
+
+ +

Rotates a 4 components vector by a quaternion.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tquat<T, P> glm::rotation (detail::tvec3< T, P > const & orig,
detail::tvec3< T, P > const & dest 
)
+
+ +

Compute the rotation between two vectors.

+

param orig vector, needs to be normalized param dest vector, needs to be normalized

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tquat<T, P> glm::shortMix (detail::tquat< T, P > const & x,
detail::tquat< T, P > const & y,
T const & a 
)
+
+ +

Quaternion interpolation using the rotation short path.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
detail::tquat<T, P> glm::squad (detail::tquat< T, P > const & q1,
detail::tquat< T, P > const & q2,
detail::tquat< T, P > const & s1,
detail::tquat< T, P > const & s2,
T const & h 
)
+
+ +

Compute a point on a path according squad equation.

+

q1 and q2 are control points; s1 and s2 are intermediate control points.

+
See Also
GLM_GTX_quaternion
+ +
+
+ +
+
+ + + + + + + + +
detail::tmat3x3<T, P> glm::toMat3 (detail::tquat< T, P > const & x)
+
+ +

Converts a quaternion to a 3 * 3 matrix.

+
See Also
GLM_GTX_quaternion
+ +

Definition at line 150 of file gtx/quaternion.hpp.

+ +

References glm::mat3_cast().

+ +
+
+ +
+
+ + + + + + + + +
detail::tmat4x4<T, P> glm::toMat4 (detail::tquat< T, P > const & x)
+
+ +

Converts a quaternion to a 4 * 4 matrix.

+
See Also
GLM_GTX_quaternion
+ +

Definition at line 157 of file gtx/quaternion.hpp.

+ +

References glm::mat4_cast().

+ +
+
+ +
+
+ + + + + + + + +
detail::tquat<T, P> glm::toQuat (detail::tmat3x3< T, P > const & x)
+
+ +

Converts a 3 * 3 matrix to a quaternion.

+
See Also
GLM_GTX_quaternion
+ +

Definition at line 164 of file gtx/quaternion.hpp.

+ +

References glm::quat_cast().

+ +
+
+ +
+
+ + + + + + + + +
detail::tquat<T, P> glm::toQuat (detail::tmat4x4< T, P > const & x)
+
+ +

Converts a 4 * 4 matrix to a quaternion.

+
See Also
GLM_GTX_quaternion
+ +

Definition at line 171 of file gtx/quaternion.hpp.

+ +

References glm::quat_cast().

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00223.html glm-0.9.5.1/doc/api/a00223.html --- glm-0.9.4.6/doc/api/a00223.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00223.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,139 @@ + + + + + + +GLM: GLM_GTX_raw_data + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ + +
+
+ + + + + + + + + + +

+Typedefs

typedef detail::uint8 byte
 
typedef detail::uint32 dword
 
typedef detail::uint64 qword
 
typedef detail::uint16 word
 
+

Detailed Description

+

Projection of a vector to other one.

+

<glm/gtx/raw_data.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+ +
+
+ + + + +
typedef detail::uint8 byte
+
+ +

Type for byte numbers.

+

From GLM_GTX_raw_data extension.

+ +

Definition at line 55 of file raw_data.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint32 dword
+
+ +

Type for dword numbers.

+

From GLM_GTX_raw_data extension.

+ +

Definition at line 63 of file raw_data.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint64 qword
+
+ +

Type for qword numbers.

+

From GLM_GTX_raw_data extension.

+ +

Definition at line 67 of file raw_data.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::uint16 word
+
+ +

Type for word numbers.

+

From GLM_GTX_raw_data extension.

+ +

Definition at line 59 of file raw_data.hpp.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00224.html glm-0.9.5.1/doc/api/a00224.html --- glm-0.9.4.6/doc/api/a00224.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00224.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,167 @@ + + + + + + +GLM: GLM_GTX_rotate_normalized_axis + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_rotate_normalized_axis
+
+
+ + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat4x4< T, P > rotateNormalizedAxis (detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
 
template<typename T , precision P>
detail::tquat< T, P > rotateNormalizedAxis (detail::tquat< T, P > const &q, T const &angle, detail::tvec3< T, P > const &axis)
 
+

Detailed Description

+

Quaternions and matrices rotations around normalized axis.

+

<glm/gtx/rotate_normalized_axis.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, P> glm::rotateNormalizedAxis (detail::tmat4x4< T, P > const & m,
T const & angle,
detail::tvec3< T, P > const & axis 
)
+
+ +

Builds a rotation 4 * 4 matrix created from a normalized axis and an angle.

+
Parameters
+ + + + +
mInput matrix multiplied by this rotation matrix.
angleRotation angle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisRotation axis, must be normalized.
+
+
+
Template Parameters
+ + +
TValue type used to build the matrix. Currently supported: half (not recommanded), float or double.
+
+
+
See Also
GLM_GTX_rotate_normalized_axis
+
+- rotate(T angle, T x, T y, T z)
+
+- rotate(detail::tmat4x4<T, P> const & m, T angle, T x, T y, T z)
+
+- rotate(T angle, detail::tvec3<T, P> const & v)
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tquat<T, P> glm::rotateNormalizedAxis (detail::tquat< T, P > const & q,
T const & angle,
detail::tvec3< T, P > const & axis 
)
+
+ +

Rotates a quaternion from a vector of 3 components normalized axis and an angle.

+
Parameters
+ + + + +
qSource orientation
angleAngle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
axisNormalized axis of the rotation, must be normalized.
+
+
+
See Also
GLM_GTX_rotate_normalized_axis
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00225.html glm-0.9.5.1/doc/api/a00225.html --- glm-0.9.4.6/doc/api/a00225.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00225.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,395 @@ + + + + + + +GLM: GLM_GTX_rotate_vector + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_rotate_vector
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat4x4< T, P > orientation (detail::tvec3< T, P > const &Normal, detail::tvec3< T, P > const &Up)
 
template<typename T , precision P>
detail::tvec2< T, P > rotate (detail::tvec2< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotate (detail::tvec3< T, P > const &v, T const &angle, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
detail::tvec4< T, P > rotate (detail::tvec4< T, P > const &v, T const &angle, detail::tvec3< T, P > const &normal)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateX (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateX (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateY (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateY (detail::tvec4< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec3< T, P > rotateZ (detail::tvec3< T, P > const &v, T const &angle)
 
template<typename T , precision P>
detail::tvec4< T, P > rotateZ (detail::tvec4< T, P > const &v, T const &angle)
 
+

Detailed Description

+

Function to directly rotate a vector.

+

<glm/gtx/rotate_vector.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, P> glm::orientation (detail::tvec3< T, P > const & Normal,
detail::tvec3< T, P > const & Up 
)
+
+ +

Build a rotation matrix from a normal and a up vector.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec2<T, P> glm::rotate (detail::tvec2< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a two dimensional vector.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tvec3<T, P> glm::rotate (detail::tvec3< T, P > const & v,
T const & angle,
detail::tvec3< T, P > const & normal 
)
+
+ +

Rotate a three dimensional vector around an axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tvec4<T, P> glm::rotate (detail::tvec4< T, P > const & v,
T const & angle,
detail::tvec3< T, P > const & normal 
)
+
+ +

Rotate a four dimensional vector around an axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec3<T, P> glm::rotateX (detail::tvec3< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a three dimensional vector around the X axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec4<T, P> glm::rotateX (detail::tvec4< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a four dimentionnals vector around the X axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec3<T, P> glm::rotateY (detail::tvec3< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a three dimensional vector around the Y axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec4<T, P> glm::rotateY (detail::tvec4< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a four dimensional vector around the X axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec3<T, P> glm::rotateZ (detail::tvec3< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a three dimensional vector around the Z axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tvec4<T, P> glm::rotateZ (detail::tvec4< T, P > const & v,
T const & angle 
)
+
+ +

Rotate a four dimensional vector around the X axis.

+

From GLM_GTX_rotate_vector extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00226.html glm-0.9.5.1/doc/api/a00226.html --- glm-0.9.4.6/doc/api/a00226.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00226.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,55 @@ + + + + + + +GLM: GLM_GTX_simd_mat4 + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+
+
+
+
+

SIMD implementation of mat4 type.

+

<glm/gtx/simd_mat4.hpp> need to be included to use these functionalities.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00227.html glm-0.9.5.1/doc/api/a00227.html --- glm-0.9.4.6/doc/api/a00227.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00227.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,57 @@ + + + + + + +GLM: GLM_GTX_simd_quat + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+
+
+
+
+

SIMD implementation of quat type.

+

SIMD implementation of vec4 type.

+

<glm/gtx/simd_quat.hpp> need to be included to use these functionalities.

+

<glm/gtx/simd_vec4.hpp> need to be included to use these functionalities.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00228.html glm-0.9.5.1/doc/api/a00228.html --- glm-0.9.4.6/doc/api/a00228.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00228.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,213 @@ + + + + + + +GLM: GLM_GTX_spline + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+ +
+ + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 
template<typename genType >
GLM_FUNC_DECL genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 
+

Detailed Description

+

Spline functions.

+

<glm/gtx/spline.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::catmullRom (genType const & v1,
genType const & v2,
genType const & v3,
genType const & v4,
typename genType::value_type const & s 
)
+
+ +

Return a point from a catmull rom curve.

+
See Also
GLM_GTX_spline extension.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::cubic (genType const & v1,
genType const & v2,
genType const & v3,
genType const & v4,
typename genType::value_type const & s 
)
+
+ +

Return a point from a cubic curve.

+
See Also
GLM_GTX_spline extension.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_DECL genType glm::hermite (genType const & v1,
genType const & t1,
genType const & v2,
genType const & t2,
typename genType::value_type const & s 
)
+
+ +

Return a point from a hermite curve.

+
See Also
GLM_GTX_spline extension.
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00229.html glm-0.9.5.1/doc/api/a00229.html --- glm-0.9.4.6/doc/api/a00229.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00229.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,183 @@ + + + + + + +GLM: GLM_GTX_std_based_type + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_std_based_type
+
+
+ + + + + + + + + + + + + + +

+Typedefs

typedef detail::tvec2
+< std::size_t, defaultp > 
size2
 
typedef detail::tvec2
+< std::size_t, defaultp > 
size2_t
 
typedef detail::tvec3
+< std::size_t, defaultp > 
size3
 
typedef detail::tvec3
+< std::size_t, defaultp > 
size3_t
 
typedef detail::tvec4
+< std::size_t, defaultp > 
size4
 
typedef detail::tvec4
+< std::size_t, defaultp > 
size4_t
 
+

Detailed Description

+

Adds vector types based on STL value types.

+

<glm/gtx/std_based_type.hpp> need to be included to use these functionalities.

+

Typedef Documentation

+ +
+
+ + + + +
typedef detail::tvec2<std::size_t, defaultp> size2
+
+ +

Vector type based of two std::size_t components.

+
See Also
GLM_GTX_std_based_type
+ +

Definition at line 56 of file std_based_type.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec2<std::size_t, defaultp> size2_t
+
+ +

Vector type based of two std::size_t components.

+
See Also
GLM_GTX_std_based_type
+ +

Definition at line 68 of file std_based_type.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<std::size_t, defaultp> size3
+
+ +

Vector type based of three std::size_t components.

+
See Also
GLM_GTX_std_based_type
+ +

Definition at line 60 of file std_based_type.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec3<std::size_t, defaultp> size3_t
+
+ +

Vector type based of three std::size_t components.

+
See Also
GLM_GTX_std_based_type
+ +

Definition at line 72 of file std_based_type.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<std::size_t, defaultp> size4
+
+ +

Vector type based of four std::size_t components.

+
See Also
GLM_GTX_std_based_type
+ +

Definition at line 64 of file std_based_type.hpp.

+ +
+
+ +
+
+ + + + +
typedef detail::tvec4<std::size_t, defaultp> size4_t
+
+ +

Vector type based of four std::size_t components.

+
See Also
GLM_GTX_std_based_type
+ +

Definition at line 76 of file std_based_type.hpp.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00230.html glm-0.9.5.1/doc/api/a00230.html --- glm-0.9.4.6/doc/api/a00230.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00230.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,85 @@ + + + + + + +GLM: GLM_GTX_string_cast + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + + +

+Functions

template<typename genType >
std::string to_string (genType const &x)
 
+

Detailed Description

+

Setup strings for GLM type values.

+

<glm/gtx/string_cast.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
std::string glm::to_string (genType const & x)
+
+ +

Create a string from a GLM type value.

+
See Also
GLM_GTX_string_cast extension.
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00231.html glm-0.9.5.1/doc/api/a00231.html --- glm-0.9.4.6/doc/api/a00231.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00231.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,148 @@ + + + + + + +GLM: GLM_GTX_transform + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat4x4< T, P > rotate (T angle, detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > scale (detail::tvec3< T, P > const &v)
 
template<typename T , precision P>
detail::tmat4x4< T, P > translate (detail::tvec3< T, P > const &v)
 
+

Detailed Description

+

Add transformation matrices.

+

<glm/gtx/transform.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, P> glm::rotate (angle,
detail::tvec3< T, P > const & v 
)
+
+ +

Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees.

+ + +
+
+ +
+
+ + + + + + + + +
detail::tmat4x4<T, P> glm::scale (detail::tvec3< T, P > const & v)
+
+ +

Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components.

+ + +
+
+ +
+
+ + + + + + + + +
detail::tmat4x4<T, P> glm::translate (detail::tvec3< T, P > const & v)
+
+ +

Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.

+ + +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00232.html glm-0.9.5.1/doc/api/a00232.html --- glm-0.9.4.6/doc/api/a00232.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00232.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,374 @@ + + + + + + +GLM: GLM_GTX_transform2 + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P>
detail::tmat3x3< T, P > proj2D (const detail::tmat3x3< T, P > &m, const detail::tvec3< T, P > &normal)
 
template<typename T , precision P>
detail::tmat4x4< T, P > proj3D (const detail::tmat4x4< T, P > &m, const detail::tvec3< T, P > &normal)
 
template<typename valType , precision P>
detail::tmat4x4< valType, P > scaleBias (valType scale, valType bias)
 
template<typename valType , precision P>
detail::tmat4x4< valType, P > scaleBias (detail::tmat4x4< valType, P > const &m, valType scale, valType bias)
 
template<typename T , precision P>
detail::tmat3x3< T, P > shearX2D (detail::tmat3x3< T, P > const &m, T y)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearX3D (const detail::tmat4x4< T, P > &m, T y, T z)
 
template<typename T , precision P>
detail::tmat3x3< T, P > shearY2D (detail::tmat3x3< T, P > const &m, T x)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearY3D (const detail::tmat4x4< T, P > &m, T x, T z)
 
template<typename T , precision P>
detail::tmat4x4< T, P > shearZ3D (const detail::tmat4x4< T, P > &m, T x, T y)
 
+

Detailed Description

+

Add extra transformation matrices.

+

<glm/gtx/transform2.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat3x3<T, P> glm::proj2D (const detail::tmat3x3< T, P > & m,
const detail::tvec3< T, P > & normal 
)
+
+ +

Build planar projection matrix along normal axis.

+

From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, P> glm::proj3D (const detail::tmat4x4< T, P > & m,
const detail::tvec3< T, P > & normal 
)
+
+ +

Build planar projection matrix along normal axis.

+

From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat4x4<valType, P> glm::scaleBias (valType scale,
valType bias 
)
+
+ +

Build a scale bias matrix.

+

From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat4x4<valType, P> glm::scaleBias (detail::tmat4x4< valType, P > const & m,
valType scale,
valType bias 
)
+
+ +

Build a scale bias matrix.

+

From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat3x3<T, P> glm::shearX2D (detail::tmat3x3< T, P > const & m,
y 
)
+
+ +

Transforms a matrix with a shearing on X axis.

+

From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, P> glm::shearX3D (const detail::tmat4x4< T, P > & m,
y,
z 
)
+
+ +

Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
detail::tmat3x3<T, P> glm::shearY2D (detail::tmat3x3< T, P > const & m,
x 
)
+
+ +

Transforms a matrix with a shearing on Y axis.

+

From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, P> glm::shearY3D (const detail::tmat4x4< T, P > & m,
x,
z 
)
+
+ +

Transforms a matrix with a shearing on Y axis.

+

From GLM_GTX_transform2 extension.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
detail::tmat4x4<T, P> glm::shearZ3D (const detail::tmat4x4< T, P > & m,
x,
y 
)
+
+ +

Transforms a matrix with a shearing on Z axis.

+

From GLM_GTX_transform2 extension.

+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00233.html glm-0.9.5.1/doc/api/a00233.html --- glm-0.9.4.6/doc/api/a00233.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00233.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,55 @@ + + + + + + +GLM: GLM_GTX_vec1 + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+ +
+

Add vec1, ivec1, uvec1 and bvec1 types.

+

<glm/gtx/vec1.hpp> need to be included to use these functionalities.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00234.html glm-0.9.5.1/doc/api/a00234.html --- glm-0.9.4.6/doc/api/a00234.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00234.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,167 @@ + + + + + + +GLM: GLM_GTX_vector_angle + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_vector_angle
+
+
+ + + + + + + + + + + +

+Functions

template<typename vecType >
GLM_FUNC_QUALIFIER
+vecType::value_type 
angle (vecType const &x, vecType const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec2< T, P > const &x, detail::tvec2< T, P > const &y)
 
template<typename T , precision P>
GLM_FUNC_QUALIFIER T orientedAngle (detail::tvec3< T, P > const &x, detail::tvec3< T, P > const &y, detail::tvec3< T, P > const &ref)
 
+

Detailed Description

+

Compute angle between vectors.

+

<glm/gtx/vector_angle.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_QUALIFIER vecType::value_type glm::angle (vecType const & x,
vecType const & y 
)
+
+ +

Returns the absolute angle between two vectors Parameters need to be normalized.

+
See Also
GLM_GTX_vector_angle extension
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
GLM_FUNC_QUALIFIER T glm::orientedAngle (detail::tvec2< T, P > const & x,
detail::tvec2< T, P > const & y 
)
+
+ +

Returns the oriented angle between two 2d vectors Parameters need to be normalized.

+
See Also
GLM_GTX_vector_angle extension.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
GLM_FUNC_QUALIFIER T glm::orientedAngle (detail::tvec3< T, P > const & x,
detail::tvec3< T, P > const & y,
detail::tvec3< T, P > const & ref 
)
+
+ +

Returns the oriented angle between two 3d vectors based from a reference axis.

+

Parameters need to be normalized.

+
See Also
GLM_GTX_vector_angle extension.
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00235.html glm-0.9.5.1/doc/api/a00235.html --- glm-0.9.4.6/doc/api/a00235.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00235.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,273 @@ + + + + + + +GLM: GLM_GTX_vector_query + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+ +
+
GLM_GTX_vector_query
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Functions

template<typename T , precision P, template< typename, precision > class vecType>
bool areCollinear (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool areOrthogonal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool areOrthonormal (vecType< T, P > const &v0, vecType< T, P > const &v1, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
vecType< bool, P > isCompNull (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool isNormalized (vecType< T, P > const &v, T const &epsilon)
 
template<typename T , precision P, template< typename, precision > class vecType>
bool isNull (vecType< T, P > const &v, T const &epsilon)
 
+

Detailed Description

+

Query informations of vector types.

+

<glm/gtx/vector_query.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool glm::areCollinear (vecType< T, P > const & v0,
vecType< T, P > const & v1,
T const & epsilon 
)
+
+ +

Check whether two vectors are collinears.

+
See Also
GLM_GTX_vector_query extensions.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool glm::areOrthogonal (vecType< T, P > const & v0,
vecType< T, P > const & v1,
T const & epsilon 
)
+
+ +

Check whether two vectors are orthogonals.

+
See Also
GLM_GTX_vector_query extensions.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool glm::areOrthonormal (vecType< T, P > const & v0,
vecType< T, P > const & v1,
T const & epsilon 
)
+
+ +

Check whether two vectors are orthonormal.

+
See Also
GLM_GTX_vector_query extensions.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
vecType<bool, P> glm::isCompNull (vecType< T, P > const & v,
T const & epsilon 
)
+
+ +

Check whether a each component of a vector is null.

+
See Also
GLM_GTX_vector_query extensions.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool glm::isNormalized (vecType< T, P > const & v,
T const & epsilon 
)
+
+ +

Check whether a vector is normalized.

+
See Also
GLM_GTX_vector_query extensions.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
bool glm::isNull (vecType< T, P > const & v,
T const & epsilon 
)
+
+ +

Check whether a vector is null.

+
See Also
GLM_GTX_vector_query extensions.
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00236.html glm-0.9.5.1/doc/api/a00236.html --- glm-0.9.4.6/doc/api/a00236.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00236.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,129 @@ + + + + + + +GLM: GLM_GTX_wrap + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+ +
+ + + + + + + + + + + +

+Functions

template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType mirrorRepeat (genType const &Texcoord)
 
template<typename genType >
GLM_FUNC_DECL genType repeat (genType const &Texcoord)
 
+

Detailed Description

+

Wrapping mode of texture coordinates.

+

<glm/gtx/wrap.hpp> need to be included to use these functionalities.

+

Function Documentation

+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::clamp (genType const & Texcoord)
+
+ +

Simulate GL_CLAMP OpenGL wrap mode.

+
See Also
GLM_GTX_wrap extension.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::mirrorRepeat (genType const & Texcoord)
+
+ +

Simulate GL_MIRROR_REPEAT OpenGL wrap mode.

+
See Also
GLM_GTX_wrap extension.
+ +
+
+ +
+
+ + + + + + + + +
GLM_FUNC_DECL genType glm::repeat (genType const & Texcoord)
+
+ +

Simulate GL_REPEAT OpenGL wrap mode.

+
See Also
GLM_GTX_wrap extension.
+ +
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00237.html glm-0.9.5.1/doc/api/a00237.html --- glm-0.9.4.6/doc/api/a00237.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00237.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,55 @@ + + + + + + +GLM: GLM_VIRTREV_xstream: xml like output + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+
+
GLM_VIRTREV_xstream: xml like output
+
+
+

Streaming vector and matrix in a xml way.

+

Include <glm/virtrev/xstream.hpp> for this functionality.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00238.html glm-0.9.5.1/doc/api/a00238.html --- glm-0.9.4.6/doc/api/a00238.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00238.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,53 @@ + + + + + + +GLM: Gtx_scalar_relational + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+
+
Gtx_scalar_relational
+
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/a00240.html glm-0.9.5.1/doc/api/a00240.html --- glm-0.9.4.6/doc/api/a00240.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/a00240.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,63 @@ + + + + + + +GLM: Todo List + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+
+
Todo List
+
+
+
+
Member glm::bitCount (genIUType< T > const &Value)
+
Clarify the declaration to specify that scalars are suported.
+
Member glm::epsilon ()
+
Implement epsilon for half-precision floating point type.
+
Member glm::findLSB (genIUType< T > const &Value)
+
Clarify the declaration to specify that scalars are suported.
+
Member glm::findMSB (genIUType< T > const &Value)
+
Clarify the declaration to specify that scalars are suported.
+
+
+ + + + Binary files /tmp/20lLhMbQ1m/glm-0.9.4.6/doc/api/background.jpg and /tmp/1kU0NDLQ86/glm-0.9.5.1/doc/api/background.jpg differ diff -Nru glm-0.9.4.6/doc/api/dir_04e4a28b8d58785d7769817294d623f5.html glm-0.9.5.1/doc/api/dir_04e4a28b8d58785d7769817294d623f5.html --- glm-0.9.4.6/doc/api/dir_04e4a28b8d58785d7769817294d623f5.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_04e4a28b8d58785d7769817294d623f5.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,63 @@ + + + + + + +GLM: virtrev Directory Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
virtrev Directory Reference
+
+
+ + + + +

+Files

file  xstream.hpp [code]
 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/dir_1a190e7f93f4503d85aaef18e89b9041.html glm-0.9.5.1/doc/api/dir_1a190e7f93f4503d85aaef18e89b9041.html --- glm-0.9.4.6/doc/api/dir_1a190e7f93f4503d85aaef18e89b9041.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_1a190e7f93f4503d85aaef18e89b9041.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,85 +0,0 @@ - - - - - -gtc Directory Reference - - - - - - -
-
- - - - - - -
-
- - - - -
-
-
-
gtc Directory Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  gtc/constants.hpp [code]
 
file  gtc/epsilon.hpp [code]
 
file  half_float.hpp [code]
 
file  matrix_access.hpp [code]
 
file  matrix_integer.hpp [code]
 
file  matrix_inverse.hpp [code]
 
file  matrix_transform.hpp [code]
 
file  gtc/noise.hpp [code]
 
file  gtc/quaternion.hpp [code]
 
file  gtc/random.hpp [code]
 
file  gtc/reciprocal.hpp [code]
 
file  swizzle.hpp [code]
 
file  type_precision.hpp [code]
 
file  type_ptr.hpp [code]
 
file  gtc/ulp.hpp [code]
 
-
- - - - diff -Nru glm-0.9.4.6/doc/api/dir_4cc70906cceed54662c805106db410fc.html glm-0.9.5.1/doc/api/dir_4cc70906cceed54662c805106db410fc.html --- glm-0.9.4.6/doc/api/dir_4cc70906cceed54662c805106db410fc.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_4cc70906cceed54662c805106db410fc.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,59 +0,0 @@ - - - - - -doc Directory Reference - - - - - - -
-
- - - - - - -
-
- - - - -
-
-
-
doc Directory Reference
-
-
- - - - - - -

-Files

file  man.doxy [code]
 
file  pages.doxy [code]
 
-
- - - - diff -Nru glm-0.9.4.6/doc/api/dir_4d1ca7e3aefdd5b86b5dba8da1c3d503.html glm-0.9.5.1/doc/api/dir_4d1ca7e3aefdd5b86b5dba8da1c3d503.html --- glm-0.9.4.6/doc/api/dir_4d1ca7e3aefdd5b86b5dba8da1c3d503.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_4d1ca7e3aefdd5b86b5dba8da1c3d503.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,151 @@ + + + + + + +GLM: detail Directory Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
detail Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  _features.hpp [code]
 
file  _fixes.hpp [code]
 
file  _literals.hpp [code]
 
file  _noise.hpp [code]
 
file  _swizzle.hpp [code]
 
file  _swizzle_func.hpp [code]
 
file  _vectorize.hpp [code]
 
file  func_common.hpp [code]
 
file  func_exponential.hpp [code]
 
file  func_geometric.hpp [code]
 
file  func_integer.hpp [code]
 
file  func_matrix.hpp [code]
 
file  func_noise.hpp [code]
 
file  func_packing.hpp [code]
 
file  func_trigonometric.hpp [code]
 
file  func_vector_relational.hpp [code]
 
file  hint.hpp [code]
 
file  intrinsic_common.hpp [code]
 
file  intrinsic_exponential.hpp [code]
 
file  intrinsic_geometric.hpp [code]
 
file  intrinsic_integer.hpp [code]
 
file  intrinsic_matrix.hpp [code]
 
file  intrinsic_trigonometric.hpp [code]
 
file  intrinsic_vector_relational.hpp [code]
 
file  precision.hpp [code]
 
file  setup.hpp [code]
 
file  type_float.hpp [code]
 
file  type_gentype.hpp [code]
 
file  type_half.hpp [code]
 
file  type_int.hpp [code]
 
file  type_mat.hpp [code]
 
file  type_mat2x2.hpp [code]
 
file  type_mat2x3.hpp [code]
 
file  type_mat2x4.hpp [code]
 
file  type_mat3x2.hpp [code]
 
file  type_mat3x3.hpp [code]
 
file  type_mat3x4.hpp [code]
 
file  type_mat4x2.hpp [code]
 
file  type_mat4x3.hpp [code]
 
file  type_mat4x4.hpp [code]
 
file  type_vec.hpp [code]
 
file  type_vec1.hpp [code]
 
file  type_vec2.hpp [code]
 
file  type_vec3.hpp [code]
 
file  type_vec4.hpp [code]
 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/dir_61748fa02e1156ca28a06d1638c8a86e.html glm-0.9.5.1/doc/api/dir_61748fa02e1156ca28a06d1638c8a86e.html --- glm-0.9.4.6/doc/api/dir_61748fa02e1156ca28a06d1638c8a86e.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_61748fa02e1156ca28a06d1638c8a86e.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,141 +0,0 @@ - - - - - -core Directory Reference - - - - - - -
-
- - - - - - -
-
- - - - -
-
-
-
core Directory Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  _detail.hpp [code]
 
file  _fixes.hpp [code]
 
file  _swizzle.hpp [code]
 
file  _swizzle_func.hpp [code]
 
file  _vectorize.hpp [code]
 
file  func_common.hpp [code]
 
file  func_exponential.hpp [code]
 
file  func_geometric.hpp [code]
 
file  func_integer.hpp [code]
 
file  func_matrix.hpp [code]
 
file  func_noise.hpp [code]
 
file  func_packing.hpp [code]
 
file  func_trigonometric.hpp [code]
 
file  func_vector_relational.hpp [code]
 
file  hint.hpp [code]
 
file  intrinsic_common.hpp [code]
 
file  intrinsic_exponential.hpp [code]
 
file  intrinsic_geometric.hpp [code]
 
file  intrinsic_matrix.hpp [code]
 
file  intrinsic_trigonometric.hpp [code]
 
file  intrinsic_vector_relational.hpp [code]
 
file  setup.hpp [code]
 
file  type.hpp [code]
 
file  type_float.hpp [code]
 
file  type_gentype.hpp [code]
 
file  type_half.hpp [code]
 
file  type_int.hpp [code]
 
file  type_mat.hpp [code]
 
file  type_mat2x2.hpp [code]
 
file  type_mat2x3.hpp [code]
 
file  type_mat2x4.hpp [code]
 
file  type_mat3x2.hpp [code]
 
file  type_mat3x3.hpp [code]
 
file  type_mat3x4.hpp [code]
 
file  type_mat4x2.hpp [code]
 
file  type_mat4x3.hpp [code]
 
file  type_mat4x4.hpp [code]
 
file  type_size.hpp [code]
 
file  type_vec.hpp [code]
 
file  type_vec1.hpp [code]
 
file  type_vec2.hpp [code]
 
file  type_vec3.hpp [code]
 
file  type_vec4.hpp [code]
 
-
- - - - diff -Nru glm-0.9.4.6/doc/api/dir_6e418c18ca640a0404613de005739e2e.html glm-0.9.5.1/doc/api/dir_6e418c18ca640a0404613de005739e2e.html --- glm-0.9.4.6/doc/api/dir_6e418c18ca640a0404613de005739e2e.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_6e418c18ca640a0404613de005739e2e.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,63 @@ + + + + + + +GLM: Documents Directory Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
Documents Directory Reference
+
+
+ + + + +

+Directories

directory  GitHub
 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/dir_89daaa151958d75313fcd89dd5f4bdb8.html glm-0.9.5.1/doc/api/dir_89daaa151958d75313fcd89dd5f4bdb8.html --- glm-0.9.4.6/doc/api/dir_89daaa151958d75313fcd89dd5f4bdb8.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_89daaa151958d75313fcd89dd5f4bdb8.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,65 @@ + + + + + + +GLM: doc Directory Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
doc Directory Reference
+
+
+ + + + + + +

+Files

file  man.doxy [code]
 
file  pages.doxy [code]
 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html glm-0.9.5.1/doc/api/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html --- glm-0.9.4.6/doc/api/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_8ceffd4ee35c3518d4e8bdc7e638efe8.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,63 @@ + + + + + + +GLM: Users Directory Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
Users Directory Reference
+
+
+ + + + +

+Directories

directory  Groove
 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/dir_934f46a345653ef2b3014a1b37a162c1.html glm-0.9.5.1/doc/api/dir_934f46a345653ef2b3014a1b37a162c1.html --- glm-0.9.4.6/doc/api/dir_934f46a345653ef2b3014a1b37a162c1.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_934f46a345653ef2b3014a1b37a162c1.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ - - - - - -G: Directory Reference - - - - - - -
-
- - - - - - -
-
- - - - -
-
-
-
G: Directory Reference
-
-
- - - - -

-Directories

directory  Repository
 
-
- - - - diff -Nru glm-0.9.4.6/doc/api/dir_968fb7988749a6351e7b3d0c1783dec4.html glm-0.9.5.1/doc/api/dir_968fb7988749a6351e7b3d0c1783dec4.html --- glm-0.9.4.6/doc/api/dir_968fb7988749a6351e7b3d0c1783dec4.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_968fb7988749a6351e7b3d0c1783dec4.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,63 @@ + + + + + + +GLM: Groove Directory Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
Groove Directory Reference
+
+
+ + + + +

+Directories

directory  Documents
 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/dir_a844bf6d5a07b8853f8463b41029861e.html glm-0.9.5.1/doc/api/dir_a844bf6d5a07b8853f8463b41029861e.html --- glm-0.9.4.6/doc/api/dir_a844bf6d5a07b8853f8463b41029861e.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_a844bf6d5a07b8853f8463b41029861e.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,70 +0,0 @@ - - - - - -glm Directory Reference - - - - - - -
-
- - - - - - -
-
- - - - -
-
-
-
glm Directory Reference
-
-
- - - - - - - - - - -

-Directories

directory  core
 
directory  gtc
 
directory  gtx
 
directory  virtrev
 
- - - - - -

-Files

file  ext.hpp [code]
 
file  glm.hpp [code]
 
-
- - - - diff -Nru glm-0.9.4.6/doc/api/dir_a8d99eddac27b2368ab5252ce80ded11.html glm-0.9.5.1/doc/api/dir_a8d99eddac27b2368ab5252ce80ded11.html --- glm-0.9.4.6/doc/api/dir_a8d99eddac27b2368ab5252ce80ded11.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_a8d99eddac27b2368ab5252ce80ded11.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,185 @@ + + + + + + +GLM: gtx Directory Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
gtx Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  associated_min_max.hpp [code]
 
file  bit.hpp [code]
 
file  closest_point.hpp [code]
 
file  color_space.hpp [code]
 
file  color_space_YCoCg.hpp [code]
 
file  compatibility.hpp [code]
 
file  component_wise.hpp [code]
 
file  gtx/constants.hpp [code]
 
file  dual_quaternion.hpp [code]
 
file  gtx/epsilon.hpp [code]
 
file  euler_angles.hpp [code]
 
file  extend.hpp [code]
 
file  extented_min_max.hpp [code]
 
file  fast_exponential.hpp [code]
 
file  fast_square_root.hpp [code]
 
file  fast_trigonometry.hpp [code]
 
file  gradient_paint.hpp [code]
 
file  handed_coordinate_space.hpp [code]
 
file  inertia.hpp [code]
 
file  int_10_10_10_2.hpp [code]
 
file  gtx/integer.hpp [code]
 
file  intersect.hpp [code]
 
file  io.hpp [code]
 
file  log_base.hpp [code]
 
file  matrix_cross_product.hpp [code]
 
file  matrix_interpolation.hpp [code]
 
file  matrix_major_storage.hpp [code]
 
file  matrix_operation.hpp [code]
 
file  matrix_query.hpp [code]
 
file  mixed_product.hpp [code]
 
file  multiple.hpp [code]
 
file  gtx/noise.hpp [code]
 
file  norm.hpp [code]
 
file  normal.hpp [code]
 
file  normalize_dot.hpp [code]
 
file  number_precision.hpp [code]
 
file  optimum_pow.hpp [code]
 
file  orthonormalize.hpp [code]
 
file  perpendicular.hpp [code]
 
file  polar_coordinates.hpp [code]
 
file  projection.hpp [code]
 
file  gtx/quaternion.hpp [code]
 
file  gtx/random.hpp [code]
 
file  raw_data.hpp [code]
 
file  gtx/reciprocal.hpp [code]
 
file  rotate_normalized_axis.hpp [code]
 
file  rotate_vector.hpp [code]
 
file  scalar_relational.hpp [code]
 
file  simd_mat4.hpp [code]
 
file  simd_quat.hpp [code]
 
file  simd_vec4.hpp [code]
 
file  spline.hpp [code]
 
file  std_based_type.hpp [code]
 
file  string_cast.hpp [code]
 
file  transform.hpp [code]
 
file  transform2.hpp [code]
 
file  gtx/ulp.hpp [code]
 
file  unsigned_int.hpp [code]
 
file  vec1.hpp [code]
 
file  vector_angle.hpp [code]
 
file  vector_query.hpp [code]
 
file  wrap.hpp [code]
 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/dir_abb3ddac8d2c26e45fecc003279ba790.html glm-0.9.5.1/doc/api/dir_abb3ddac8d2c26e45fecc003279ba790.html --- glm-0.9.4.6/doc/api/dir_abb3ddac8d2c26e45fecc003279ba790.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_abb3ddac8d2c26e45fecc003279ba790.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,177 +0,0 @@ - - - - - -gtx Directory Reference - - - - - - -
-
- - - - - - -
-
- - - - -
-
-
-
gtx Directory Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  associated_min_max.hpp [code]
 
file  bit.hpp [code]
 
file  closest_point.hpp [code]
 
file  color_cast.hpp [code]
 
file  color_space.hpp [code]
 
file  color_space_YCoCg.hpp [code]
 
file  compatibility.hpp [code]
 
file  component_wise.hpp [code]
 
file  gtx/constants.hpp [code]
 
file  gtx/epsilon.hpp [code]
 
file  euler_angles.hpp [code]
 
file  extend.hpp [code]
 
file  extented_min_max.hpp [code]
 
file  fast_exponential.hpp [code]
 
file  fast_square_root.hpp [code]
 
file  fast_trigonometry.hpp [code]
 
file  gradient_paint.hpp [code]
 
file  handed_coordinate_space.hpp [code]
 
file  inertia.hpp [code]
 
file  int_10_10_10_2.hpp [code]
 
file  integer.hpp [code]
 
file  intersect.hpp [code]
 
file  log_base.hpp [code]
 
file  matrix_cross_product.hpp [code]
 
file  matrix_interpolation.hpp [code]
 
file  matrix_major_storage.hpp [code]
 
file  matrix_operation.hpp [code]
 
file  matrix_query.hpp [code]
 
file  mixed_product.hpp [code]
 
file  multiple.hpp [code]
 
file  gtx/noise.hpp [code]
 
file  norm.hpp [code]
 
file  normal.hpp [code]
 
file  normalize_dot.hpp [code]
 
file  number_precision.hpp [code]
 
file  ocl_type.hpp [code]
 
file  optimum_pow.hpp [code]
 
file  orthonormalize.hpp [code]
 
file  perpendicular.hpp [code]
 
file  polar_coordinates.hpp [code]
 
file  projection.hpp [code]
 
file  gtx/quaternion.hpp [code]
 
file  gtx/random.hpp [code]
 
file  raw_data.hpp [code]
 
file  gtx/reciprocal.hpp [code]
 
file  rotate_vector.hpp [code]
 
file  simd_mat4.hpp [code]
 
file  simd_vec4.hpp [code]
 
file  spline.hpp [code]
 
file  std_based_type.hpp [code]
 
file  string_cast.hpp [code]
 
file  transform.hpp [code]
 
file  transform2.hpp [code]
 
file  gtx/ulp.hpp [code]
 
file  unsigned_int.hpp [code]
 
file  vec1.hpp [code]
 
file  vector_access.hpp [code]
 
file  vector_angle.hpp [code]
 
file  vector_query.hpp [code]
 
file  verbose_operator.hpp [code]
 
file  wrap.hpp [code]
 
-
- - - - diff -Nru glm-0.9.4.6/doc/api/dir_bf513233250988b6ff3b72f8482c1597.html glm-0.9.5.1/doc/api/dir_bf513233250988b6ff3b72f8482c1597.html --- glm-0.9.4.6/doc/api/dir_bf513233250988b6ff3b72f8482c1597.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_bf513233250988b6ff3b72f8482c1597.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ - - - - - -Repository Directory Reference - - - - - - -
-
- - - - - - -
-
- - - - -
-
-
-
Repository Directory Reference
-
-
- - - - -

-Directories

directory  glm
 
-
- - - - diff -Nru glm-0.9.4.6/doc/api/dir_d0b7d2b076d3071c16656cd994e0cf09.html glm-0.9.5.1/doc/api/dir_d0b7d2b076d3071c16656cd994e0cf09.html --- glm-0.9.4.6/doc/api/dir_d0b7d2b076d3071c16656cd994e0cf09.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_d0b7d2b076d3071c16656cd994e0cf09.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ - - - - - -virtrev Directory Reference - - - - - - -
-
- - - - - - -
-
- - - - -
-
-
-
virtrev Directory Reference
-
-
- - - - -

-Files

file  xstream.hpp [code]
 
-
- - - - diff -Nru glm-0.9.4.6/doc/api/dir_e217bba5d90990da93f61f0ea8b942dc.html glm-0.9.5.1/doc/api/dir_e217bba5d90990da93f61f0ea8b942dc.html --- glm-0.9.4.6/doc/api/dir_e217bba5d90990da93f61f0ea8b942dc.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_e217bba5d90990da93f61f0ea8b942dc.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,59 +0,0 @@ - - - - - -glm Directory Reference - - - - - - -
-
- - - - - - -
-
- - - - -
-
-
-
glm Directory Reference
-
-
- - - - - - -

-Directories

directory  doc
 
directory  glm
 
-
- - - - diff -Nru glm-0.9.4.6/doc/api/dir_e3ecd7863bd215c92a17f47e2ae3be43.html glm-0.9.5.1/doc/api/dir_e3ecd7863bd215c92a17f47e2ae3be43.html --- glm-0.9.4.6/doc/api/dir_e3ecd7863bd215c92a17f47e2ae3be43.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_e3ecd7863bd215c92a17f47e2ae3be43.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,63 @@ + + + + + + +GLM: GitHub Directory Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
GitHub Directory Reference
+
+
+ + + + +

+Directories

directory  glm
 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/dir_e50778361fd4ab4de52181ed9eb2b726.html glm-0.9.5.1/doc/api/dir_e50778361fd4ab4de52181ed9eb2b726.html --- glm-0.9.4.6/doc/api/dir_e50778361fd4ab4de52181ed9eb2b726.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_e50778361fd4ab4de52181ed9eb2b726.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,118 @@ + + + + + + +GLM: glm Directory Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
glm Directory Reference
+
+
+ + + + + + + + + + +

+Directories

directory  detail
 
directory  gtc
 
directory  gtx
 
directory  virtrev
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  common.hpp [code]
 
file  exponential.hpp [code]
 
file  ext.hpp [code]
 
file  fwd.hpp [code]
 
file  geometric.hpp [code]
 
file  glm.hpp [code]
 
file  integer.hpp [code]
 
file  mat2x2.hpp [code]
 
file  mat2x3.hpp [code]
 
file  mat2x4.hpp [code]
 
file  mat3x2.hpp [code]
 
file  mat3x3.hpp [code]
 
file  mat3x4.hpp [code]
 
file  mat4x2.hpp [code]
 
file  mat4x3.hpp [code]
 
file  mat4x4.hpp [code]
 
file  matrix.hpp [code]
 
file  packing.hpp [code]
 
file  trigonometric.hpp [code]
 
file  vec2.hpp [code]
 
file  vec3.hpp [code]
 
file  vec4.hpp [code]
 
file  vector_relational.hpp [code]
 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/dir_edf753475b928be648c1cf1c6443cf63.html glm-0.9.5.1/doc/api/dir_edf753475b928be648c1cf1c6443cf63.html --- glm-0.9.4.6/doc/api/dir_edf753475b928be648c1cf1c6443cf63.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_edf753475b928be648c1cf1c6443cf63.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,65 @@ + + + + + + +GLM: glm Directory Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
glm Directory Reference
+
+
+ + + + + + +

+Directories

directory  doc
 
directory  glm
 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/dir_f7324829a002c536307b42a892c06451.html glm-0.9.5.1/doc/api/dir_f7324829a002c536307b42a892c06451.html --- glm-0.9.4.6/doc/api/dir_f7324829a002c536307b42a892c06451.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/dir_f7324829a002c536307b42a892c06451.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,89 @@ + + + + + + +GLM: gtc Directory Reference + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
gtc Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  gtc/constants.hpp [code]
 
file  gtc/epsilon.hpp [code]
 
file  matrix_access.hpp [code]
 
file  matrix_integer.hpp [code]
 
file  matrix_inverse.hpp [code]
 
file  matrix_transform.hpp [code]
 
file  gtc/noise.hpp [code]
 
file  gtc/packing.hpp [code]
 
file  gtc/quaternion.hpp [code]
 
file  gtc/random.hpp [code]
 
file  gtc/reciprocal.hpp [code]
 
file  type_precision.hpp [code]
 
file  type_ptr.hpp [code]
 
file  gtc/ulp.hpp [code]
 
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/doxygen.css glm-0.9.5.1/doc/api/doxygen.css --- glm-0.9.4.6/doc/api/doxygen.css 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/doxygen.css 2013-12-25 23:01:14.000000000 +0000 @@ -1,13 +1,5 @@ /* The standard CSS for doxygen */ -body -{ - background-image:url('background.jpg'); - background-attachment:fixed; - background-position:center; - background-repeat:no-repeat; -} - body, table, div, p, dl { font-family: Lucida Grande, Calibri, Verdana; @@ -18,7 +10,7 @@ { margin:0px; padding:0px; - background-color:#000000; + background-color:#bf6000; background-repeat:no-repeat; background-position:center center; background-attachment:fixed; diff -Nru glm-0.9.4.6/doc/api/dynsections.js glm-0.9.5.1/doc/api/dynsections.js --- glm-0.9.4.6/doc/api/dynsections.js 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/dynsections.js 2014-01-11 22:29:08.000000000 +0000 @@ -1,78 +1,104 @@ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); -} -function toggleLevel(level) -{ - $('table.directory tr').each(function(){ - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l - - - - -File List - - - - - - -
-
- - - - - - -
-
- - - - -
-
-
-
File List
-
-
-
Here is a list of all documented files with brief descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
o*_detail.hppOpenGL Mathematics (glm.g-truc.net)
o*_fixes.hppOpenGL Mathematics (glm.g-truc.net)
o*_swizzle.hppOpenGL Mathematics (glm.g-truc.net)
o*_swizzle_func.hppOpenGL Mathematics (glm.g-truc.net)
o*_vectorize.hppOpenGL Mathematics (glm.g-truc.net)
o*associated_min_max.hppOpenGL Mathematics (glm.g-truc.net)
o*bit.hppOpenGL Mathematics (glm.g-truc.net)
o*closest_point.hpp
o*color_cast.hppOpenGL Mathematics (glm.g-truc.net)
o*color_space.hppOpenGL Mathematics (glm.g-truc.net)
o*color_space_YCoCg.hppOpenGL Mathematics (glm.g-truc.net)
o*compatibility.hppOpenGL Mathematics (glm.g-truc.net)
o*component_wise.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/constants.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/constants.hpp
o*gtc/epsilon.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/epsilon.hpp
o*euler_angles.hppOpenGL Mathematics (glm.g-truc.net)
o*ext.hpp
o*extend.hppOpenGL Mathematics (glm.g-truc.net)
o*extented_min_max.hppOpenGL Mathematics (glm.g-truc.net)
o*fast_exponential.hppOpenGL Mathematics (glm.g-truc.net)
o*fast_square_root.hppOpenGL Mathematics (glm.g-truc.net)
o*fast_trigonometry.hppOpenGL Mathematics (glm.g-truc.net)
o*func_common.hppOpenGL Mathematics (glm.g-truc.net)
o*func_exponential.hppOpenGL Mathematics (glm.g-truc.net)
o*func_geometric.hppOpenGL Mathematics (glm.g-truc.net)
o*func_integer.hppOpenGL Mathematics (glm.g-truc.net)
o*func_matrix.hppOpenGL Mathematics (glm.g-truc.net)
o*func_noise.hppOpenGL Mathematics (glm.g-truc.net)
o*func_packing.hppOpenGL Mathematics (glm.g-truc.net)
o*func_trigonometric.hppOpenGL Mathematics (glm.g-truc.net)
o*func_vector_relational.hppOpenGL Mathematics (glm.g-truc.net)
o*glm.hppOpenGL Mathematics (glm.g-truc.net)
o*gradient_paint.hppOpenGL Mathematics (glm.g-truc.net)
o*half_float.hppOpenGL Mathematics (glm.g-truc.net)
o*handed_coordinate_space.hppOpenGL Mathematics (glm.g-truc.net)
o*hint.hppOpenGL Mathematics (glm.g-truc.net)
o*inertia.hppOpenGL Mathematics (glm.g-truc.net)
o*int_10_10_10_2.hppOpenGL Mathematics (glm.g-truc.net)
o*integer.hppOpenGL Mathematics (glm.g-truc.net)
o*intersect.hppOpenGL Mathematics (glm.g-truc.net)
o*intrinsic_common.hppOpenGL Mathematics (glm.g-truc.net)
o*intrinsic_exponential.hppOpenGL Mathematics (glm.g-truc.net)
o*intrinsic_geometric.hppOpenGL Mathematics (glm.g-truc.net)
o*intrinsic_matrix.hpp
o*intrinsic_trigonometric.hppOpenGL Mathematics (glm.g-truc.net)
o*intrinsic_vector_relational.hppOpenGL Mathematics (glm.g-truc.net)
o*log_base.hppOpenGL Mathematics (glm.g-truc.net)
o*man.doxy
o*matrix_access.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_cross_product.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_integer.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_interpolation.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_inverse.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_major_storage.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_operation.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_query.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_transform.hppOpenGL Mathematics (glm.g-truc.net)
o*mixed_product.hppOpenGL Mathematics (glm.g-truc.net)
o*multiple.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/noise.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/noise.hpp
o*norm.hppOpenGL Mathematics (glm.g-truc.net)
o*normal.hppOpenGL Mathematics (glm.g-truc.net)
o*normalize_dot.hppOpenGL Mathematics (glm.g-truc.net)
o*number_precision.hppOpenGL Mathematics (glm.g-truc.net)
o*ocl_type.hppOpenGL Mathematics (glm.g-truc.net)
o*optimum_pow.hppOpenGL Mathematics (glm.g-truc.net)
o*orthonormalize.hppOpenGL Mathematics (glm.g-truc.net)
o*pages.doxy
o*perpendicular.hppOpenGL Mathematics (glm.g-truc.net)
o*polar_coordinates.hppOpenGL Mathematics (glm.g-truc.net)
o*projection.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/quaternion.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/quaternion.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/random.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/random.hpp
o*raw_data.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/reciprocal.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/reciprocal.hpp
o*rotate_vector.hppOpenGL Mathematics (glm.g-truc.net)
o*setup.hppOpenGL Mathematics (glm.g-truc.net)
o*simd_mat4.hpp
o*simd_vec4.hppOpenGL Mathematics (glm.g-truc.net)
o*spline.hppOpenGL Mathematics (glm.g-truc.net)
o*std_based_type.hppOpenGL Mathematics (glm.g-truc.net)
o*string_cast.hppOpenGL Mathematics (glm.g-truc.net)
o*swizzle.hppOpenGL Mathematics (glm.g-truc.net)
o*transform.hppOpenGL Mathematics (glm.g-truc.net)
o*transform2.hppOpenGL Mathematics (glm.g-truc.net)
o*type.hppOpenGL Mathematics (glm.g-truc.net)
o*type_float.hppOpenGL Mathematics (glm.g-truc.net)
o*type_gentype.hppOpenGL Mathematics (glm.g-truc.net)
o*type_half.hppOpenGL Mathematics (glm.g-truc.net)
o*type_int.hppOpenGL Mathematics (glm.g-truc.net)
o*type_mat.hppOpenGL Mathematics (glm.g-truc.net)
o*type_mat2x2.hppOpenGL Mathematics (glm.g-truc.net)
o*type_mat2x3.hppOpenGL Mathematics (glm.g-truc.net)
o*type_mat2x4.hppOpenGL Mathematics (glm.g-truc.net)
o*type_mat3x2.hppOpenGL Mathematics (glm.g-truc.net)
o*type_mat3x3.hppOpenGL Mathematics (glm.g-truc.net)
o*type_mat3x4.hppOpenGL Mathematics (glm.g-truc.net)
o*type_mat4x2.hppOpenGL Mathematics (glm.g-truc.net)
o*type_mat4x3.hppOpenGL Mathematics (glm.g-truc.net)
o*type_mat4x4.hppOpenGL Mathematics (glm.g-truc.net)
o*type_precision.hppOpenGL Mathematics (glm.g-truc.net)
o*type_ptr.hppOpenGL Mathematics (glm.g-truc.net)
o*type_size.hppOpenGL Mathematics (glm.g-truc.net)
o*type_vec.hppOpenGL Mathematics (glm.g-truc.net)
o*type_vec1.hppOpenGL Mathematics (glm.g-truc.net)
o*type_vec2.hppOpenGL Mathematics (glm.g-truc.net)
o*type_vec3.hppOpenGL Mathematics (glm.g-truc.net)
o*type_vec4.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/ulp.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/ulp.hpp
o*unsigned_int.hpp
o*vec1.hppOpenGL Mathematics (glm.g-truc.net)
o*vector_access.hppOpenGL Mathematics (glm.g-truc.net)
o*vector_angle.hppOpenGL Mathematics (glm.g-truc.net)
o*vector_query.hppOpenGL Mathematics (glm.g-truc.net)
o*verbose_operator.hppOpenGL Mathematics (glm.g-truc.net)
o*wrap.hppOpenGL Mathematics (glm.g-truc.net)
\*xstream.hppOpenGL Mathematics (glm.g-truc.net)
-
-
- - - - + + + + + + +GLM: File List + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
o*_features.hpp
o*_fixes.hpp
o*_literals.hpp
o*_noise.hppOpenGL Mathematics (glm.g-truc.net)
o*_swizzle.hpp
o*_swizzle_func.hpp
o*_vectorize.hpp
o*associated_min_max.hppOpenGL Mathematics (glm.g-truc.net)
o*bit.hppOpenGL Mathematics (glm.g-truc.net)
o*closest_point.hpp
o*color_space.hppOpenGL Mathematics (glm.g-truc.net)
o*color_space_YCoCg.hppOpenGL Mathematics (glm.g-truc.net)
o*common.hppOpenGL Mathematics (glm.g-truc.net)
o*compatibility.hppOpenGL Mathematics (glm.g-truc.net)
o*component_wise.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/constants.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/constants.hpp
o*dual_quaternion.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/epsilon.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/epsilon.hpp
o*euler_angles.hppOpenGL Mathematics (glm.g-truc.net)
o*exponential.hppOpenGL Mathematics (glm.g-truc.net)
o*ext.hpp
o*extend.hppOpenGL Mathematics (glm.g-truc.net)
o*extented_min_max.hppOpenGL Mathematics (glm.g-truc.net)
o*fast_exponential.hppOpenGL Mathematics (glm.g-truc.net)
o*fast_square_root.hppOpenGL Mathematics (glm.g-truc.net)
o*fast_trigonometry.hppOpenGL Mathematics (glm.g-truc.net)
o*func_common.hpp
o*func_exponential.hpp
o*func_geometric.hpp
o*func_integer.hpp
o*func_matrix.hpp
o*func_noise.hpp
o*func_packing.hpp
o*func_trigonometric.hpp
o*func_vector_relational.hpp
o*fwd.hppOpenGL Mathematics (glm.g-truc.net)
o*geometric.hppOpenGL Mathematics (glm.g-truc.net)
o*glm.hppOpenGL Mathematics (glm.g-truc.net)
o*gradient_paint.hppOpenGL Mathematics (glm.g-truc.net)
o*handed_coordinate_space.hppOpenGL Mathematics (glm.g-truc.net)
o*hint.hpp
o*inertia.hppOpenGL Mathematics (glm.g-truc.net)
o*int_10_10_10_2.hpp
o*gtx/integer.hppOpenGL Mathematics (glm.g-truc.net)
o*integer.hppOpenGL Mathematics (glm.g-truc.net)
o*intersect.hppOpenGL Mathematics (glm.g-truc.net)
o*intrinsic_common.hpp
o*intrinsic_exponential.hpp
o*intrinsic_geometric.hpp
o*intrinsic_integer.hpp
o*intrinsic_matrix.hpp
o*intrinsic_trigonometric.hpp
o*intrinsic_vector_relational.hpp
o*io.hppOpenGL Mathematics (glm.g-truc.net)
o*log_base.hppOpenGL Mathematics (glm.g-truc.net)
o*man.doxy
o*mat2x2.hppOpenGL Mathematics (glm.g-truc.net)
o*mat2x3.hppOpenGL Mathematics (glm.g-truc.net)
o*mat2x4.hppOpenGL Mathematics (glm.g-truc.net)
o*mat3x2.hppOpenGL Mathematics (glm.g-truc.net)
o*mat3x3.hppOpenGL Mathematics (glm.g-truc.net)
o*mat3x4.hppOpenGL Mathematics (glm.g-truc.net)
o*mat4x2.hppOpenGL Mathematics (glm.g-truc.net)
o*mat4x3.hpp
o*mat4x4.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_access.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_cross_product.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_integer.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_interpolation.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_inverse.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_major_storage.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_operation.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_query.hppOpenGL Mathematics (glm.g-truc.net)
o*matrix_transform.hppOpenGL Mathematics (glm.g-truc.net)
o*mixed_product.hppOpenGL Mathematics (glm.g-truc.net)
o*multiple.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/noise.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/noise.hpp
o*norm.hppOpenGL Mathematics (glm.g-truc.net)
o*normal.hppOpenGL Mathematics (glm.g-truc.net)
o*normalize_dot.hppOpenGL Mathematics (glm.g-truc.net)
o*number_precision.hppOpenGL Mathematics (glm.g-truc.net)
o*optimum_pow.hppOpenGL Mathematics (glm.g-truc.net)
o*orthonormalize.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/packing.hppOpenGL Mathematics (glm.g-truc.net)
o*packing.hppOpenGL Mathematics (glm.g-truc.net)
o*pages.doxy
o*perpendicular.hppOpenGL Mathematics (glm.g-truc.net)
o*polar_coordinates.hppOpenGL Mathematics (glm.g-truc.net)
o*precision.hpp
o*projection.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/quaternion.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/quaternion.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/random.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/random.hpp
o*raw_data.hppOpenGL Mathematics (glm.g-truc.net)
o*gtc/reciprocal.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/reciprocal.hpp
o*rotate_normalized_axis.hppOpenGL Mathematics (glm.g-truc.net)
o*rotate_vector.hppOpenGL Mathematics (glm.g-truc.net)
o*scalar_relational.hppOpenGL Mathematics (glm.g-truc.net)
o*setup.hpp
o*simd_mat4.hpp
o*simd_quat.hppOpenGL Mathematics (glm.g-truc.net)
o*simd_vec4.hppOpenGL Mathematics (glm.g-truc.net)
o*spline.hppOpenGL Mathematics (glm.g-truc.net)
o*std_based_type.hppOpenGL Mathematics (glm.g-truc.net)
o*string_cast.hppOpenGL Mathematics (glm.g-truc.net)
o*transform.hppOpenGL Mathematics (glm.g-truc.net)
o*transform2.hppOpenGL Mathematics (glm.g-truc.net)
o*trigonometric.hppOpenGL Mathematics (glm.g-truc.net)
o*type_float.hpp
o*type_gentype.hpp
o*type_half.hpp
o*type_int.hpp
o*type_mat.hpp
o*type_mat2x2.hpp
o*type_mat2x3.hpp
o*type_mat2x4.hpp
o*type_mat3x2.hpp
o*type_mat3x3.hpp
o*type_mat3x4.hpp
o*type_mat4x2.hpp
o*type_mat4x3.hpp
o*type_mat4x4.hpp
o*type_precision.hppOpenGL Mathematics (glm.g-truc.net)
o*type_ptr.hppOpenGL Mathematics (glm.g-truc.net)
o*type_vec.hpp
o*type_vec1.hpp
o*type_vec2.hpp
o*type_vec3.hpp
o*type_vec4.hpp
o*gtc/ulp.hppOpenGL Mathematics (glm.g-truc.net)
o*gtx/ulp.hpp
o*unsigned_int.hpp
o*vec1.hppOpenGL Mathematics (glm.g-truc.net)
o*vec2.hppOpenGL Mathematics (glm.g-truc.net)
o*vec3.hppOpenGL Mathematics (glm.g-truc.net)
o*vec4.hppOpenGL Mathematics (glm.g-truc.net)
o*vector_angle.hppOpenGL Mathematics (glm.g-truc.net)
o*vector_query.hppOpenGL Mathematics (glm.g-truc.net)
o*vector_relational.hppOpenGL Mathematics (glm.g-truc.net)
o*wrap.hppOpenGL Mathematics (glm.g-truc.net)
\*xstream.hppOpenGL Mathematics (glm.g-truc.net)
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/index.html glm-0.9.5.1/doc/api/index.html --- glm-0.9.4.6/doc/api/index.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/index.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,65 +1,71 @@ - - - - - -OpenGL Mathematics - - - - - - -
-
- - - - - - -
-
- - - -
-
-
-
OpenGL Mathematics
-
-
-

OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specification.

-

GLM provides classes and functions designed and implemented with the same naming conventions and functionalities than GLSL so that when a programmer knows GLSL, he knows GLM as well which makes it really easy to use.

-

This project isn't limited to GLSL features. An extension system, based on the GLSL extension conventions, provides extended capabilities: matrix transformations, quaternions, half-based types, random numbers, procedural noise functions, etc...

-

This library works perfectly with OpenGL but it also ensures interoperability with third party libraries and SDKs. It is a good candidate for software rendering (Raytracing / Rasterisation), image processing, physic simulations and any context that requires a simple and convenient mathematics library.

-

GLM is written in C++98 but can take advantage of C++11 when supported by the compiler. It is a platform independent library with no dependence and officially supports the following compilers:

-
    -
  • Clang 2.6 and higher
  • -
  • CUDA 3.0 and higher
  • -
  • GCC 3.4 and higher
  • -
  • Intel C++ Composer XE 2013 and higher
  • -
  • LLVM 2.3 through GCC 4.2 front-end and higher
  • -
  • Visual Studio 2005 and higher
  • -
  • Any conform C++98 or C++11 compiler
  • -
-
Note
The Doxygen-generated documentation will often state that a type or function is defined in a namespace that is a child of the glm namespace. Please ignore this; All publicly available types and functions can be accessed as a direct children of the glm namespace.
-

The source code is licenced under the MIT licence.

-

These pages are the API reference only. For more information about how to use GLM, please have a look at the manual.

-

Thanks for contributing to the project by submitting tickets for bug reports and feature requests. (SF.net account required). Any feedback is welcome at glm@g.nosp@m.-tru.nosp@m.c.net.

-
- - - - + + + + + + +GLM: OpenGL Mathematics + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+
+
OpenGL Mathematics
+
+
+

OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specification.

+

GLM provides classes and functions designed and implemented with the same naming conventions and functionalities than GLSL so that when a programmer knows GLSL, he knows GLM as well which makes it really easy to use.

+

This project isn't limited to GLSL features. An extension system, based on the GLSL extension conventions, provides extended capabilities: matrix transformations, quaternions, half-based types, random numbers, procedural noise functions, etc...

+

This library works perfectly with OpenGL but it also ensures interoperability with third party libraries and SDKs. It is a good candidate for software rendering (Raytracing / Rasterisation), image processing, physic simulations and any context that requires a simple and convenient mathematics library.

+

GLM is written in C++98 but can take advantage of C++11 when supported by the compiler. It is a platform independent library with no dependence and officially supports the following compilers:

+
    +
  • Clang 2.6 and higher
  • +
  • CUDA 3.0 and higher
  • +
  • GCC 3.4 and higher
  • +
  • Intel C++ Composer XE 2013 and higher
  • +
  • LLVM 2.3 through GCC 4.2 front-end and higher
  • +
  • Visual Studio 2005 and higher
  • +
  • Any conform C++98 or C++11 compiler
  • +
+
Note
The Doxygen-generated documentation will often state that a type or function is defined in a namespace that is a child of the glm namespace. Please ignore this; All publicly available types and functions can be accessed as a direct children of the glm namespace.
+

The source code is licenced under the MIT licence.

+

These pages are the API reference only. For more information about how to use GLM, please have a look at the manual.

+

Thanks for contributing to the project by submitting tickets for bug reports and feature requests. (SF.net account required). Any feedback is welcome at glm@g.nosp@m.-tru.nosp@m.c.net.

+
+ + + + diff -Nru glm-0.9.4.6/doc/api/jquery.js glm-0.9.5.1/doc/api/jquery.js --- glm-0.9.4.6/doc/api/jquery.js 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/jquery.js 2014-01-11 22:29:08.000000000 +0000 @@ -1,8 +1,39 @@ -/*! jQuery v1.7.1 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; -f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")), -f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() -{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c) -{if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 +},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av); +ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; +if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b +})}})(window); +/*! + PowerTip - v1.2.0 - 2013-04-03 + http://stevenbenner.github.com/jquery-powertip/ + Copyright (c) 2013 Steven Benner (http://stevenbenner.com/). + Released under MIT license. + https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt +*/ +(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k("body");var n="displayController",e="hasActiveHover",d="forcedOpen",u="hasMouseMove",f="mouseOnToPopup",g="originalTitle",y="powertip",o="powertipjq",l="powertiptarget",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)==="string"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr("title");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr("title")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({"mouseenter.powertip":function J(P){k.powerTip.show(this,P)},"mouseleave.powertip":function L(){k.powerTip.hide(this)},"focus.powertip":function K(){k.powerTip.show(this)},"blur.powertip":function H(){k.powerTip.hide(this,true)},"keydown.powertip":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(".powertip").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr("title",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bottom="auto";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P",{id:Q.popupId});if(w.length===0){w=k("body")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on("mousemove",M);s.on("scroll",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger("powerTipPreRender");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger("powerTipRender");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger("powerTipOpen")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set("top",c.currentY+Q.offset);T.set("left",c.currentX+Q.offset);O.css(T);R.trigger("powerTipClose")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set("top",c.currentY+Q.offset);U.set("left",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set("left",c.windowWidth-R)}else{if(S===p.bottom){U.set("top",c.scrollTop+c.windowHeight-V)}}}else{U.set("left",c.currentX-R-Q.offset);U.set("top",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set("top",0);V.set("left",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(":disabled")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(":focus")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on("mousemove",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k("#"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.topI||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.leftF){H|=p.left}if(M.left+L>F||M.right - - - - -Modules - - - - - - -
-
-
- - - - - -
- - - - - -
-
-
Modules
-
-
-
Here is a list of all modules:
-
[detail level 12]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
oGTC Extensions (Stable)Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program
|oGLM_GTC_constantsAllow to perform bit operations on integer values
|oGLM_GTC_epsilonComparison functions for a user defined epsilon values
|oGLM_GTC_half_floatDefines the half-precision floating-point type, along with various typedefs for vectors and matrices
|oGLM_GTC_matrix_accessDefines functions to access rows or columns of a matrix easily
|oGLM_GTC_matrix_integerDefines a number of matrices with integer types
|oGLM_GTC_matrix_inverseDefines additional matrix inverting functions
|oGLM_GTC_matrix_transformDefines functions that generate common transformation matrices
|oGLM_GTC_noiseDefines 2D, 3D and 4D procedural noise functions Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": https://github.com/ashima/webgl-noise Following Stefan Gustavson's paper "Simplex noise demystified": http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf <glm/gtc/noise.hpp> need to be included to use these functionalities
|oGLM_GTC_quaternionDefines a templated quaternion type and several quaternion operations
|oGLM_GTC_randomGenerate random number from various distribution methods
|oGLM_GTC_reciprocalDefine secant, cosecant and cotangent functions
|oGLM_GTC_swizzleProvide functions to emulate GLSL swizzle operator fonctionalities
|oGLM_GTC_type_precisionDefines specific C++-based precision types
|oGLM_GTC_type_ptrHandles the interaction between pointers and vector, matrix types
|\GLM_GTC_ulpAllow the measurement of the accuracy of a function against a reference implementation
oGTX Extensions (Experimental)Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program
|oGLM_GTX_associated_min_maxMin and max functions that return associated values not the compared onces
|oGLM_GTX_bitAllow to perform bit operations on integer values
|oGLM_GTX_closest_pointFind the point on a straight line which is the closet of a point
|oGLM_GTX_color_castConversion between two color types
|oGLM_GTX_color_spaceRelated to RGB to HSV conversions and operations
|oGLM_GTX_color_space_YCoCgRGB to YCoCg conversions and operations
|oGLM_GTX_compatibilityProvide functions to increase the compatibility with Cg and HLSL languages
|oGLM_GTX_component_wiseOperations between components of a type
|oGLM_GTX_euler_anglesBuild matrices from Euler angles
|oGLM_GTX_extendExtend a position from a source to a position at a defined length
|oGLM_GTX_extented_min_maxMin and max functions for 3 to 4 parameters
|oGLM_GTX_fast_exponentialFast but less accurate implementations of exponential based functions
|oGLM_GTX_fast_square_rootFast but less accurate implementations of square root based functions
|oGLM_GTX_fast_trigonometryFast but less accurate implementations of trigonometric functions
|oGLM_GTX_gradient_paintFunctions that return the color of procedural gradient for specific coordinates
|oGLM_GTX_handed_coordinate_spaceTo know if a set of three basis vectors defines a right or left-handed coordinate system
|oGLM_GTX_inertiaCreate inertia matrices
|oGLM_GTX_int_10_10_10_2Pack vector to 1010102 integers
|oGLM_GTX_integerAdd support for integer for core functions
|oGLM_GTX_intersectAdd intersection functions
|oGLM_GTX_log_baseLogarithm for any base
|oGLM_GTX_matrix_cross_productBuild cross product matrices
|oGLM_GTX_matrix_interpolationAllows to directly interpolate two exiciting matrices
|oGLM_GTX_matrix_major_storageBuild matrices with specific matrix order, row or column
|oGLM_GTX_matrix_operationBuild diagonal matrices from vectors
|oGLM_GTX_matrix_queryQuery to evaluate matrix properties
|oGLM_GTX_mixed_producteMixed product of 3 vectors
|oGLM_GTX_multipleFind the closest number of a number multiple of other number
|oGLM_GTX_normVarious ways to compute vector norms
|oGLM_GTX_normalCompute the normal of a triangle
|oGLM_GTX_normalize_dotDot product of vectors that need to be normalize with a single square root
|oGLM_GTX_number_precisionDefined size types
|oGLM_GTX_ocl_typeOpenCL types
|oGLM_GTX_optimum_powInteger exponentiation of power functions
|oGLM_GTX_orthonormalizeOrthonormalize matrices
|oGLM_GTX_perpendicularPerpendicular of a vector from other one
|oGLM_GTX_polar_coordinatesConversion from Euclidean space to polar space and revert
|oGLM_GTX_projectionProjection of a vector to other one
|oGLM_GTX_quaternionExtented quaternion types and functions
|oGLM_GTX_raw_dataProjection of a vector to other one
|oGLM_GTX_rotate_vectorFunction to directly rotate a vector
|oGLM_GTX_simd_mat4SIMD implementation of mat4 type
|oGLM_GTX_simd_vec4SIMD implementation of vec4 type
|oGLM_GTX_splineSpline functions
|oGLM_GTX_std_based_typeAdds vector types based on STL value types
|oGLM_GTX_string_castSetup strings for GLM type values
|oGLM_GTX_transformAdd transformation matrices
|oGLM_GTX_transform2Add extra transformation matrices
|oGLM_GTX_vec1Add vec1, ivec1, uvec1 and bvec1 types
|oGLM_GTX_vector_accessFunction to set values to vectors
|oGLM_GTX_vector_angleCompute angle between vectors
|oGLM_GTX_vector_queryQuery informations of vector types
|oGLM_GTX_verbose_operatorUse words to replace operators
|\GLM_GTX_wrapWrapping mode of texture coordinates
oVIRTREV ExtensionsExtensions develop and maintain by Mathieu [matrem] Roumillac (http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showprofile&User=22660)
|\GLM_VIRTREV_xstream: xml like outputStreaming vector and matrix in a xml way
\GLM CoreThe core of GLM, which implements exactly and only the GLSL specification to the degree possible
 oCommon functionsThese all operate component-wise
 oExponential functionsThese all operate component-wise
 oGeometric functionsThese operate on vectors as vectors, not component-wise
 oInteger functionsThese all operate component-wise
 oMatrix functionsFor each of the following built-in matrix functions, there is both a single-precision floating point version, where all arguments and return values are single precision, and a double-precision floating version, where all arguments and return values are double precision
 oNoise functionsNoise functions are stochastic functions that can be used to increase visual complexity
 oFloating-Point Pack and Unpack FunctionsThese functions do not operate component-wise, rather as described in each case
 oAngle and Trigonometry FunctionsFunction parameters specified as angle are assumed to be in units of radians
 oVector Relational FunctionsRelational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results
 oTypesThe standard types defined by the specification
 oPrecision typesNon-GLSL types that are used to define precision-based types
 \Template typesThe generic template types used as the basis for the core types
-
-
- - - - + + + + + + +GLM: Modules + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+
+
Modules
+
+
+
Here is a list of all modules:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
oGTC Extensions (Stable)Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program
|oGLM_GTC_constantsAllow to perform bit operations on integer values
|oGLM_GTC_epsilonComparison functions for a user defined epsilon values
|oGLM_GTC_matrix_accessDefines functions to access rows or columns of a matrix easily
|oGLM_GTC_matrix_integerDefines a number of matrices with integer types
|oGLM_GTC_matrix_inverseDefines additional matrix inverting functions
|oGLM_GTC_matrix_transformDefines functions that generate common transformation matrices
|oGLM_GTC_noiseDefines 2D, 3D and 4D procedural noise functions Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": https://github.com/ashima/webgl-noise Following Stefan Gustavson's paper "Simplex noise demystified": http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf <glm/gtc/noise.hpp> need to be included to use these functionalities
|oGLM_GTC_packingThis extension provides a set of function to convert vertors to packed formats
|oGLM_GTC_quaternionDefines a templated quaternion type and several quaternion operations
|oGLM_GTC_randomGenerate random number from various distribution methods
|oGLM_GTC_reciprocalDefine secant, cosecant and cotangent functions
|oGLM_GTC_type_precisionDefines specific C++-based precision types
|oGLM_GTC_type_ptrHandles the interaction between pointers and vector, matrix types
|oGLM_GTC_ulpAllow the measurement of the accuracy of a function against a reference implementation
|oGLM_GTX_dual_quaternionDefines a templated dual-quaternion type and several dual-quaternion operations
|\GLM_GTX_rotate_normalized_axisQuaternions and matrices rotations around normalized axis
oGTX Extensions (Experimental)Functions and types that the GLSL specification doesn't define, but useful to have for a C++ program
|oGLM_GTX_associated_min_maxMin and max functions that return associated values not the compared onces
|oGLM_GTX_bitAllow to perform bit operations on integer values
|oGLM_GTX_closest_pointFind the point on a straight line which is the closet of a point
|oGLM_GTX_color_spaceRelated to RGB to HSV conversions and operations
|oGLM_GTX_color_space_YCoCgRGB to YCoCg conversions and operations
|oGLM_GTX_compatibilityProvide functions to increase the compatibility with Cg and HLSL languages
|oGLM_GTX_component_wiseOperations between components of a type
|oGLM_GTX_euler_anglesBuild matrices from Euler angles
|oGLM_GTX_extendExtend a position from a source to a position at a defined length
|oGLM_GTX_extented_min_maxMin and max functions for 3 to 4 parameters
|oGLM_GTX_fast_exponentialFast but less accurate implementations of exponential based functions
|oGLM_GTX_fast_square_rootFast but less accurate implementations of square root based functions
|oGLM_GTX_fast_trigonometryFast but less accurate implementations of trigonometric functions
|oGLM_GTX_gradient_paintFunctions that return the color of procedural gradient for specific coordinates
|oGLM_GTX_handed_coordinate_spaceTo know if a set of three basis vectors defines a right or left-handed coordinate system
|oGLM_GTX_inertiaCreate inertia matrices
|oGLM_GTX_integerAdd support for integer for core functions
|oGLM_GTX_intersectAdd intersection functions
|oGLM_GTX_ioStd::[w]ostream support for glm types
|oGLM_GTX_log_baseLogarithm for any base
|oGLM_GTX_matrix_cross_productBuild cross product matrices
|oGLM_GTX_matrix_interpolationAllows to directly interpolate two exiciting matrices
|oGLM_GTX_matrix_major_storageBuild matrices with specific matrix order, row or column
|oGLM_GTX_matrix_operationBuild diagonal matrices from vectors
|oGLM_GTX_matrix_queryQuery to evaluate matrix properties
|oGLM_GTX_mixed_producteMixed product of 3 vectors
|oGLM_GTX_multipleFind the closest number of a number multiple of other number
|oGLM_GTX_normVarious ways to compute vector norms
|oGLM_GTX_normalCompute the normal of a triangle
|oGLM_GTX_normalize_dotDot product of vectors that need to be normalize with a single square root
|oGLM_GTX_number_precisionDefined size types
|oGLM_GTX_optimum_powInteger exponentiation of power functions
|oGLM_GTX_orthonormalizeOrthonormalize matrices
|oGLM_GTX_perpendicularPerpendicular of a vector from other one
|oGLM_GTX_polar_coordinatesConversion from Euclidean space to polar space and revert
|oGLM_GTX_projectionProjection of a vector to other one
|oGLM_GTX_quaternionExtented quaternion types and functions
|oGLM_GTX_raw_dataProjection of a vector to other one
|oGLM_GTX_rotate_vectorFunction to directly rotate a vector
|oGLM_GTX_simd_mat4SIMD implementation of mat4 type
|oGLM_GTX_simd_quatSIMD implementation of quat type
|oGLM_GTX_splineSpline functions
|oGLM_GTX_std_based_typeAdds vector types based on STL value types
|oGLM_GTX_string_castSetup strings for GLM type values
|oGLM_GTX_transformAdd transformation matrices
|oGLM_GTX_transform2Add extra transformation matrices
|oGLM_GTX_vec1Add vec1, ivec1, uvec1 and bvec1 types
|oGLM_GTX_vector_angleCompute angle between vectors
|oGLM_GTX_vector_queryQuery informations of vector types
|\GLM_GTX_wrapWrapping mode of texture coordinates
oVIRTREV ExtensionsExtensions develop and maintain by Mathieu [matrem] Roumillac (http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showprofile&User=22660)
|\GLM_VIRTREV_xstream: xml like outputStreaming vector and matrix in a xml way
oGLM CoreThe core of GLM, which implements exactly and only the GLSL specification to the degree possible
|oCommon functionsThese all operate component-wise
|oExponential functionsThese all operate component-wise
|oGeometric functionsThese operate on vectors as vectors, not component-wise
|oInteger functionsThese all operate component-wise
|oMatrix functionsFor each of the following built-in matrix functions, there is both a single-precision floating point version, where all arguments and return values are single precision, and a double-precision floating version, where all arguments and return values are double precision
|oNoise functionsNoise functions are stochastic functions that can be used to increase visual complexity
|oFloating-Point Pack and Unpack FunctionsThese functions do not operate component-wise, rather as described in each case
|oAngle and Trigonometry FunctionsFunction parameters specified as angle are assumed to be in units of radians
|oVector Relational FunctionsRelational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results
|oTypesThe standard types defined by the specification
||\Precision typesNon-GLSL types that are used to define precision-based types
|oPrecision typesNon-GLSL types that are used to define precision-based types
|\Template typesThe generic template types used as the basis for the core types
\Gtx_scalar_relational
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x62.html glm-0.9.5.1/doc/api/namespacemembers_0x62.html --- glm-0.9.4.6/doc/api/namespacemembers_0x62.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x62.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,177 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- b -

    +
  • ballRand() +: glm +
  • +
  • bitCount() +: glm +
  • +
  • bitfieldExtract() +: glm +
  • +
  • bitfieldInsert() +: glm +
  • +
  • bitfieldInterleave() +: glm +
  • +
  • bitfieldReverse() +: glm +
  • +
  • bitRevert() +: glm +
  • +
  • bitRotateLeft() +: glm +
  • +
  • bitRotateRight() +: glm +
  • +
  • bool1 +: glm +
  • +
  • bool1x1 +: glm +
  • +
  • bool2 +: glm +
  • +
  • bool2x2 +: glm +
  • +
  • bool2x3 +: glm +
  • +
  • bool2x4 +: glm +
  • +
  • bool3 +: glm +
  • +
  • bool3x2 +: glm +
  • +
  • bool3x3 +: glm +
  • +
  • bool3x4 +: glm +
  • +
  • bool4 +: glm +
  • +
  • bool4x2 +: glm +
  • +
  • bool4x3 +: glm +
  • +
  • bool4x4 +: glm +
  • +
  • bvec1 +: glm +
  • +
  • bvec2 +: glm +
  • +
  • bvec3 +: glm +
  • +
  • bvec4 +: glm +
  • +
  • byte +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x63.html glm-0.9.5.1/doc/api/namespacemembers_0x63.html --- glm-0.9.4.6/doc/api/namespacemembers_0x63.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x63.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,159 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- c -

    +
  • catmullRom() +: glm +
  • +
  • ceil() +: glm +
  • +
  • circularRand() +: glm +
  • +
  • clamp() +: glm +
  • +
  • closestPointOnLine() +: glm +
  • +
  • colMajor2() +: glm +
  • +
  • colMajor3() +: glm +
  • +
  • colMajor4() +: glm +
  • +
  • column() +: glm +
  • +
  • compAdd() +: glm +
  • +
  • compMax() +: glm +
  • +
  • compMin() +: glm +
  • +
  • compMul() +: glm +
  • +
  • conjugate() +: glm +
  • +
  • cos() +: glm +
  • +
  • cosh() +: glm +
  • +
  • cot() +: glm +
  • +
  • coth() +: glm +
  • +
  • cross() +: glm +
  • +
  • csc() +: glm +
  • +
  • csch() +: glm +
  • +
  • cubic() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x64.html glm-0.9.5.1/doc/api/namespacemembers_0x64.html --- glm-0.9.4.6/doc/api/namespacemembers_0x64.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x64.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,237 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- d -

    +
  • ddualquat +: glm +
  • +
  • degrees() +: glm +
  • +
  • diagonal2x2() +: glm +
  • +
  • diagonal2x3() +: glm +
  • +
  • diagonal2x4() +: glm +
  • +
  • diagonal3x2() +: glm +
  • +
  • diagonal3x3() +: glm +
  • +
  • diagonal3x4() +: glm +
  • +
  • diagonal4x2() +: glm +
  • +
  • diagonal4x3() +: glm +
  • +
  • diagonal4x4() +: glm +
  • +
  • diskRand() +: glm +
  • +
  • distance() +: glm +
  • +
  • distance2() +: glm +
  • +
  • dmat2 +: glm +
  • +
  • dmat2x2 +: glm +
  • +
  • dmat2x3 +: glm +
  • +
  • dmat2x4 +: glm +
  • +
  • dmat3 +: glm +
  • +
  • dmat3x2 +: glm +
  • +
  • dmat3x3 +: glm +
  • +
  • dmat3x4 +: glm +
  • +
  • dmat4 +: glm +
  • +
  • dmat4x2 +: glm +
  • +
  • dmat4x3 +: glm +
  • +
  • dmat4x4 +: glm +
  • +
  • dot() +: glm +
  • +
  • double1 +: glm +
  • +
  • double1x1 +: glm +
  • +
  • double2 +: glm +
  • +
  • double2x2 +: glm +
  • +
  • double2x3 +: glm +
  • +
  • double2x4 +: glm +
  • +
  • double3 +: glm +
  • +
  • double3x2 +: glm +
  • +
  • double3x3 +: glm +
  • +
  • double3x4 +: glm +
  • +
  • double4 +: glm +
  • +
  • double4x2 +: glm +
  • +
  • double4x3 +: glm +
  • +
  • double4x4 +: glm +
  • +
  • dquat +: glm +
  • +
  • dualquat +: glm +
  • +
  • dualquat_cast() +: glm +
  • +
  • dvec2 +: glm +
  • +
  • dvec3 +: glm +
  • +
  • dvec4 +: glm +
  • +
  • dword +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x65.html glm-0.9.5.1/doc/api/namespacemembers_0x65.html --- glm-0.9.4.6/doc/api/namespacemembers_0x65.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x65.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,162 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- e -

    +
  • e() +: glm +
  • +
  • epsilon() +: glm +
  • +
  • epsilonEqual() +: glm +
  • +
  • epsilonNotEqual() +: glm +
  • +
  • equal() +: glm +
  • +
  • euclidean() +: glm +
  • +
  • euler() +: glm +
  • +
  • eulerAngles() +: glm +
  • +
  • eulerAngleX() +: glm +
  • +
  • eulerAngleXY() +: glm +
  • +
  • eulerAngleXZ() +: glm +
  • +
  • eulerAngleY() +: glm +
  • +
  • eulerAngleYX() +: glm +
  • +
  • eulerAngleYXZ() +: glm +
  • +
  • eulerAngleYZ() +: glm +
  • +
  • eulerAngleZ() +: glm +
  • +
  • eulerAngleZX() +: glm +
  • +
  • eulerAngleZY() +: glm +
  • +
  • exp() +: glm +
  • +
  • exp2() +: glm +
  • +
  • extend() +: glm +
  • +
  • extractMatrixRotation() +: glm +
  • +
  • extractRealComponent() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x66.html glm-0.9.5.1/doc/api/namespacemembers_0x66.html --- glm-0.9.4.6/doc/api/namespacemembers_0x66.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x66.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,411 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- f -

    +
  • f32 +: glm +
  • +
  • f32mat2 +: glm +
  • +
  • f32mat2x2 +: glm +
  • +
  • f32mat2x3 +: glm +
  • +
  • f32mat2x4 +: glm +
  • +
  • f32mat3 +: glm +
  • +
  • f32mat3x2 +: glm +
  • +
  • f32mat3x3 +: glm +
  • +
  • f32mat3x4 +: glm +
  • +
  • f32mat4 +: glm +
  • +
  • f32mat4x2 +: glm +
  • +
  • f32mat4x3 +: glm +
  • +
  • f32mat4x4 +: glm +
  • +
  • f32quat +: glm +
  • +
  • f32vec1 +: glm +
  • +
  • f32vec2 +: glm +
  • +
  • f32vec3 +: glm +
  • +
  • f32vec4 +: glm +
  • +
  • f64 +: glm +
  • +
  • f64mat2 +: glm +
  • +
  • f64mat2x2 +: glm +
  • +
  • f64mat2x3 +: glm +
  • +
  • f64mat2x4 +: glm +
  • +
  • f64mat3 +: glm +
  • +
  • f64mat3x2 +: glm +
  • +
  • f64mat3x3 +: glm +
  • +
  • f64mat3x4 +: glm +
  • +
  • f64mat4 +: glm +
  • +
  • f64mat4x2 +: glm +
  • +
  • f64mat4x3 +: glm +
  • +
  • f64mat4x4 +: glm +
  • +
  • f64quat +: glm +
  • +
  • f64vec1 +: glm +
  • +
  • f64vec2 +: glm +
  • +
  • f64vec3 +: glm +
  • +
  • f64vec4 +: glm +
  • +
  • faceforward() +: glm +
  • +
  • factorial() +: glm +
  • +
  • fastAcos() +: glm +
  • +
  • fastAsin() +: glm +
  • +
  • fastAtan() +: glm +
  • +
  • fastCos() +: glm +
  • +
  • fastDistance() +: glm +
  • +
  • fastExp() +: glm +
  • +
  • fastExp2() +: glm +
  • +
  • fastInverseSqrt() +: glm +
  • +
  • fastLength() +: glm +
  • +
  • fastLn() +: glm +
  • +
  • fastLog() +: glm +
  • +
  • fastLog2() +: glm +
  • +
  • fastMix() +: glm +
  • +
  • fastNormalize() +: glm +
  • +
  • fastNormalizeDot() +: glm +
  • +
  • fastPow() +: glm +
  • +
  • fastSin() +: glm +
  • +
  • fastSqrt() +: glm +
  • +
  • fastTan() +: glm +
  • +
  • fdualquat +: glm +
  • +
  • fillBitfieldWithOne() +: glm +
  • +
  • fillBitfieldWithZero() +: glm +
  • +
  • findLSB() +: glm +
  • +
  • findMSB() +: glm +
  • +
  • float1 +: glm +
  • +
  • float1x1 +: glm +
  • +
  • float2 +: glm +
  • +
  • float2x2 +: glm +
  • +
  • float2x3 +: glm +
  • +
  • float2x4 +: glm +
  • +
  • float3 +: glm +
  • +
  • float32 +: glm +
  • +
  • float32_t +: glm +
  • +
  • float3x2 +: glm +
  • +
  • float3x3 +: glm +
  • +
  • float3x4 +: glm +
  • +
  • float4 +: glm +
  • +
  • float4x2 +: glm +
  • +
  • float4x3 +: glm +
  • +
  • float4x4 +: glm +
  • +
  • float64 +: glm +
  • +
  • float64_t +: glm +
  • +
  • float_distance() +: glm +
  • +
  • floatBitsToInt() +: glm +
  • +
  • floatBitsToUint() +: glm +
  • +
  • floor() +: glm +
  • +
  • floor_log2() +: glm +
  • +
  • fma() +: glm +
  • +
  • fmat2 +: glm +
  • +
  • fmat2x2 +: glm +
  • +
  • fmat2x3 +: glm +
  • +
  • fmat2x4 +: glm +
  • +
  • fmat3 +: glm +
  • +
  • fmat3x2 +: glm +
  • +
  • fmat3x3 +: glm +
  • +
  • fmat3x4 +: glm +
  • +
  • fmat4 +: glm +
  • +
  • fmat4x2 +: glm +
  • +
  • fmat4x3 +: glm +
  • +
  • fmat4x4 +: glm +
  • +
  • fquat +: glm +
  • +
  • fract() +: glm +
  • +
  • frexp() +: glm +
  • +
  • frustum() +: glm +
  • +
  • fvec1 +: glm +
  • +
  • fvec2 +: glm +
  • +
  • fvec3 +: glm +
  • +
  • fvec4 +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x67.html glm-0.9.5.1/doc/api/namespacemembers_0x67.html --- glm-0.9.4.6/doc/api/namespacemembers_0x67.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x67.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,105 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- g -

    +
  • gaussRand() +: glm +
  • +
  • golden_ratio() +: glm +
  • +
  • greaterThan() +: glm +
  • +
  • greaterThanEqual() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x68.html glm-0.9.5.1/doc/api/namespacemembers_0x68.html --- glm-0.9.4.6/doc/api/namespacemembers_0x68.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x68.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,672 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- h -

    +
  • half_pi() +: glm +
  • +
  • hermite() +: glm +
  • +
  • higherMultiple() +: glm +
  • +
  • highestBitValue() +: glm +
  • +
  • highp_bvec1 +: glm +
  • +
  • highp_bvec2 +: glm +
  • +
  • highp_bvec3 +: glm +
  • +
  • highp_bvec4 +: glm +
  • +
  • highp_ddualquat +: glm +
  • +
  • highp_dmat2 +: glm +
  • +
  • highp_dmat2x2 +: glm +
  • +
  • highp_dmat2x3 +: glm +
  • +
  • highp_dmat2x4 +: glm +
  • +
  • highp_dmat3 +: glm +
  • +
  • highp_dmat3x2 +: glm +
  • +
  • highp_dmat3x3 +: glm +
  • +
  • highp_dmat3x4 +: glm +
  • +
  • highp_dmat4 +: glm +
  • +
  • highp_dmat4x2 +: glm +
  • +
  • highp_dmat4x3 +: glm +
  • +
  • highp_dmat4x4 +: glm +
  • +
  • highp_dquat +: glm +
  • +
  • highp_dualquat +: glm +
  • +
  • highp_dvec2 +: glm +
  • +
  • highp_dvec3 +: glm +
  • +
  • highp_dvec4 +: glm +
  • +
  • highp_f32 +: glm +
  • +
  • highp_f32mat2 +: glm +
  • +
  • highp_f32mat2x2 +: glm +
  • +
  • highp_f32mat2x3 +: glm +
  • +
  • highp_f32mat2x4 +: glm +
  • +
  • highp_f32mat3 +: glm +
  • +
  • highp_f32mat3x2 +: glm +
  • +
  • highp_f32mat3x3 +: glm +
  • +
  • highp_f32mat3x4 +: glm +
  • +
  • highp_f32mat4 +: glm +
  • +
  • highp_f32mat4x2 +: glm +
  • +
  • highp_f32mat4x3 +: glm +
  • +
  • highp_f32mat4x4 +: glm +
  • +
  • highp_f32quat +: glm +
  • +
  • highp_f32vec1 +: glm +
  • +
  • highp_f32vec2 +: glm +
  • +
  • highp_f32vec3 +: glm +
  • +
  • highp_f32vec4 +: glm +
  • +
  • highp_f64 +: glm +
  • +
  • highp_f64mat2 +: glm +
  • +
  • highp_f64mat2x2 +: glm +
  • +
  • highp_f64mat2x3 +: glm +
  • +
  • highp_f64mat2x4 +: glm +
  • +
  • highp_f64mat3 +: glm +
  • +
  • highp_f64mat3x2 +: glm +
  • +
  • highp_f64mat3x3 +: glm +
  • +
  • highp_f64mat3x4 +: glm +
  • +
  • highp_f64mat4 +: glm +
  • +
  • highp_f64mat4x2 +: glm +
  • +
  • highp_f64mat4x3 +: glm +
  • +
  • highp_f64mat4x4 +: glm +
  • +
  • highp_f64quat +: glm +
  • +
  • highp_f64vec1 +: glm +
  • +
  • highp_f64vec2 +: glm +
  • +
  • highp_f64vec3 +: glm +
  • +
  • highp_f64vec4 +: glm +
  • +
  • highp_fdualquat +: glm +
  • +
  • highp_float +: glm +
  • +
  • highp_float32 +: glm +
  • +
  • highp_float32_t +: glm +
  • +
  • highp_float64 +: glm +
  • +
  • highp_float64_t +: glm +
  • +
  • highp_fmat2 +: glm +
  • +
  • highp_fmat2x2 +: glm +
  • +
  • highp_fmat2x3 +: glm +
  • +
  • highp_fmat2x4 +: glm +
  • +
  • highp_fmat3 +: glm +
  • +
  • highp_fmat3x2 +: glm +
  • +
  • highp_fmat3x3 +: glm +
  • +
  • highp_fmat3x4 +: glm +
  • +
  • highp_fmat4 +: glm +
  • +
  • highp_fmat4x2 +: glm +
  • +
  • highp_fmat4x3 +: glm +
  • +
  • highp_fmat4x4 +: glm +
  • +
  • highp_fquat +: glm +
  • +
  • highp_fvec1 +: glm +
  • +
  • highp_fvec2 +: glm +
  • +
  • highp_fvec3 +: glm +
  • +
  • highp_fvec4 +: glm +
  • +
  • highp_i16 +: glm +
  • +
  • highp_i16vec1 +: glm +
  • +
  • highp_i16vec2 +: glm +
  • +
  • highp_i16vec3 +: glm +
  • +
  • highp_i16vec4 +: glm +
  • +
  • highp_i32 +: glm +
  • +
  • highp_i32vec1 +: glm +
  • +
  • highp_i32vec2 +: glm +
  • +
  • highp_i32vec3 +: glm +
  • +
  • highp_i32vec4 +: glm +
  • +
  • highp_i64 +: glm +
  • +
  • highp_i64vec1 +: glm +
  • +
  • highp_i64vec2 +: glm +
  • +
  • highp_i64vec3 +: glm +
  • +
  • highp_i64vec4 +: glm +
  • +
  • highp_i8 +: glm +
  • +
  • highp_i8vec1 +: glm +
  • +
  • highp_i8vec2 +: glm +
  • +
  • highp_i8vec3 +: glm +
  • +
  • highp_i8vec4 +: glm +
  • +
  • highp_imat2 +: glm +
  • +
  • highp_imat2x2 +: glm +
  • +
  • highp_imat2x3 +: glm +
  • +
  • highp_imat2x4 +: glm +
  • +
  • highp_imat3 +: glm +
  • +
  • highp_imat3x2 +: glm +
  • +
  • highp_imat3x3 +: glm +
  • +
  • highp_imat3x4 +: glm +
  • +
  • highp_imat4 +: glm +
  • +
  • highp_imat4x2 +: glm +
  • +
  • highp_imat4x3 +: glm +
  • +
  • highp_imat4x4 +: glm +
  • +
  • highp_int +: glm +
  • +
  • highp_int16 +: glm +
  • +
  • highp_int16_t +: glm +
  • +
  • highp_int32 +: glm +
  • +
  • highp_int32_t +: glm +
  • +
  • highp_int64 +: glm +
  • +
  • highp_int64_t +: glm +
  • +
  • highp_int8 +: glm +
  • +
  • highp_int8_t +: glm +
  • +
  • highp_ivec1 +: glm +
  • +
  • highp_ivec2 +: glm +
  • +
  • highp_ivec3 +: glm +
  • +
  • highp_ivec4 +: glm +
  • +
  • highp_mat2 +: glm +
  • +
  • highp_mat2x2 +: glm +
  • +
  • highp_mat2x3 +: glm +
  • +
  • highp_mat2x4 +: glm +
  • +
  • highp_mat3 +: glm +
  • +
  • highp_mat3x2 +: glm +
  • +
  • highp_mat3x3 +: glm +
  • +
  • highp_mat3x4 +: glm +
  • +
  • highp_mat4 +: glm +
  • +
  • highp_mat4x2 +: glm +
  • +
  • highp_mat4x3 +: glm +
  • +
  • highp_mat4x4 +: glm +
  • +
  • highp_quat +: glm +
  • +
  • highp_u16 +: glm +
  • +
  • highp_u16vec1 +: glm +
  • +
  • highp_u16vec2 +: glm +
  • +
  • highp_u16vec3 +: glm +
  • +
  • highp_u16vec4 +: glm +
  • +
  • highp_u32 +: glm +
  • +
  • highp_u32vec1 +: glm +
  • +
  • highp_u32vec2 +: glm +
  • +
  • highp_u32vec3 +: glm +
  • +
  • highp_u32vec4 +: glm +
  • +
  • highp_u64 +: glm +
  • +
  • highp_u64vec1 +: glm +
  • +
  • highp_u64vec2 +: glm +
  • +
  • highp_u64vec3 +: glm +
  • +
  • highp_u64vec4 +: glm +
  • +
  • highp_u8 +: glm +
  • +
  • highp_u8vec1 +: glm +
  • +
  • highp_u8vec2 +: glm +
  • +
  • highp_u8vec3 +: glm +
  • +
  • highp_u8vec4 +: glm +
  • +
  • highp_uint +: glm +
  • +
  • highp_uint16 +: glm +
  • +
  • highp_uint16_t +: glm +
  • +
  • highp_uint32 +: glm +
  • +
  • highp_uint32_t +: glm +
  • +
  • highp_uint64 +: glm +
  • +
  • highp_uint64_t +: glm +
  • +
  • highp_uint8 +: glm +
  • +
  • highp_uint8_t +: glm +
  • +
  • highp_umat2 +: glm +
  • +
  • highp_umat2x2 +: glm +
  • +
  • highp_umat2x3 +: glm +
  • +
  • highp_umat2x4 +: glm +
  • +
  • highp_umat3 +: glm +
  • +
  • highp_umat3x2 +: glm +
  • +
  • highp_umat3x3 +: glm +
  • +
  • highp_umat3x4 +: glm +
  • +
  • highp_umat4 +: glm +
  • +
  • highp_umat4x2 +: glm +
  • +
  • highp_umat4x3 +: glm +
  • +
  • highp_umat4x4 +: glm +
  • +
  • highp_uvec1 +: glm +
  • +
  • highp_uvec2 +: glm +
  • +
  • highp_uvec3 +: glm +
  • +
  • highp_uvec4 +: glm +
  • +
  • highp_vec1 +: glm +
  • +
  • highp_vec2 +: glm +
  • +
  • highp_vec3 +: glm +
  • +
  • highp_vec4 +: glm +
  • +
  • hsvColor() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x69.html glm-0.9.5.1/doc/api/namespacemembers_0x69.html --- glm-0.9.4.6/doc/api/namespacemembers_0x69.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x69.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,333 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- i -

    +
  • i16 +: glm +
  • +
  • i16vec1 +: glm +
  • +
  • i16vec2 +: glm +
  • +
  • i16vec3 +: glm +
  • +
  • i16vec4 +: glm +
  • +
  • i32 +: glm +
  • +
  • i32vec1 +: glm +
  • +
  • i32vec2 +: glm +
  • +
  • i32vec3 +: glm +
  • +
  • i32vec4 +: glm +
  • +
  • i64 +: glm +
  • +
  • i64vec1 +: glm +
  • +
  • i64vec2 +: glm +
  • +
  • i64vec3 +: glm +
  • +
  • i64vec4 +: glm +
  • +
  • i8 +: glm +
  • +
  • i8vec1 +: glm +
  • +
  • i8vec2 +: glm +
  • +
  • i8vec3 +: glm +
  • +
  • i8vec4 +: glm +
  • +
  • imat2 +: glm +
  • +
  • imat2x2 +: glm +
  • +
  • imat2x3 +: glm +
  • +
  • imat2x4 +: glm +
  • +
  • imat3 +: glm +
  • +
  • imat3x2 +: glm +
  • +
  • imat3x3 +: glm +
  • +
  • imat3x4 +: glm +
  • +
  • imat4 +: glm +
  • +
  • imat4x2 +: glm +
  • +
  • imat4x3 +: glm +
  • +
  • imat4x4 +: glm +
  • +
  • imulExtended() +: glm +
  • +
  • infinitePerspective() +: glm +
  • +
  • int1 +: glm +
  • +
  • int16 +: glm +
  • +
  • int16_t +: glm +
  • +
  • int1x1 +: glm +
  • +
  • int2 +: glm +
  • +
  • int2x2 +: glm +
  • +
  • int2x3 +: glm +
  • +
  • int2x4 +: glm +
  • +
  • int3 +: glm +
  • +
  • int32 +: glm +
  • +
  • int32_t +: glm +
  • +
  • int3x2 +: glm +
  • +
  • int3x3 +: glm +
  • +
  • int3x4 +: glm +
  • +
  • int4 +: glm +
  • +
  • int4x2 +: glm +
  • +
  • int4x3 +: glm +
  • +
  • int4x4 +: glm +
  • +
  • int64 +: glm +
  • +
  • int64_t +: glm +
  • +
  • int8 +: glm +
  • +
  • int8_t +: glm +
  • +
  • intBitsToFloat() +: glm +
  • +
  • intermediate() +: glm +
  • +
  • interpolate() +: glm +
  • +
  • intersectLineSphere() +: glm +
  • +
  • intersectLineTriangle() +: glm +
  • +
  • intersectRayPlane() +: glm +
  • +
  • intersectRaySphere() +: glm +
  • +
  • intersectRayTriangle() +: glm +
  • +
  • inverse() +: glm +
  • +
  • inversesqrt() +: glm +
  • +
  • inverseTranspose() +: glm +
  • +
  • isCompNull() +: glm +
  • +
  • isfinite() +: glm +
  • +
  • isIdentity() +: glm +
  • +
  • isinf() +: glm +
  • +
  • isnan() +: glm +
  • +
  • isNormalized() +: glm +
  • +
  • isNull() +: glm +
  • +
  • isOrthogonal() +: glm +
  • +
  • isPowerOfTwo() +: glm +
  • +
  • ivec1 +: glm +
  • +
  • ivec2 +: glm +
  • +
  • ivec3 +: glm +
  • +
  • ivec4 +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x6c.html glm-0.9.5.1/doc/api/namespacemembers_0x6c.html --- glm-0.9.4.6/doc/api/namespacemembers_0x6c.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x6c.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,717 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- l -

    +
  • l1Norm() +: glm +
  • +
  • l2Norm() +: glm +
  • +
  • ldexp() +: glm +
  • +
  • leftHanded() +: glm +
  • +
  • length() +: glm +
  • +
  • length2() +: glm +
  • +
  • lerp() +: glm +
  • +
  • lessThan() +: glm +
  • +
  • lessThanEqual() +: glm +
  • +
  • linearGradient() +: glm +
  • +
  • linearRand() +: glm +
  • +
  • ln_ln_two() +: glm +
  • +
  • ln_ten() +: glm +
  • +
  • ln_two() +: glm +
  • +
  • log() +: glm +
  • +
  • log2() +: glm +
  • +
  • lookAt() +: glm +
  • +
  • lowerMultiple() +: glm +
  • +
  • lowp_bvec1 +: glm +
  • +
  • lowp_bvec2 +: glm +
  • +
  • lowp_bvec3 +: glm +
  • +
  • lowp_bvec4 +: glm +
  • +
  • lowp_ddualquat +: glm +
  • +
  • lowp_dmat2 +: glm +
  • +
  • lowp_dmat2x2 +: glm +
  • +
  • lowp_dmat2x3 +: glm +
  • +
  • lowp_dmat2x4 +: glm +
  • +
  • lowp_dmat3 +: glm +
  • +
  • lowp_dmat3x2 +: glm +
  • +
  • lowp_dmat3x3 +: glm +
  • +
  • lowp_dmat3x4 +: glm +
  • +
  • lowp_dmat4 +: glm +
  • +
  • lowp_dmat4x2 +: glm +
  • +
  • lowp_dmat4x3 +: glm +
  • +
  • lowp_dmat4x4 +: glm +
  • +
  • lowp_dquat +: glm +
  • +
  • lowp_dualquat +: glm +
  • +
  • lowp_dvec2 +: glm +
  • +
  • lowp_dvec3 +: glm +
  • +
  • lowp_dvec4 +: glm +
  • +
  • lowp_f32 +: glm +
  • +
  • lowp_f32mat2 +: glm +
  • +
  • lowp_f32mat2x2 +: glm +
  • +
  • lowp_f32mat2x3 +: glm +
  • +
  • lowp_f32mat2x4 +: glm +
  • +
  • lowp_f32mat3 +: glm +
  • +
  • lowp_f32mat3x2 +: glm +
  • +
  • lowp_f32mat3x3 +: glm +
  • +
  • lowp_f32mat3x4 +: glm +
  • +
  • lowp_f32mat4 +: glm +
  • +
  • lowp_f32mat4x2 +: glm +
  • +
  • lowp_f32mat4x3 +: glm +
  • +
  • lowp_f32mat4x4 +: glm +
  • +
  • lowp_f32quat +: glm +
  • +
  • lowp_f32vec1 +: glm +
  • +
  • lowp_f32vec2 +: glm +
  • +
  • lowp_f32vec3 +: glm +
  • +
  • lowp_f32vec4 +: glm +
  • +
  • lowp_f64 +: glm +
  • +
  • lowp_f64mat2 +: glm +
  • +
  • lowp_f64mat2x2 +: glm +
  • +
  • lowp_f64mat2x3 +: glm +
  • +
  • lowp_f64mat2x4 +: glm +
  • +
  • lowp_f64mat3 +: glm +
  • +
  • lowp_f64mat3x2 +: glm +
  • +
  • lowp_f64mat3x3 +: glm +
  • +
  • lowp_f64mat3x4 +: glm +
  • +
  • lowp_f64mat4 +: glm +
  • +
  • lowp_f64mat4x2 +: glm +
  • +
  • lowp_f64mat4x3 +: glm +
  • +
  • lowp_f64mat4x4 +: glm +
  • +
  • lowp_f64quat +: glm +
  • +
  • lowp_f64vec1 +: glm +
  • +
  • lowp_f64vec2 +: glm +
  • +
  • lowp_f64vec3 +: glm +
  • +
  • lowp_f64vec4 +: glm +
  • +
  • lowp_fdualquat +: glm +
  • +
  • lowp_float +: glm +
  • +
  • lowp_float32 +: glm +
  • +
  • lowp_float32_t +: glm +
  • +
  • lowp_float64 +: glm +
  • +
  • lowp_float64_t +: glm +
  • +
  • lowp_fmat2 +: glm +
  • +
  • lowp_fmat2x2 +: glm +
  • +
  • lowp_fmat2x3 +: glm +
  • +
  • lowp_fmat2x4 +: glm +
  • +
  • lowp_fmat3 +: glm +
  • +
  • lowp_fmat3x2 +: glm +
  • +
  • lowp_fmat3x3 +: glm +
  • +
  • lowp_fmat3x4 +: glm +
  • +
  • lowp_fmat4 +: glm +
  • +
  • lowp_fmat4x2 +: glm +
  • +
  • lowp_fmat4x3 +: glm +
  • +
  • lowp_fmat4x4 +: glm +
  • +
  • lowp_fquat +: glm +
  • +
  • lowp_fvec1 +: glm +
  • +
  • lowp_fvec2 +: glm +
  • +
  • lowp_fvec3 +: glm +
  • +
  • lowp_fvec4 +: glm +
  • +
  • lowp_i16 +: glm +
  • +
  • lowp_i16vec1 +: glm +
  • +
  • lowp_i16vec2 +: glm +
  • +
  • lowp_i16vec3 +: glm +
  • +
  • lowp_i16vec4 +: glm +
  • +
  • lowp_i32 +: glm +
  • +
  • lowp_i32vec1 +: glm +
  • +
  • lowp_i32vec2 +: glm +
  • +
  • lowp_i32vec3 +: glm +
  • +
  • lowp_i32vec4 +: glm +
  • +
  • lowp_i64 +: glm +
  • +
  • lowp_i64vec1 +: glm +
  • +
  • lowp_i64vec2 +: glm +
  • +
  • lowp_i64vec3 +: glm +
  • +
  • lowp_i64vec4 +: glm +
  • +
  • lowp_i8 +: glm +
  • +
  • lowp_i8vec1 +: glm +
  • +
  • lowp_i8vec2 +: glm +
  • +
  • lowp_i8vec3 +: glm +
  • +
  • lowp_i8vec4 +: glm +
  • +
  • lowp_imat2 +: glm +
  • +
  • lowp_imat2x2 +: glm +
  • +
  • lowp_imat2x3 +: glm +
  • +
  • lowp_imat2x4 +: glm +
  • +
  • lowp_imat3 +: glm +
  • +
  • lowp_imat3x2 +: glm +
  • +
  • lowp_imat3x3 +: glm +
  • +
  • lowp_imat3x4 +: glm +
  • +
  • lowp_imat4 +: glm +
  • +
  • lowp_imat4x2 +: glm +
  • +
  • lowp_imat4x3 +: glm +
  • +
  • lowp_imat4x4 +: glm +
  • +
  • lowp_int +: glm +
  • +
  • lowp_int16 +: glm +
  • +
  • lowp_int16_t +: glm +
  • +
  • lowp_int32 +: glm +
  • +
  • lowp_int32_t +: glm +
  • +
  • lowp_int64 +: glm +
  • +
  • lowp_int64_t +: glm +
  • +
  • lowp_int8 +: glm +
  • +
  • lowp_int8_t +: glm +
  • +
  • lowp_ivec1 +: glm +
  • +
  • lowp_ivec2 +: glm +
  • +
  • lowp_ivec3 +: glm +
  • +
  • lowp_ivec4 +: glm +
  • +
  • lowp_mat2 +: glm +
  • +
  • lowp_mat2x2 +: glm +
  • +
  • lowp_mat2x3 +: glm +
  • +
  • lowp_mat2x4 +: glm +
  • +
  • lowp_mat3 +: glm +
  • +
  • lowp_mat3x2 +: glm +
  • +
  • lowp_mat3x3 +: glm +
  • +
  • lowp_mat3x4 +: glm +
  • +
  • lowp_mat4 +: glm +
  • +
  • lowp_mat4x2 +: glm +
  • +
  • lowp_mat4x3 +: glm +
  • +
  • lowp_mat4x4 +: glm +
  • +
  • lowp_quat +: glm +
  • +
  • lowp_u16 +: glm +
  • +
  • lowp_u16vec1 +: glm +
  • +
  • lowp_u16vec2 +: glm +
  • +
  • lowp_u16vec3 +: glm +
  • +
  • lowp_u16vec4 +: glm +
  • +
  • lowp_u32 +: glm +
  • +
  • lowp_u32vec1 +: glm +
  • +
  • lowp_u32vec2 +: glm +
  • +
  • lowp_u32vec3 +: glm +
  • +
  • lowp_u32vec4 +: glm +
  • +
  • lowp_u64 +: glm +
  • +
  • lowp_u64vec1 +: glm +
  • +
  • lowp_u64vec2 +: glm +
  • +
  • lowp_u64vec3 +: glm +
  • +
  • lowp_u64vec4 +: glm +
  • +
  • lowp_u8 +: glm +
  • +
  • lowp_u8vec1 +: glm +
  • +
  • lowp_u8vec2 +: glm +
  • +
  • lowp_u8vec3 +: glm +
  • +
  • lowp_u8vec4 +: glm +
  • +
  • lowp_uint +: glm +
  • +
  • lowp_uint16 +: glm +
  • +
  • lowp_uint16_t +: glm +
  • +
  • lowp_uint32 +: glm +
  • +
  • lowp_uint32_t +: glm +
  • +
  • lowp_uint64 +: glm +
  • +
  • lowp_uint64_t +: glm +
  • +
  • lowp_uint8 +: glm +
  • +
  • lowp_uint8_t +: glm +
  • +
  • lowp_umat2 +: glm +
  • +
  • lowp_umat2x2 +: glm +
  • +
  • lowp_umat2x3 +: glm +
  • +
  • lowp_umat2x4 +: glm +
  • +
  • lowp_umat3 +: glm +
  • +
  • lowp_umat3x2 +: glm +
  • +
  • lowp_umat3x3 +: glm +
  • +
  • lowp_umat3x4 +: glm +
  • +
  • lowp_umat4 +: glm +
  • +
  • lowp_umat4x2 +: glm +
  • +
  • lowp_umat4x3 +: glm +
  • +
  • lowp_umat4x4 +: glm +
  • +
  • lowp_uvec1 +: glm +
  • +
  • lowp_uvec2 +: glm +
  • +
  • lowp_uvec3 +: glm +
  • +
  • lowp_uvec4 +: glm +
  • +
  • lowp_vec1 +: glm +
  • +
  • lowp_vec2 +: glm +
  • +
  • lowp_vec3 +: glm +
  • +
  • lowp_vec4 +: glm +
  • +
  • luminosity() +: glm +
  • +
  • lxNorm() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x6d.html glm-0.9.5.1/doc/api/namespacemembers_0x6d.html --- glm-0.9.4.6/doc/api/namespacemembers_0x6d.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x6d.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,783 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- m -

    +
  • make_mat2() +: glm +
  • +
  • make_mat2x2() +: glm +
  • +
  • make_mat2x3() +: glm +
  • +
  • make_mat2x4() +: glm +
  • +
  • make_mat3() +: glm +
  • +
  • make_mat3x2() +: glm +
  • +
  • make_mat3x3() +: glm +
  • +
  • make_mat3x4() +: glm +
  • +
  • make_mat4() +: glm +
  • +
  • make_mat4x2() +: glm +
  • +
  • make_mat4x3() +: glm +
  • +
  • make_mat4x4() +: glm +
  • +
  • make_quat() +: glm +
  • +
  • make_vec2() +: glm +
  • +
  • make_vec3() +: glm +
  • +
  • make_vec4() +: glm +
  • +
  • mask() +: glm +
  • +
  • mat2 +: glm +
  • +
  • mat2x2 +: glm +
  • +
  • mat2x3 +: glm +
  • +
  • mat2x4 +: glm +
  • +
  • mat2x4_cast() +: glm +
  • +
  • mat3 +: glm +
  • +
  • mat3_cast() +: glm +
  • +
  • mat3x2 +: glm +
  • +
  • mat3x3 +: glm +
  • +
  • mat3x4 +: glm +
  • +
  • mat3x4_cast() +: glm +
  • +
  • mat4 +: glm +
  • +
  • mat4_cast() +: glm +
  • +
  • mat4x2 +: glm +
  • +
  • mat4x3 +: glm +
  • +
  • mat4x4 +: glm +
  • +
  • matrixCross3() +: glm +
  • +
  • matrixCross4() +: glm +
  • +
  • max() +: glm +
  • +
  • mediump_bvec1 +: glm +
  • +
  • mediump_bvec2 +: glm +
  • +
  • mediump_bvec3 +: glm +
  • +
  • mediump_bvec4 +: glm +
  • +
  • mediump_ddualquat +: glm +
  • +
  • mediump_dmat2 +: glm +
  • +
  • mediump_dmat2x2 +: glm +
  • +
  • mediump_dmat2x3 +: glm +
  • +
  • mediump_dmat2x4 +: glm +
  • +
  • mediump_dmat3 +: glm +
  • +
  • mediump_dmat3x2 +: glm +
  • +
  • mediump_dmat3x3 +: glm +
  • +
  • mediump_dmat3x4 +: glm +
  • +
  • mediump_dmat4 +: glm +
  • +
  • mediump_dmat4x2 +: glm +
  • +
  • mediump_dmat4x3 +: glm +
  • +
  • mediump_dmat4x4 +: glm +
  • +
  • mediump_dquat +: glm +
  • +
  • mediump_dualquat +: glm +
  • +
  • mediump_dvec2 +: glm +
  • +
  • mediump_dvec3 +: glm +
  • +
  • mediump_dvec4 +: glm +
  • +
  • mediump_f32 +: glm +
  • +
  • mediump_f32mat2 +: glm +
  • +
  • mediump_f32mat2x2 +: glm +
  • +
  • mediump_f32mat2x3 +: glm +
  • +
  • mediump_f32mat2x4 +: glm +
  • +
  • mediump_f32mat3 +: glm +
  • +
  • mediump_f32mat3x2 +: glm +
  • +
  • mediump_f32mat3x3 +: glm +
  • +
  • mediump_f32mat3x4 +: glm +
  • +
  • mediump_f32mat4 +: glm +
  • +
  • mediump_f32mat4x2 +: glm +
  • +
  • mediump_f32mat4x3 +: glm +
  • +
  • mediump_f32mat4x4 +: glm +
  • +
  • mediump_f32quat +: glm +
  • +
  • mediump_f32vec1 +: glm +
  • +
  • mediump_f32vec2 +: glm +
  • +
  • mediump_f32vec3 +: glm +
  • +
  • mediump_f32vec4 +: glm +
  • +
  • mediump_f64 +: glm +
  • +
  • mediump_f64mat2 +: glm +
  • +
  • mediump_f64mat2x2 +: glm +
  • +
  • mediump_f64mat2x3 +: glm +
  • +
  • mediump_f64mat2x4 +: glm +
  • +
  • mediump_f64mat3 +: glm +
  • +
  • mediump_f64mat3x2 +: glm +
  • +
  • mediump_f64mat3x3 +: glm +
  • +
  • mediump_f64mat3x4 +: glm +
  • +
  • mediump_f64mat4 +: glm +
  • +
  • mediump_f64mat4x2 +: glm +
  • +
  • mediump_f64mat4x3 +: glm +
  • +
  • mediump_f64mat4x4 +: glm +
  • +
  • mediump_f64quat +: glm +
  • +
  • mediump_f64vec1 +: glm +
  • +
  • mediump_f64vec2 +: glm +
  • +
  • mediump_f64vec3 +: glm +
  • +
  • mediump_f64vec4 +: glm +
  • +
  • mediump_fdualquat +: glm +
  • +
  • mediump_float +: glm +
  • +
  • mediump_float32 +: glm +
  • +
  • mediump_float32_t +: glm +
  • +
  • mediump_float64 +: glm +
  • +
  • mediump_float64_t +: glm +
  • +
  • mediump_fmat2 +: glm +
  • +
  • mediump_fmat2x2 +: glm +
  • +
  • mediump_fmat2x3 +: glm +
  • +
  • mediump_fmat2x4 +: glm +
  • +
  • mediump_fmat3 +: glm +
  • +
  • mediump_fmat3x2 +: glm +
  • +
  • mediump_fmat3x3 +: glm +
  • +
  • mediump_fmat3x4 +: glm +
  • +
  • mediump_fmat4 +: glm +
  • +
  • mediump_fmat4x2 +: glm +
  • +
  • mediump_fmat4x3 +: glm +
  • +
  • mediump_fmat4x4 +: glm +
  • +
  • mediump_fquat +: glm +
  • +
  • mediump_fvec1 +: glm +
  • +
  • mediump_fvec2 +: glm +
  • +
  • mediump_fvec3 +: glm +
  • +
  • mediump_fvec4 +: glm +
  • +
  • mediump_i16 +: glm +
  • +
  • mediump_i16vec1 +: glm +
  • +
  • mediump_i16vec2 +: glm +
  • +
  • mediump_i16vec3 +: glm +
  • +
  • mediump_i16vec4 +: glm +
  • +
  • mediump_i32 +: glm +
  • +
  • mediump_i32vec1 +: glm +
  • +
  • mediump_i32vec2 +: glm +
  • +
  • mediump_i32vec3 +: glm +
  • +
  • mediump_i32vec4 +: glm +
  • +
  • mediump_i64 +: glm +
  • +
  • mediump_i64vec1 +: glm +
  • +
  • mediump_i64vec2 +: glm +
  • +
  • mediump_i64vec3 +: glm +
  • +
  • mediump_i64vec4 +: glm +
  • +
  • mediump_i8 +: glm +
  • +
  • mediump_i8vec1 +: glm +
  • +
  • mediump_i8vec2 +: glm +
  • +
  • mediump_i8vec3 +: glm +
  • +
  • mediump_i8vec4 +: glm +
  • +
  • mediump_imat2 +: glm +
  • +
  • mediump_imat2x2 +: glm +
  • +
  • mediump_imat2x3 +: glm +
  • +
  • mediump_imat2x4 +: glm +
  • +
  • mediump_imat3 +: glm +
  • +
  • mediump_imat3x2 +: glm +
  • +
  • mediump_imat3x3 +: glm +
  • +
  • mediump_imat3x4 +: glm +
  • +
  • mediump_imat4 +: glm +
  • +
  • mediump_imat4x2 +: glm +
  • +
  • mediump_imat4x3 +: glm +
  • +
  • mediump_imat4x4 +: glm +
  • +
  • mediump_int +: glm +
  • +
  • mediump_int16 +: glm +
  • +
  • mediump_int16_t +: glm +
  • +
  • mediump_int32 +: glm +
  • +
  • mediump_int32_t +: glm +
  • +
  • mediump_int64 +: glm +
  • +
  • mediump_int64_t +: glm +
  • +
  • mediump_int8 +: glm +
  • +
  • mediump_int8_t +: glm +
  • +
  • mediump_ivec1 +: glm +
  • +
  • mediump_ivec2 +: glm +
  • +
  • mediump_ivec3 +: glm +
  • +
  • mediump_ivec4 +: glm +
  • +
  • mediump_mat2 +: glm +
  • +
  • mediump_mat2x2 +: glm +
  • +
  • mediump_mat2x3 +: glm +
  • +
  • mediump_mat2x4 +: glm +
  • +
  • mediump_mat3 +: glm +
  • +
  • mediump_mat3x2 +: glm +
  • +
  • mediump_mat3x3 +: glm +
  • +
  • mediump_mat3x4 +: glm +
  • +
  • mediump_mat4 +: glm +
  • +
  • mediump_mat4x2 +: glm +
  • +
  • mediump_mat4x3 +: glm +
  • +
  • mediump_mat4x4 +: glm +
  • +
  • mediump_quat +: glm +
  • +
  • mediump_u16 +: glm +
  • +
  • mediump_u16vec1 +: glm +
  • +
  • mediump_u16vec2 +: glm +
  • +
  • mediump_u16vec3 +: glm +
  • +
  • mediump_u16vec4 +: glm +
  • +
  • mediump_u32 +: glm +
  • +
  • mediump_u32vec1 +: glm +
  • +
  • mediump_u32vec2 +: glm +
  • +
  • mediump_u32vec3 +: glm +
  • +
  • mediump_u32vec4 +: glm +
  • +
  • mediump_u64 +: glm +
  • +
  • mediump_u64vec1 +: glm +
  • +
  • mediump_u64vec2 +: glm +
  • +
  • mediump_u64vec3 +: glm +
  • +
  • mediump_u64vec4 +: glm +
  • +
  • mediump_u8 +: glm +
  • +
  • mediump_u8vec1 +: glm +
  • +
  • mediump_u8vec2 +: glm +
  • +
  • mediump_u8vec3 +: glm +
  • +
  • mediump_u8vec4 +: glm +
  • +
  • mediump_uint +: glm +
  • +
  • mediump_uint16 +: glm +
  • +
  • mediump_uint16_t +: glm +
  • +
  • mediump_uint32 +: glm +
  • +
  • mediump_uint32_t +: glm +
  • +
  • mediump_uint64 +: glm +
  • +
  • mediump_uint64_t +: glm +
  • +
  • mediump_uint8 +: glm +
  • +
  • mediump_uint8_t +: glm +
  • +
  • mediump_umat2 +: glm +
  • +
  • mediump_umat2x2 +: glm +
  • +
  • mediump_umat2x3 +: glm +
  • +
  • mediump_umat2x4 +: glm +
  • +
  • mediump_umat3 +: glm +
  • +
  • mediump_umat3x2 +: glm +
  • +
  • mediump_umat3x3 +: glm +
  • +
  • mediump_umat3x4 +: glm +
  • +
  • mediump_umat4 +: glm +
  • +
  • mediump_umat4x2 +: glm +
  • +
  • mediump_umat4x3 +: glm +
  • +
  • mediump_umat4x4 +: glm +
  • +
  • mediump_uvec1 +: glm +
  • +
  • mediump_uvec2 +: glm +
  • +
  • mediump_uvec3 +: glm +
  • +
  • mediump_uvec4 +: glm +
  • +
  • mediump_vec1 +: glm +
  • +
  • mediump_vec2 +: glm +
  • +
  • mediump_vec3 +: glm +
  • +
  • mediump_vec4 +: glm +
  • +
  • min() +: glm +
  • +
  • mirrorRepeat() +: glm +
  • +
  • mix() +: glm +
  • +
  • mixedProduct() +: glm +
  • +
  • mod() +: glm +
  • +
  • modf() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x6e.html glm-0.9.5.1/doc/api/namespacemembers_0x6e.html --- glm-0.9.4.6/doc/api/namespacemembers_0x6e.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x6e.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,123 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- n -

    +
  • next_float() +: glm +
  • +
  • nlz() +: glm +
  • +
  • noise1() +: glm +
  • +
  • noise2() +: glm +
  • +
  • noise3() +: glm +
  • +
  • noise4() +: glm +
  • +
  • normalize() +: glm +
  • +
  • normalizeDot() +: glm +
  • +
  • not_() +: glm +
  • +
  • notEqual() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x6f.html glm-0.9.5.1/doc/api/namespacemembers_0x6f.html --- glm-0.9.4.6/doc/api/namespacemembers_0x6f.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x6f.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,123 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- o -

    +
  • one() +: glm +
  • +
  • one_over_pi() +: glm +
  • +
  • one_over_root_two() +: glm +
  • +
  • orientate2() +: glm +
  • +
  • orientate3() +: glm +
  • +
  • orientate4() +: glm +
  • +
  • orientation() +: glm +
  • +
  • orientedAngle() +: glm +
  • +
  • ortho() +: glm +
  • +
  • orthonormalize() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x70.html glm-0.9.5.1/doc/api/namespacemembers_0x70.html --- glm-0.9.4.6/doc/api/namespacemembers_0x70.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x70.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,207 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- p -

    +
  • packDouble2x32() +: glm +
  • +
  • packF2x11_1x10() +: glm +
  • +
  • packHalf1x16() +: glm +
  • +
  • packHalf2x16() +: glm +
  • +
  • packHalf4x16() +: glm +
  • +
  • packI3x10_1x2() +: glm +
  • +
  • packSnorm1x16() +: glm +
  • +
  • packSnorm1x8() +: glm +
  • +
  • packSnorm2x16() +: glm +
  • +
  • packSnorm2x8() +: glm +
  • +
  • packSnorm3x10_1x2() +: glm +
  • +
  • packSnorm4x16() +: glm +
  • +
  • packSnorm4x8() +: glm +
  • +
  • packU3x10_1x2() +: glm +
  • +
  • packUnorm1x16() +: glm +
  • +
  • packUnorm1x8() +: glm +
  • +
  • packUnorm2x16() +: glm +
  • +
  • packUnorm2x8() +: glm +
  • +
  • packUnorm3x10_1x2() +: glm +
  • +
  • packUnorm4x16() +: glm +
  • +
  • packUnorm4x8() +: glm +
  • +
  • perlin() +: glm +
  • +
  • perp() +: glm +
  • +
  • perspective() +: glm +
  • +
  • perspectiveFov() +: glm +
  • +
  • pi() +: glm +
  • +
  • pickMatrix() +: glm +
  • +
  • pitch() +: glm +
  • +
  • polar() +: glm +
  • +
  • pow() +: glm +
  • +
  • powerOfTwoAbove() +: glm +
  • +
  • powerOfTwoBelow() +: glm +
  • +
  • powerOfTwoNearest() +: glm +
  • +
  • prev_float() +: glm +
  • +
  • proj() +: glm +
  • +
  • proj2D() +: glm +
  • +
  • proj3D() +: glm +
  • +
  • project() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x71.html glm-0.9.5.1/doc/api/namespacemembers_0x71.html --- glm-0.9.4.6/doc/api/namespacemembers_0x71.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x71.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,105 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- q -

    +
  • quarter_pi() +: glm +
  • +
  • quat +: glm +
  • +
  • quat_cast() +: glm +
  • +
  • qword +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x72.html glm-0.9.5.1/doc/api/namespacemembers_0x72.html --- glm-0.9.4.6/doc/api/namespacemembers_0x72.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x72.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,180 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- r -

    +
  • radialGradient() +: glm +
  • +
  • radians() +: glm +
  • +
  • reflect() +: glm +
  • +
  • refract() +: glm +
  • +
  • repeat() +: glm +
  • +
  • rgb2YCoCg() +: glm +
  • +
  • rgb2YCoCgR() +: glm +
  • +
  • rgbColor() +: glm +
  • +
  • rightHanded() +: glm +
  • +
  • roll() +: glm +
  • +
  • root_five() +: glm +
  • +
  • root_half_pi() +: glm +
  • +
  • root_ln_four() +: glm +
  • +
  • root_pi() +: glm +
  • +
  • root_three() +: glm +
  • +
  • root_two() +: glm +
  • +
  • root_two_pi() +: glm +
  • +
  • rotate() +: glm +
  • +
  • rotateNormalizedAxis() +: glm +
  • +
  • rotateX() +: glm +
  • +
  • rotateY() +: glm +
  • +
  • rotateZ() +: glm +
  • +
  • rotation() +: glm +
  • +
  • round() +: glm +
  • +
  • roundEven() +: glm +
  • +
  • row() +: glm +
  • +
  • rowMajor2() +: glm +
  • +
  • rowMajor3() +: glm +
  • +
  • rowMajor4() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x73.html glm-0.9.5.1/doc/api/namespacemembers_0x73.html --- glm-0.9.4.6/doc/api/namespacemembers_0x73.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x73.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,180 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- s -

    +
  • saturate() +: glm +
  • +
  • saturation() +: glm +
  • +
  • scale() +: glm +
  • +
  • scaleBias() +: glm +
  • +
  • sec() +: glm +
  • +
  • sech() +: glm +
  • +
  • shearX2D() +: glm +
  • +
  • shearX3D() +: glm +
  • +
  • shearY2D() +: glm +
  • +
  • shearY3D() +: glm +
  • +
  • shearZ3D() +: glm +
  • +
  • shortMix() +: glm +
  • +
  • sign() +: glm +
  • +
  • simplex() +: glm +
  • +
  • sin() +: glm +
  • +
  • sinh() +: glm +
  • +
  • sint +: glm +
  • +
  • size2 +: glm +
  • +
  • size2_t +: glm +
  • +
  • size3 +: glm +
  • +
  • size3_t +: glm +
  • +
  • size4 +: glm +
  • +
  • size4_t +: glm +
  • +
  • slerp() +: glm +
  • +
  • smoothstep() +: glm +
  • +
  • sphericalRand() +: glm +
  • +
  • sqrt() +: glm +
  • +
  • squad() +: glm +
  • +
  • step() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x74.html glm-0.9.5.1/doc/api/namespacemembers_0x74.html --- glm-0.9.4.6/doc/api/namespacemembers_0x74.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x74.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,135 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- t -

    +
  • tan() +: glm +
  • +
  • tanh() +: glm +
  • +
  • third() +: glm +
  • +
  • to_string() +: glm +
  • +
  • toMat3() +: glm +
  • +
  • toMat4() +: glm +
  • +
  • toQuat() +: glm +
  • +
  • translate() +: glm +
  • +
  • triangleNormal() +: glm +
  • +
  • trunc() +: glm +
  • +
  • tweakedInfinitePerspective() +: glm +
  • +
  • two_over_pi() +: glm +
  • +
  • two_over_root_pi() +: glm +
  • +
  • two_thirds() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x75.html glm-0.9.5.1/doc/api/namespacemembers_0x75.html --- glm-0.9.4.6/doc/api/namespacemembers_0x75.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x75.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,309 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- u -

    +
  • u16 +: glm +
  • +
  • u16vec1 +: glm +
  • +
  • u16vec2 +: glm +
  • +
  • u16vec3 +: glm +
  • +
  • u16vec4 +: glm +
  • +
  • u32 +: glm +
  • +
  • u32vec1 +: glm +
  • +
  • u32vec2 +: glm +
  • +
  • u32vec3 +: glm +
  • +
  • u32vec4 +: glm +
  • +
  • u64 +: glm +
  • +
  • u64vec1 +: glm +
  • +
  • u64vec2 +: glm +
  • +
  • u64vec3 +: glm +
  • +
  • u64vec4 +: glm +
  • +
  • u8 +: glm +
  • +
  • u8vec1 +: glm +
  • +
  • u8vec2 +: glm +
  • +
  • u8vec3 +: glm +
  • +
  • u8vec4 +: glm +
  • +
  • uaddCarry() +: glm +
  • +
  • uint +: glm +
  • +
  • uint10_10_10_2_cast() +: glm +
  • +
  • uint16 +: glm +
  • +
  • uint16_t +: glm +
  • +
  • uint32 +: glm +
  • +
  • uint32_t +: glm +
  • +
  • uint64 +: glm +
  • +
  • uint64_t +: glm +
  • +
  • uint8 +: glm +
  • +
  • uint8_t +: glm +
  • +
  • uintBitsToFloat() +: glm +
  • +
  • umat2 +: glm +
  • +
  • umat2x2 +: glm +
  • +
  • umat2x3 +: glm +
  • +
  • umat2x4 +: glm +
  • +
  • umat3 +: glm +
  • +
  • umat3x2 +: glm +
  • +
  • umat3x3 +: glm +
  • +
  • umat3x4 +: glm +
  • +
  • umat4 +: glm +
  • +
  • umat4x2 +: glm +
  • +
  • umat4x3 +: glm +
  • +
  • umat4x4 +: glm +
  • +
  • umulExtended() +: glm +
  • +
  • unpackDouble2x32() +: glm +
  • +
  • unpackF2x11_1x10() +: glm +
  • +
  • unpackHalf1x16() +: glm +
  • +
  • unpackHalf2x16() +: glm +
  • +
  • unpackHalf4x16() +: glm +
  • +
  • unpackI3x10_1x2() +: glm +
  • +
  • unpackSnorm1x16() +: glm +
  • +
  • unpackSnorm1x8() +: glm +
  • +
  • unpackSnorm2x16() +: glm +
  • +
  • unpackSnorm2x8() +: glm +
  • +
  • unpackSnorm3x10_1x2() +: glm +
  • +
  • unpackSnorm4x16() +: glm +
  • +
  • unpackSnorm4x8() +: glm +
  • +
  • unpackU3x10_1x2() +: glm +
  • +
  • unpackUnorm1x16() +: glm +
  • +
  • unpackUnorm1x8() +: glm +
  • +
  • unpackUnorm2x16() +: glm +
  • +
  • unpackUnorm2x8() +: glm +
  • +
  • unpackUnorm3x10_1x2() +: glm +
  • +
  • unpackUnorm4x16() +: glm +
  • +
  • unpackUnorm4x8() +: glm +
  • +
  • unProject() +: glm +
  • +
  • usubBorrow() +: glm +
  • +
  • uvec1 +: glm +
  • +
  • uvec2 +: glm +
  • +
  • uvec3 +: glm +
  • +
  • uvec4 +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x76.html glm-0.9.5.1/doc/api/namespacemembers_0x76.html --- glm-0.9.4.6/doc/api/namespacemembers_0x76.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x76.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,108 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- v -

    +
  • value_ptr() +: glm +
  • +
  • vec1 +: glm +
  • +
  • vec2 +: glm +
  • +
  • vec3 +: glm +
  • +
  • vec4 +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x77.html glm-0.9.5.1/doc/api/namespacemembers_0x77.html --- glm-0.9.4.6/doc/api/namespacemembers_0x77.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x77.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,96 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- w -

    +
  • word +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x79.html glm-0.9.5.1/doc/api/namespacemembers_0x79.html --- glm-0.9.4.6/doc/api/namespacemembers_0x79.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x79.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,105 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- y -

    +
  • yaw() +: glm +
  • +
  • yawPitchRoll() +: glm +
  • +
  • YCoCg2rgb() +: glm +
  • +
  • YCoCgR2rgb() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_0x7a.html glm-0.9.5.1/doc/api/namespacemembers_0x7a.html --- glm-0.9.4.6/doc/api/namespacemembers_0x7a.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_0x7a.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,96 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- z -

    +
  • zero() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x62.html glm-0.9.5.1/doc/api/namespacemembers_func_0x62.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x62.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x62.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,119 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- b -

    +
  • ballRand() +: glm +
  • +
  • bitCount() +: glm +
  • +
  • bitfieldExtract() +: glm +
  • +
  • bitfieldInsert() +: glm +
  • +
  • bitfieldInterleave() +: glm +
  • +
  • bitfieldReverse() +: glm +
  • +
  • bitRevert() +: glm +
  • +
  • bitRotateLeft() +: glm +
  • +
  • bitRotateRight() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x63.html glm-0.9.5.1/doc/api/namespacemembers_func_0x63.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x63.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x63.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,158 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- c -

    +
  • catmullRom() +: glm +
  • +
  • ceil() +: glm +
  • +
  • circularRand() +: glm +
  • +
  • clamp() +: glm +
  • +
  • closestPointOnLine() +: glm +
  • +
  • colMajor2() +: glm +
  • +
  • colMajor3() +: glm +
  • +
  • colMajor4() +: glm +
  • +
  • column() +: glm +
  • +
  • compAdd() +: glm +
  • +
  • compMax() +: glm +
  • +
  • compMin() +: glm +
  • +
  • compMul() +: glm +
  • +
  • conjugate() +: glm +
  • +
  • cos() +: glm +
  • +
  • cosh() +: glm +
  • +
  • cot() +: glm +
  • +
  • coth() +: glm +
  • +
  • cross() +: glm +
  • +
  • csc() +: glm +
  • +
  • csch() +: glm +
  • +
  • cubic() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x64.html glm-0.9.5.1/doc/api/namespacemembers_func_0x64.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x64.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x64.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,137 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- d -

    +
  • degrees() +: glm +
  • +
  • diagonal2x2() +: glm +
  • +
  • diagonal2x3() +: glm +
  • +
  • diagonal2x4() +: glm +
  • +
  • diagonal3x2() +: glm +
  • +
  • diagonal3x3() +: glm +
  • +
  • diagonal3x4() +: glm +
  • +
  • diagonal4x2() +: glm +
  • +
  • diagonal4x3() +: glm +
  • +
  • diagonal4x4() +: glm +
  • +
  • diskRand() +: glm +
  • +
  • distance() +: glm +
  • +
  • distance2() +: glm +
  • +
  • dot() +: glm +
  • +
  • dualquat_cast() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x65.html glm-0.9.5.1/doc/api/namespacemembers_func_0x65.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x65.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x65.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,161 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- e -

    +
  • e() +: glm +
  • +
  • epsilon() +: glm +
  • +
  • epsilonEqual() +: glm +
  • +
  • epsilonNotEqual() +: glm +
  • +
  • equal() +: glm +
  • +
  • euclidean() +: glm +
  • +
  • euler() +: glm +
  • +
  • eulerAngles() +: glm +
  • +
  • eulerAngleX() +: glm +
  • +
  • eulerAngleXY() +: glm +
  • +
  • eulerAngleXZ() +: glm +
  • +
  • eulerAngleY() +: glm +
  • +
  • eulerAngleYX() +: glm +
  • +
  • eulerAngleYXZ() +: glm +
  • +
  • eulerAngleYZ() +: glm +
  • +
  • eulerAngleZ() +: glm +
  • +
  • eulerAngleZX() +: glm +
  • +
  • eulerAngleZY() +: glm +
  • +
  • exp() +: glm +
  • +
  • exp2() +: glm +
  • +
  • extend() +: glm +
  • +
  • extractMatrixRotation() +: glm +
  • +
  • extractRealComponent() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x66.html glm-0.9.5.1/doc/api/namespacemembers_func_0x66.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x66.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x66.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,194 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- f -

    +
  • faceforward() +: glm +
  • +
  • factorial() +: glm +
  • +
  • fastAcos() +: glm +
  • +
  • fastAsin() +: glm +
  • +
  • fastAtan() +: glm +
  • +
  • fastCos() +: glm +
  • +
  • fastDistance() +: glm +
  • +
  • fastExp() +: glm +
  • +
  • fastExp2() +: glm +
  • +
  • fastInverseSqrt() +: glm +
  • +
  • fastLength() +: glm +
  • +
  • fastLn() +: glm +
  • +
  • fastLog() +: glm +
  • +
  • fastLog2() +: glm +
  • +
  • fastMix() +: glm +
  • +
  • fastNormalize() +: glm +
  • +
  • fastNormalizeDot() +: glm +
  • +
  • fastPow() +: glm +
  • +
  • fastSin() +: glm +
  • +
  • fastSqrt() +: glm +
  • +
  • fastTan() +: glm +
  • +
  • fillBitfieldWithOne() +: glm +
  • +
  • fillBitfieldWithZero() +: glm +
  • +
  • findLSB() +: glm +
  • +
  • findMSB() +: glm +
  • +
  • float_distance() +: glm +
  • +
  • floatBitsToInt() +: glm +
  • +
  • floatBitsToUint() +: glm +
  • +
  • floor() +: glm +
  • +
  • floor_log2() +: glm +
  • +
  • fma() +: glm +
  • +
  • fract() +: glm +
  • +
  • frexp() +: glm +
  • +
  • frustum() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x67.html glm-0.9.5.1/doc/api/namespacemembers_func_0x67.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x67.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x67.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,104 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- g -

    +
  • gaussRand() +: glm +
  • +
  • golden_ratio() +: glm +
  • +
  • greaterThan() +: glm +
  • +
  • greaterThanEqual() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x68.html glm-0.9.5.1/doc/api/namespacemembers_func_0x68.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x68.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x68.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,107 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- h -

    +
  • half_pi() +: glm +
  • +
  • hermite() +: glm +
  • +
  • higherMultiple() +: glm +
  • +
  • highestBitValue() +: glm +
  • +
  • hsvColor() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x69.html glm-0.9.5.1/doc/api/namespacemembers_func_0x69.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x69.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x69.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,158 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- i -

    +
  • imulExtended() +: glm +
  • +
  • infinitePerspective() +: glm +
  • +
  • intBitsToFloat() +: glm +
  • +
  • intermediate() +: glm +
  • +
  • interpolate() +: glm +
  • +
  • intersectLineSphere() +: glm +
  • +
  • intersectLineTriangle() +: glm +
  • +
  • intersectRayPlane() +: glm +
  • +
  • intersectRaySphere() +: glm +
  • +
  • intersectRayTriangle() +: glm +
  • +
  • inverse() +: glm +
  • +
  • inversesqrt() +: glm +
  • +
  • inverseTranspose() +: glm +
  • +
  • isCompNull() +: glm +
  • +
  • isfinite() +: glm +
  • +
  • isIdentity() +: glm +
  • +
  • isinf() +: glm +
  • +
  • isnan() +: glm +
  • +
  • isNormalized() +: glm +
  • +
  • isNull() +: glm +
  • +
  • isOrthogonal() +: glm +
  • +
  • isPowerOfTwo() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x6c.html glm-0.9.5.1/doc/api/namespacemembers_func_0x6c.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x6c.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x6c.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,152 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- l -

    +
  • l1Norm() +: glm +
  • +
  • l2Norm() +: glm +
  • +
  • ldexp() +: glm +
  • +
  • leftHanded() +: glm +
  • +
  • length() +: glm +
  • +
  • length2() +: glm +
  • +
  • lerp() +: glm +
  • +
  • lessThan() +: glm +
  • +
  • lessThanEqual() +: glm +
  • +
  • linearGradient() +: glm +
  • +
  • linearRand() +: glm +
  • +
  • ln_ln_two() +: glm +
  • +
  • ln_ten() +: glm +
  • +
  • ln_two() +: glm +
  • +
  • log() +: glm +
  • +
  • log2() +: glm +
  • +
  • lookAt() +: glm +
  • +
  • lowerMultiple() +: glm +
  • +
  • luminosity() +: glm +
  • +
  • lxNorm() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x6d.html glm-0.9.5.1/doc/api/namespacemembers_func_0x6d.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x6d.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x6d.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,182 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- m -

    +
  • make_mat2() +: glm +
  • +
  • make_mat2x2() +: glm +
  • +
  • make_mat2x3() +: glm +
  • +
  • make_mat2x4() +: glm +
  • +
  • make_mat3() +: glm +
  • +
  • make_mat3x2() +: glm +
  • +
  • make_mat3x3() +: glm +
  • +
  • make_mat3x4() +: glm +
  • +
  • make_mat4() +: glm +
  • +
  • make_mat4x2() +: glm +
  • +
  • make_mat4x3() +: glm +
  • +
  • make_mat4x4() +: glm +
  • +
  • make_quat() +: glm +
  • +
  • make_vec2() +: glm +
  • +
  • make_vec3() +: glm +
  • +
  • make_vec4() +: glm +
  • +
  • mask() +: glm +
  • +
  • mat2x4_cast() +: glm +
  • +
  • mat3_cast() +: glm +
  • +
  • mat3x4_cast() +: glm +
  • +
  • mat4_cast() +: glm +
  • +
  • matrixCross3() +: glm +
  • +
  • matrixCross4() +: glm +
  • +
  • max() +: glm +
  • +
  • min() +: glm +
  • +
  • mirrorRepeat() +: glm +
  • +
  • mix() +: glm +
  • +
  • mixedProduct() +: glm +
  • +
  • mod() +: glm +
  • +
  • modf() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x6e.html glm-0.9.5.1/doc/api/namespacemembers_func_0x6e.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x6e.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x6e.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,122 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- n -

    +
  • next_float() +: glm +
  • +
  • nlz() +: glm +
  • +
  • noise1() +: glm +
  • +
  • noise2() +: glm +
  • +
  • noise3() +: glm +
  • +
  • noise4() +: glm +
  • +
  • normalize() +: glm +
  • +
  • normalizeDot() +: glm +
  • +
  • not_() +: glm +
  • +
  • notEqual() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x6f.html glm-0.9.5.1/doc/api/namespacemembers_func_0x6f.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x6f.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x6f.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,122 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- o -

    +
  • one() +: glm +
  • +
  • one_over_pi() +: glm +
  • +
  • one_over_root_two() +: glm +
  • +
  • orientate2() +: glm +
  • +
  • orientate3() +: glm +
  • +
  • orientate4() +: glm +
  • +
  • orientation() +: glm +
  • +
  • orientedAngle() +: glm +
  • +
  • ortho() +: glm +
  • +
  • orthonormalize() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x70.html glm-0.9.5.1/doc/api/namespacemembers_func_0x70.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x70.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x70.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,206 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- p -

    +
  • packDouble2x32() +: glm +
  • +
  • packF2x11_1x10() +: glm +
  • +
  • packHalf1x16() +: glm +
  • +
  • packHalf2x16() +: glm +
  • +
  • packHalf4x16() +: glm +
  • +
  • packI3x10_1x2() +: glm +
  • +
  • packSnorm1x16() +: glm +
  • +
  • packSnorm1x8() +: glm +
  • +
  • packSnorm2x16() +: glm +
  • +
  • packSnorm2x8() +: glm +
  • +
  • packSnorm3x10_1x2() +: glm +
  • +
  • packSnorm4x16() +: glm +
  • +
  • packSnorm4x8() +: glm +
  • +
  • packU3x10_1x2() +: glm +
  • +
  • packUnorm1x16() +: glm +
  • +
  • packUnorm1x8() +: glm +
  • +
  • packUnorm2x16() +: glm +
  • +
  • packUnorm2x8() +: glm +
  • +
  • packUnorm3x10_1x2() +: glm +
  • +
  • packUnorm4x16() +: glm +
  • +
  • packUnorm4x8() +: glm +
  • +
  • perlin() +: glm +
  • +
  • perp() +: glm +
  • +
  • perspective() +: glm +
  • +
  • perspectiveFov() +: glm +
  • +
  • pi() +: glm +
  • +
  • pickMatrix() +: glm +
  • +
  • pitch() +: glm +
  • +
  • polar() +: glm +
  • +
  • pow() +: glm +
  • +
  • powerOfTwoAbove() +: glm +
  • +
  • powerOfTwoBelow() +: glm +
  • +
  • powerOfTwoNearest() +: glm +
  • +
  • prev_float() +: glm +
  • +
  • proj() +: glm +
  • +
  • proj2D() +: glm +
  • +
  • proj3D() +: glm +
  • +
  • project() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x71.html glm-0.9.5.1/doc/api/namespacemembers_func_0x71.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x71.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x71.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,98 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- q -

    +
  • quarter_pi() +: glm +
  • +
  • quat_cast() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x72.html glm-0.9.5.1/doc/api/namespacemembers_func_0x72.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x72.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x72.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,179 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- r -

    +
  • radialGradient() +: glm +
  • +
  • radians() +: glm +
  • +
  • reflect() +: glm +
  • +
  • refract() +: glm +
  • +
  • repeat() +: glm +
  • +
  • rgb2YCoCg() +: glm +
  • +
  • rgb2YCoCgR() +: glm +
  • +
  • rgbColor() +: glm +
  • +
  • rightHanded() +: glm +
  • +
  • roll() +: glm +
  • +
  • root_five() +: glm +
  • +
  • root_half_pi() +: glm +
  • +
  • root_ln_four() +: glm +
  • +
  • root_pi() +: glm +
  • +
  • root_three() +: glm +
  • +
  • root_two() +: glm +
  • +
  • root_two_pi() +: glm +
  • +
  • rotate() +: glm +
  • +
  • rotateNormalizedAxis() +: glm +
  • +
  • rotateX() +: glm +
  • +
  • rotateY() +: glm +
  • +
  • rotateZ() +: glm +
  • +
  • rotation() +: glm +
  • +
  • round() +: glm +
  • +
  • roundEven() +: glm +
  • +
  • row() +: glm +
  • +
  • rowMajor2() +: glm +
  • +
  • rowMajor3() +: glm +
  • +
  • rowMajor4() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x73.html glm-0.9.5.1/doc/api/namespacemembers_func_0x73.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x73.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x73.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,158 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- s -

    +
  • saturate() +: glm +
  • +
  • saturation() +: glm +
  • +
  • scale() +: glm +
  • +
  • scaleBias() +: glm +
  • +
  • sec() +: glm +
  • +
  • sech() +: glm +
  • +
  • shearX2D() +: glm +
  • +
  • shearX3D() +: glm +
  • +
  • shearY2D() +: glm +
  • +
  • shearY3D() +: glm +
  • +
  • shearZ3D() +: glm +
  • +
  • shortMix() +: glm +
  • +
  • sign() +: glm +
  • +
  • simplex() +: glm +
  • +
  • sin() +: glm +
  • +
  • sinh() +: glm +
  • +
  • slerp() +: glm +
  • +
  • smoothstep() +: glm +
  • +
  • sphericalRand() +: glm +
  • +
  • sqrt() +: glm +
  • +
  • squad() +: glm +
  • +
  • step() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x74.html glm-0.9.5.1/doc/api/namespacemembers_func_0x74.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x74.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x74.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,134 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- t -

    +
  • tan() +: glm +
  • +
  • tanh() +: glm +
  • +
  • third() +: glm +
  • +
  • to_string() +: glm +
  • +
  • toMat3() +: glm +
  • +
  • toMat4() +: glm +
  • +
  • toQuat() +: glm +
  • +
  • translate() +: glm +
  • +
  • triangleNormal() +: glm +
  • +
  • trunc() +: glm +
  • +
  • tweakedInfinitePerspective() +: glm +
  • +
  • two_over_pi() +: glm +
  • +
  • two_over_root_pi() +: glm +
  • +
  • two_thirds() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x75.html glm-0.9.5.1/doc/api/namespacemembers_func_0x75.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x75.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x75.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,173 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- u -

    +
  • uaddCarry() +: glm +
  • +
  • uint10_10_10_2_cast() +: glm +
  • +
  • uintBitsToFloat() +: glm +
  • +
  • umulExtended() +: glm +
  • +
  • unpackDouble2x32() +: glm +
  • +
  • unpackF2x11_1x10() +: glm +
  • +
  • unpackHalf1x16() +: glm +
  • +
  • unpackHalf2x16() +: glm +
  • +
  • unpackHalf4x16() +: glm +
  • +
  • unpackI3x10_1x2() +: glm +
  • +
  • unpackSnorm1x16() +: glm +
  • +
  • unpackSnorm1x8() +: glm +
  • +
  • unpackSnorm2x16() +: glm +
  • +
  • unpackSnorm2x8() +: glm +
  • +
  • unpackSnorm3x10_1x2() +: glm +
  • +
  • unpackSnorm4x16() +: glm +
  • +
  • unpackSnorm4x8() +: glm +
  • +
  • unpackU3x10_1x2() +: glm +
  • +
  • unpackUnorm1x16() +: glm +
  • +
  • unpackUnorm1x8() +: glm +
  • +
  • unpackUnorm2x16() +: glm +
  • +
  • unpackUnorm2x8() +: glm +
  • +
  • unpackUnorm3x10_1x2() +: glm +
  • +
  • unpackUnorm4x16() +: glm +
  • +
  • unpackUnorm4x8() +: glm +
  • +
  • unProject() +: glm +
  • +
  • usubBorrow() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x76.html glm-0.9.5.1/doc/api/namespacemembers_func_0x76.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x76.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x76.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,95 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- v -

    +
  • value_ptr() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x79.html glm-0.9.5.1/doc/api/namespacemembers_func_0x79.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x79.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x79.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,104 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- y -

    +
  • yaw() +: glm +
  • +
  • yawPitchRoll() +: glm +
  • +
  • YCoCg2rgb() +: glm +
  • +
  • YCoCgR2rgb() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func_0x7a.html glm-0.9.5.1/doc/api/namespacemembers_func_0x7a.html --- glm-0.9.4.6/doc/api/namespacemembers_func_0x7a.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func_0x7a.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,95 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- z -

    +
  • zero() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_func.html glm-0.9.5.1/doc/api/namespacemembers_func.html --- glm-0.9.4.6/doc/api/namespacemembers_func.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_func.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,173 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- a -

    +
  • abs() +: glm +
  • +
  • acos() +: glm +
  • +
  • acosh() +: glm +
  • +
  • acot() +: glm +
  • +
  • acoth() +: glm +
  • +
  • acsc() +: glm +
  • +
  • acsch() +: glm +
  • +
  • affineInverse() +: glm +
  • +
  • all() +: glm +
  • +
  • angle() +: glm +
  • +
  • angleAxis() +: glm +
  • +
  • any() +: glm +
  • +
  • areCollinear() +: glm +
  • +
  • areOrthogonal() +: glm +
  • +
  • areOrthonormal() +: glm +
  • +
  • asec() +: glm +
  • +
  • asech() +: glm +
  • +
  • asin() +: glm +
  • +
  • asinh() +: glm +
  • +
  • associatedMax() +: glm +
  • +
  • associatedMin() +: glm +
  • +
  • atan() +: glm +
  • +
  • atan2() +: glm +
  • +
  • atanh() +: glm +
  • +
  • axis() +: glm +
  • +
  • axisAngle() +: glm +
  • +
  • axisAngleMatrix() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers.html glm-0.9.5.1/doc/api/namespacemembers.html --- glm-0.9.4.6/doc/api/namespacemembers.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,174 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+
Here is a list of all documented namespace members with links to the namespaces they belong to:
+ +

- a -

    +
  • abs() +: glm +
  • +
  • acos() +: glm +
  • +
  • acosh() +: glm +
  • +
  • acot() +: glm +
  • +
  • acoth() +: glm +
  • +
  • acsc() +: glm +
  • +
  • acsch() +: glm +
  • +
  • affineInverse() +: glm +
  • +
  • all() +: glm +
  • +
  • angle() +: glm +
  • +
  • angleAxis() +: glm +
  • +
  • any() +: glm +
  • +
  • areCollinear() +: glm +
  • +
  • areOrthogonal() +: glm +
  • +
  • areOrthonormal() +: glm +
  • +
  • asec() +: glm +
  • +
  • asech() +: glm +
  • +
  • asin() +: glm +
  • +
  • asinh() +: glm +
  • +
  • associatedMax() +: glm +
  • +
  • associatedMin() +: glm +
  • +
  • atan() +: glm +
  • +
  • atan2() +: glm +
  • +
  • atanh() +: glm +
  • +
  • axis() +: glm +
  • +
  • axisAngle() +: glm +
  • +
  • axisAngleMatrix() +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_type_0x64.html glm-0.9.5.1/doc/api/namespacemembers_type_0x64.html --- glm-0.9.4.6/doc/api/namespacemembers_type_0x64.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_type_0x64.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,181 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- d -

    +
  • ddualquat +: glm +
  • +
  • dmat2 +: glm +
  • +
  • dmat2x2 +: glm +
  • +
  • dmat2x3 +: glm +
  • +
  • dmat2x4 +: glm +
  • +
  • dmat3 +: glm +
  • +
  • dmat3x2 +: glm +
  • +
  • dmat3x3 +: glm +
  • +
  • dmat3x4 +: glm +
  • +
  • dmat4 +: glm +
  • +
  • dmat4x2 +: glm +
  • +
  • dmat4x3 +: glm +
  • +
  • dmat4x4 +: glm +
  • +
  • double1 +: glm +
  • +
  • double1x1 +: glm +
  • +
  • double2 +: glm +
  • +
  • double2x2 +: glm +
  • +
  • double2x3 +: glm +
  • +
  • double2x4 +: glm +
  • +
  • double3 +: glm +
  • +
  • double3x2 +: glm +
  • +
  • double3x3 +: glm +
  • +
  • double3x4 +: glm +
  • +
  • double4 +: glm +
  • +
  • double4x2 +: glm +
  • +
  • double4x3 +: glm +
  • +
  • double4x4 +: glm +
  • +
  • dquat +: glm +
  • +
  • dualquat +: glm +
  • +
  • dvec2 +: glm +
  • +
  • dvec3 +: glm +
  • +
  • dvec4 +: glm +
  • +
  • dword +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_type_0x66.html glm-0.9.5.1/doc/api/namespacemembers_type_0x66.html --- glm-0.9.4.6/doc/api/namespacemembers_type_0x66.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_type_0x66.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,298 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- f -

    +
  • f32 +: glm +
  • +
  • f32mat2 +: glm +
  • +
  • f32mat2x2 +: glm +
  • +
  • f32mat2x3 +: glm +
  • +
  • f32mat2x4 +: glm +
  • +
  • f32mat3 +: glm +
  • +
  • f32mat3x2 +: glm +
  • +
  • f32mat3x3 +: glm +
  • +
  • f32mat3x4 +: glm +
  • +
  • f32mat4 +: glm +
  • +
  • f32mat4x2 +: glm +
  • +
  • f32mat4x3 +: glm +
  • +
  • f32mat4x4 +: glm +
  • +
  • f32quat +: glm +
  • +
  • f32vec1 +: glm +
  • +
  • f32vec2 +: glm +
  • +
  • f32vec3 +: glm +
  • +
  • f32vec4 +: glm +
  • +
  • f64 +: glm +
  • +
  • f64mat2 +: glm +
  • +
  • f64mat2x2 +: glm +
  • +
  • f64mat2x3 +: glm +
  • +
  • f64mat2x4 +: glm +
  • +
  • f64mat3 +: glm +
  • +
  • f64mat3x2 +: glm +
  • +
  • f64mat3x3 +: glm +
  • +
  • f64mat3x4 +: glm +
  • +
  • f64mat4 +: glm +
  • +
  • f64mat4x2 +: glm +
  • +
  • f64mat4x3 +: glm +
  • +
  • f64mat4x4 +: glm +
  • +
  • f64quat +: glm +
  • +
  • f64vec1 +: glm +
  • +
  • f64vec2 +: glm +
  • +
  • f64vec3 +: glm +
  • +
  • f64vec4 +: glm +
  • +
  • fdualquat +: glm +
  • +
  • float1 +: glm +
  • +
  • float1x1 +: glm +
  • +
  • float2 +: glm +
  • +
  • float2x2 +: glm +
  • +
  • float2x3 +: glm +
  • +
  • float2x4 +: glm +
  • +
  • float3 +: glm +
  • +
  • float32 +: glm +
  • +
  • float32_t +: glm +
  • +
  • float3x2 +: glm +
  • +
  • float3x3 +: glm +
  • +
  • float3x4 +: glm +
  • +
  • float4 +: glm +
  • +
  • float4x2 +: glm +
  • +
  • float4x3 +: glm +
  • +
  • float4x4 +: glm +
  • +
  • float64 +: glm +
  • +
  • float64_t +: glm +
  • +
  • fmat2 +: glm +
  • +
  • fmat2x2 +: glm +
  • +
  • fmat2x3 +: glm +
  • +
  • fmat2x4 +: glm +
  • +
  • fmat3 +: glm +
  • +
  • fmat3x2 +: glm +
  • +
  • fmat3x3 +: glm +
  • +
  • fmat3x4 +: glm +
  • +
  • fmat4 +: glm +
  • +
  • fmat4x2 +: glm +
  • +
  • fmat4x3 +: glm +
  • +
  • fmat4x4 +: glm +
  • +
  • fquat +: glm +
  • +
  • fvec1 +: glm +
  • +
  • fvec2 +: glm +
  • +
  • fvec3 +: glm +
  • +
  • fvec4 +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_type_0x68.html glm-0.9.5.1/doc/api/namespacemembers_type_0x68.html --- glm-0.9.4.6/doc/api/namespacemembers_type_0x68.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_type_0x68.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,646 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- h -

    +
  • highp_bvec1 +: glm +
  • +
  • highp_bvec2 +: glm +
  • +
  • highp_bvec3 +: glm +
  • +
  • highp_bvec4 +: glm +
  • +
  • highp_ddualquat +: glm +
  • +
  • highp_dmat2 +: glm +
  • +
  • highp_dmat2x2 +: glm +
  • +
  • highp_dmat2x3 +: glm +
  • +
  • highp_dmat2x4 +: glm +
  • +
  • highp_dmat3 +: glm +
  • +
  • highp_dmat3x2 +: glm +
  • +
  • highp_dmat3x3 +: glm +
  • +
  • highp_dmat3x4 +: glm +
  • +
  • highp_dmat4 +: glm +
  • +
  • highp_dmat4x2 +: glm +
  • +
  • highp_dmat4x3 +: glm +
  • +
  • highp_dmat4x4 +: glm +
  • +
  • highp_dquat +: glm +
  • +
  • highp_dualquat +: glm +
  • +
  • highp_dvec2 +: glm +
  • +
  • highp_dvec3 +: glm +
  • +
  • highp_dvec4 +: glm +
  • +
  • highp_f32 +: glm +
  • +
  • highp_f32mat2 +: glm +
  • +
  • highp_f32mat2x2 +: glm +
  • +
  • highp_f32mat2x3 +: glm +
  • +
  • highp_f32mat2x4 +: glm +
  • +
  • highp_f32mat3 +: glm +
  • +
  • highp_f32mat3x2 +: glm +
  • +
  • highp_f32mat3x3 +: glm +
  • +
  • highp_f32mat3x4 +: glm +
  • +
  • highp_f32mat4 +: glm +
  • +
  • highp_f32mat4x2 +: glm +
  • +
  • highp_f32mat4x3 +: glm +
  • +
  • highp_f32mat4x4 +: glm +
  • +
  • highp_f32quat +: glm +
  • +
  • highp_f32vec1 +: glm +
  • +
  • highp_f32vec2 +: glm +
  • +
  • highp_f32vec3 +: glm +
  • +
  • highp_f32vec4 +: glm +
  • +
  • highp_f64 +: glm +
  • +
  • highp_f64mat2 +: glm +
  • +
  • highp_f64mat2x2 +: glm +
  • +
  • highp_f64mat2x3 +: glm +
  • +
  • highp_f64mat2x4 +: glm +
  • +
  • highp_f64mat3 +: glm +
  • +
  • highp_f64mat3x2 +: glm +
  • +
  • highp_f64mat3x3 +: glm +
  • +
  • highp_f64mat3x4 +: glm +
  • +
  • highp_f64mat4 +: glm +
  • +
  • highp_f64mat4x2 +: glm +
  • +
  • highp_f64mat4x3 +: glm +
  • +
  • highp_f64mat4x4 +: glm +
  • +
  • highp_f64quat +: glm +
  • +
  • highp_f64vec1 +: glm +
  • +
  • highp_f64vec2 +: glm +
  • +
  • highp_f64vec3 +: glm +
  • +
  • highp_f64vec4 +: glm +
  • +
  • highp_fdualquat +: glm +
  • +
  • highp_float +: glm +
  • +
  • highp_float32 +: glm +
  • +
  • highp_float32_t +: glm +
  • +
  • highp_float64 +: glm +
  • +
  • highp_float64_t +: glm +
  • +
  • highp_fmat2 +: glm +
  • +
  • highp_fmat2x2 +: glm +
  • +
  • highp_fmat2x3 +: glm +
  • +
  • highp_fmat2x4 +: glm +
  • +
  • highp_fmat3 +: glm +
  • +
  • highp_fmat3x2 +: glm +
  • +
  • highp_fmat3x3 +: glm +
  • +
  • highp_fmat3x4 +: glm +
  • +
  • highp_fmat4 +: glm +
  • +
  • highp_fmat4x2 +: glm +
  • +
  • highp_fmat4x3 +: glm +
  • +
  • highp_fmat4x4 +: glm +
  • +
  • highp_fquat +: glm +
  • +
  • highp_fvec1 +: glm +
  • +
  • highp_fvec2 +: glm +
  • +
  • highp_fvec3 +: glm +
  • +
  • highp_fvec4 +: glm +
  • +
  • highp_i16 +: glm +
  • +
  • highp_i16vec1 +: glm +
  • +
  • highp_i16vec2 +: glm +
  • +
  • highp_i16vec3 +: glm +
  • +
  • highp_i16vec4 +: glm +
  • +
  • highp_i32 +: glm +
  • +
  • highp_i32vec1 +: glm +
  • +
  • highp_i32vec2 +: glm +
  • +
  • highp_i32vec3 +: glm +
  • +
  • highp_i32vec4 +: glm +
  • +
  • highp_i64 +: glm +
  • +
  • highp_i64vec1 +: glm +
  • +
  • highp_i64vec2 +: glm +
  • +
  • highp_i64vec3 +: glm +
  • +
  • highp_i64vec4 +: glm +
  • +
  • highp_i8 +: glm +
  • +
  • highp_i8vec1 +: glm +
  • +
  • highp_i8vec2 +: glm +
  • +
  • highp_i8vec3 +: glm +
  • +
  • highp_i8vec4 +: glm +
  • +
  • highp_imat2 +: glm +
  • +
  • highp_imat2x2 +: glm +
  • +
  • highp_imat2x3 +: glm +
  • +
  • highp_imat2x4 +: glm +
  • +
  • highp_imat3 +: glm +
  • +
  • highp_imat3x2 +: glm +
  • +
  • highp_imat3x3 +: glm +
  • +
  • highp_imat3x4 +: glm +
  • +
  • highp_imat4 +: glm +
  • +
  • highp_imat4x2 +: glm +
  • +
  • highp_imat4x3 +: glm +
  • +
  • highp_imat4x4 +: glm +
  • +
  • highp_int +: glm +
  • +
  • highp_int16 +: glm +
  • +
  • highp_int16_t +: glm +
  • +
  • highp_int32 +: glm +
  • +
  • highp_int32_t +: glm +
  • +
  • highp_int64 +: glm +
  • +
  • highp_int64_t +: glm +
  • +
  • highp_int8 +: glm +
  • +
  • highp_int8_t +: glm +
  • +
  • highp_ivec1 +: glm +
  • +
  • highp_ivec2 +: glm +
  • +
  • highp_ivec3 +: glm +
  • +
  • highp_ivec4 +: glm +
  • +
  • highp_mat2 +: glm +
  • +
  • highp_mat2x2 +: glm +
  • +
  • highp_mat2x3 +: glm +
  • +
  • highp_mat2x4 +: glm +
  • +
  • highp_mat3 +: glm +
  • +
  • highp_mat3x2 +: glm +
  • +
  • highp_mat3x3 +: glm +
  • +
  • highp_mat3x4 +: glm +
  • +
  • highp_mat4 +: glm +
  • +
  • highp_mat4x2 +: glm +
  • +
  • highp_mat4x3 +: glm +
  • +
  • highp_mat4x4 +: glm +
  • +
  • highp_quat +: glm +
  • +
  • highp_u16 +: glm +
  • +
  • highp_u16vec1 +: glm +
  • +
  • highp_u16vec2 +: glm +
  • +
  • highp_u16vec3 +: glm +
  • +
  • highp_u16vec4 +: glm +
  • +
  • highp_u32 +: glm +
  • +
  • highp_u32vec1 +: glm +
  • +
  • highp_u32vec2 +: glm +
  • +
  • highp_u32vec3 +: glm +
  • +
  • highp_u32vec4 +: glm +
  • +
  • highp_u64 +: glm +
  • +
  • highp_u64vec1 +: glm +
  • +
  • highp_u64vec2 +: glm +
  • +
  • highp_u64vec3 +: glm +
  • +
  • highp_u64vec4 +: glm +
  • +
  • highp_u8 +: glm +
  • +
  • highp_u8vec1 +: glm +
  • +
  • highp_u8vec2 +: glm +
  • +
  • highp_u8vec3 +: glm +
  • +
  • highp_u8vec4 +: glm +
  • +
  • highp_uint +: glm +
  • +
  • highp_uint16 +: glm +
  • +
  • highp_uint16_t +: glm +
  • +
  • highp_uint32 +: glm +
  • +
  • highp_uint32_t +: glm +
  • +
  • highp_uint64 +: glm +
  • +
  • highp_uint64_t +: glm +
  • +
  • highp_uint8 +: glm +
  • +
  • highp_uint8_t +: glm +
  • +
  • highp_umat2 +: glm +
  • +
  • highp_umat2x2 +: glm +
  • +
  • highp_umat2x3 +: glm +
  • +
  • highp_umat2x4 +: glm +
  • +
  • highp_umat3 +: glm +
  • +
  • highp_umat3x2 +: glm +
  • +
  • highp_umat3x3 +: glm +
  • +
  • highp_umat3x4 +: glm +
  • +
  • highp_umat4 +: glm +
  • +
  • highp_umat4x2 +: glm +
  • +
  • highp_umat4x3 +: glm +
  • +
  • highp_umat4x4 +: glm +
  • +
  • highp_uvec1 +: glm +
  • +
  • highp_uvec2 +: glm +
  • +
  • highp_uvec3 +: glm +
  • +
  • highp_uvec4 +: glm +
  • +
  • highp_vec1 +: glm +
  • +
  • highp_vec2 +: glm +
  • +
  • highp_vec3 +: glm +
  • +
  • highp_vec4 +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_type_0x69.html glm-0.9.5.1/doc/api/namespacemembers_type_0x69.html --- glm-0.9.4.6/doc/api/namespacemembers_type_0x69.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_type_0x69.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,256 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- i -

    +
  • i16 +: glm +
  • +
  • i16vec1 +: glm +
  • +
  • i16vec2 +: glm +
  • +
  • i16vec3 +: glm +
  • +
  • i16vec4 +: glm +
  • +
  • i32 +: glm +
  • +
  • i32vec1 +: glm +
  • +
  • i32vec2 +: glm +
  • +
  • i32vec3 +: glm +
  • +
  • i32vec4 +: glm +
  • +
  • i64 +: glm +
  • +
  • i64vec1 +: glm +
  • +
  • i64vec2 +: glm +
  • +
  • i64vec3 +: glm +
  • +
  • i64vec4 +: glm +
  • +
  • i8 +: glm +
  • +
  • i8vec1 +: glm +
  • +
  • i8vec2 +: glm +
  • +
  • i8vec3 +: glm +
  • +
  • i8vec4 +: glm +
  • +
  • imat2 +: glm +
  • +
  • imat2x2 +: glm +
  • +
  • imat2x3 +: glm +
  • +
  • imat2x4 +: glm +
  • +
  • imat3 +: glm +
  • +
  • imat3x2 +: glm +
  • +
  • imat3x3 +: glm +
  • +
  • imat3x4 +: glm +
  • +
  • imat4 +: glm +
  • +
  • imat4x2 +: glm +
  • +
  • imat4x3 +: glm +
  • +
  • imat4x4 +: glm +
  • +
  • int1 +: glm +
  • +
  • int16 +: glm +
  • +
  • int16_t +: glm +
  • +
  • int1x1 +: glm +
  • +
  • int2 +: glm +
  • +
  • int2x2 +: glm +
  • +
  • int2x3 +: glm +
  • +
  • int2x4 +: glm +
  • +
  • int3 +: glm +
  • +
  • int32 +: glm +
  • +
  • int32_t +: glm +
  • +
  • int3x2 +: glm +
  • +
  • int3x3 +: glm +
  • +
  • int3x4 +: glm +
  • +
  • int4 +: glm +
  • +
  • int4x2 +: glm +
  • +
  • int4x3 +: glm +
  • +
  • int4x4 +: glm +
  • +
  • int64 +: glm +
  • +
  • int64_t +: glm +
  • +
  • int8 +: glm +
  • +
  • int8_t +: glm +
  • +
  • ivec1 +: glm +
  • +
  • ivec2 +: glm +
  • +
  • ivec3 +: glm +
  • +
  • ivec4 +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_type_0x6c.html glm-0.9.5.1/doc/api/namespacemembers_type_0x6c.html --- glm-0.9.4.6/doc/api/namespacemembers_type_0x6c.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_type_0x6c.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,646 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- l -

    +
  • lowp_bvec1 +: glm +
  • +
  • lowp_bvec2 +: glm +
  • +
  • lowp_bvec3 +: glm +
  • +
  • lowp_bvec4 +: glm +
  • +
  • lowp_ddualquat +: glm +
  • +
  • lowp_dmat2 +: glm +
  • +
  • lowp_dmat2x2 +: glm +
  • +
  • lowp_dmat2x3 +: glm +
  • +
  • lowp_dmat2x4 +: glm +
  • +
  • lowp_dmat3 +: glm +
  • +
  • lowp_dmat3x2 +: glm +
  • +
  • lowp_dmat3x3 +: glm +
  • +
  • lowp_dmat3x4 +: glm +
  • +
  • lowp_dmat4 +: glm +
  • +
  • lowp_dmat4x2 +: glm +
  • +
  • lowp_dmat4x3 +: glm +
  • +
  • lowp_dmat4x4 +: glm +
  • +
  • lowp_dquat +: glm +
  • +
  • lowp_dualquat +: glm +
  • +
  • lowp_dvec2 +: glm +
  • +
  • lowp_dvec3 +: glm +
  • +
  • lowp_dvec4 +: glm +
  • +
  • lowp_f32 +: glm +
  • +
  • lowp_f32mat2 +: glm +
  • +
  • lowp_f32mat2x2 +: glm +
  • +
  • lowp_f32mat2x3 +: glm +
  • +
  • lowp_f32mat2x4 +: glm +
  • +
  • lowp_f32mat3 +: glm +
  • +
  • lowp_f32mat3x2 +: glm +
  • +
  • lowp_f32mat3x3 +: glm +
  • +
  • lowp_f32mat3x4 +: glm +
  • +
  • lowp_f32mat4 +: glm +
  • +
  • lowp_f32mat4x2 +: glm +
  • +
  • lowp_f32mat4x3 +: glm +
  • +
  • lowp_f32mat4x4 +: glm +
  • +
  • lowp_f32quat +: glm +
  • +
  • lowp_f32vec1 +: glm +
  • +
  • lowp_f32vec2 +: glm +
  • +
  • lowp_f32vec3 +: glm +
  • +
  • lowp_f32vec4 +: glm +
  • +
  • lowp_f64 +: glm +
  • +
  • lowp_f64mat2 +: glm +
  • +
  • lowp_f64mat2x2 +: glm +
  • +
  • lowp_f64mat2x3 +: glm +
  • +
  • lowp_f64mat2x4 +: glm +
  • +
  • lowp_f64mat3 +: glm +
  • +
  • lowp_f64mat3x2 +: glm +
  • +
  • lowp_f64mat3x3 +: glm +
  • +
  • lowp_f64mat3x4 +: glm +
  • +
  • lowp_f64mat4 +: glm +
  • +
  • lowp_f64mat4x2 +: glm +
  • +
  • lowp_f64mat4x3 +: glm +
  • +
  • lowp_f64mat4x4 +: glm +
  • +
  • lowp_f64quat +: glm +
  • +
  • lowp_f64vec1 +: glm +
  • +
  • lowp_f64vec2 +: glm +
  • +
  • lowp_f64vec3 +: glm +
  • +
  • lowp_f64vec4 +: glm +
  • +
  • lowp_fdualquat +: glm +
  • +
  • lowp_float +: glm +
  • +
  • lowp_float32 +: glm +
  • +
  • lowp_float32_t +: glm +
  • +
  • lowp_float64 +: glm +
  • +
  • lowp_float64_t +: glm +
  • +
  • lowp_fmat2 +: glm +
  • +
  • lowp_fmat2x2 +: glm +
  • +
  • lowp_fmat2x3 +: glm +
  • +
  • lowp_fmat2x4 +: glm +
  • +
  • lowp_fmat3 +: glm +
  • +
  • lowp_fmat3x2 +: glm +
  • +
  • lowp_fmat3x3 +: glm +
  • +
  • lowp_fmat3x4 +: glm +
  • +
  • lowp_fmat4 +: glm +
  • +
  • lowp_fmat4x2 +: glm +
  • +
  • lowp_fmat4x3 +: glm +
  • +
  • lowp_fmat4x4 +: glm +
  • +
  • lowp_fquat +: glm +
  • +
  • lowp_fvec1 +: glm +
  • +
  • lowp_fvec2 +: glm +
  • +
  • lowp_fvec3 +: glm +
  • +
  • lowp_fvec4 +: glm +
  • +
  • lowp_i16 +: glm +
  • +
  • lowp_i16vec1 +: glm +
  • +
  • lowp_i16vec2 +: glm +
  • +
  • lowp_i16vec3 +: glm +
  • +
  • lowp_i16vec4 +: glm +
  • +
  • lowp_i32 +: glm +
  • +
  • lowp_i32vec1 +: glm +
  • +
  • lowp_i32vec2 +: glm +
  • +
  • lowp_i32vec3 +: glm +
  • +
  • lowp_i32vec4 +: glm +
  • +
  • lowp_i64 +: glm +
  • +
  • lowp_i64vec1 +: glm +
  • +
  • lowp_i64vec2 +: glm +
  • +
  • lowp_i64vec3 +: glm +
  • +
  • lowp_i64vec4 +: glm +
  • +
  • lowp_i8 +: glm +
  • +
  • lowp_i8vec1 +: glm +
  • +
  • lowp_i8vec2 +: glm +
  • +
  • lowp_i8vec3 +: glm +
  • +
  • lowp_i8vec4 +: glm +
  • +
  • lowp_imat2 +: glm +
  • +
  • lowp_imat2x2 +: glm +
  • +
  • lowp_imat2x3 +: glm +
  • +
  • lowp_imat2x4 +: glm +
  • +
  • lowp_imat3 +: glm +
  • +
  • lowp_imat3x2 +: glm +
  • +
  • lowp_imat3x3 +: glm +
  • +
  • lowp_imat3x4 +: glm +
  • +
  • lowp_imat4 +: glm +
  • +
  • lowp_imat4x2 +: glm +
  • +
  • lowp_imat4x3 +: glm +
  • +
  • lowp_imat4x4 +: glm +
  • +
  • lowp_int +: glm +
  • +
  • lowp_int16 +: glm +
  • +
  • lowp_int16_t +: glm +
  • +
  • lowp_int32 +: glm +
  • +
  • lowp_int32_t +: glm +
  • +
  • lowp_int64 +: glm +
  • +
  • lowp_int64_t +: glm +
  • +
  • lowp_int8 +: glm +
  • +
  • lowp_int8_t +: glm +
  • +
  • lowp_ivec1 +: glm +
  • +
  • lowp_ivec2 +: glm +
  • +
  • lowp_ivec3 +: glm +
  • +
  • lowp_ivec4 +: glm +
  • +
  • lowp_mat2 +: glm +
  • +
  • lowp_mat2x2 +: glm +
  • +
  • lowp_mat2x3 +: glm +
  • +
  • lowp_mat2x4 +: glm +
  • +
  • lowp_mat3 +: glm +
  • +
  • lowp_mat3x2 +: glm +
  • +
  • lowp_mat3x3 +: glm +
  • +
  • lowp_mat3x4 +: glm +
  • +
  • lowp_mat4 +: glm +
  • +
  • lowp_mat4x2 +: glm +
  • +
  • lowp_mat4x3 +: glm +
  • +
  • lowp_mat4x4 +: glm +
  • +
  • lowp_quat +: glm +
  • +
  • lowp_u16 +: glm +
  • +
  • lowp_u16vec1 +: glm +
  • +
  • lowp_u16vec2 +: glm +
  • +
  • lowp_u16vec3 +: glm +
  • +
  • lowp_u16vec4 +: glm +
  • +
  • lowp_u32 +: glm +
  • +
  • lowp_u32vec1 +: glm +
  • +
  • lowp_u32vec2 +: glm +
  • +
  • lowp_u32vec3 +: glm +
  • +
  • lowp_u32vec4 +: glm +
  • +
  • lowp_u64 +: glm +
  • +
  • lowp_u64vec1 +: glm +
  • +
  • lowp_u64vec2 +: glm +
  • +
  • lowp_u64vec3 +: glm +
  • +
  • lowp_u64vec4 +: glm +
  • +
  • lowp_u8 +: glm +
  • +
  • lowp_u8vec1 +: glm +
  • +
  • lowp_u8vec2 +: glm +
  • +
  • lowp_u8vec3 +: glm +
  • +
  • lowp_u8vec4 +: glm +
  • +
  • lowp_uint +: glm +
  • +
  • lowp_uint16 +: glm +
  • +
  • lowp_uint16_t +: glm +
  • +
  • lowp_uint32 +: glm +
  • +
  • lowp_uint32_t +: glm +
  • +
  • lowp_uint64 +: glm +
  • +
  • lowp_uint64_t +: glm +
  • +
  • lowp_uint8 +: glm +
  • +
  • lowp_uint8_t +: glm +
  • +
  • lowp_umat2 +: glm +
  • +
  • lowp_umat2x2 +: glm +
  • +
  • lowp_umat2x3 +: glm +
  • +
  • lowp_umat2x4 +: glm +
  • +
  • lowp_umat3 +: glm +
  • +
  • lowp_umat3x2 +: glm +
  • +
  • lowp_umat3x3 +: glm +
  • +
  • lowp_umat3x4 +: glm +
  • +
  • lowp_umat4 +: glm +
  • +
  • lowp_umat4x2 +: glm +
  • +
  • lowp_umat4x3 +: glm +
  • +
  • lowp_umat4x4 +: glm +
  • +
  • lowp_uvec1 +: glm +
  • +
  • lowp_uvec2 +: glm +
  • +
  • lowp_uvec3 +: glm +
  • +
  • lowp_uvec4 +: glm +
  • +
  • lowp_vec1 +: glm +
  • +
  • lowp_vec2 +: glm +
  • +
  • lowp_vec3 +: glm +
  • +
  • lowp_vec4 +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_type_0x6d.html glm-0.9.5.1/doc/api/namespacemembers_type_0x6d.html --- glm-0.9.4.6/doc/api/namespacemembers_type_0x6d.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_type_0x6d.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,682 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- m -

    +
  • mat2 +: glm +
  • +
  • mat2x2 +: glm +
  • +
  • mat2x3 +: glm +
  • +
  • mat2x4 +: glm +
  • +
  • mat3 +: glm +
  • +
  • mat3x2 +: glm +
  • +
  • mat3x3 +: glm +
  • +
  • mat3x4 +: glm +
  • +
  • mat4 +: glm +
  • +
  • mat4x2 +: glm +
  • +
  • mat4x3 +: glm +
  • +
  • mat4x4 +: glm +
  • +
  • mediump_bvec1 +: glm +
  • +
  • mediump_bvec2 +: glm +
  • +
  • mediump_bvec3 +: glm +
  • +
  • mediump_bvec4 +: glm +
  • +
  • mediump_ddualquat +: glm +
  • +
  • mediump_dmat2 +: glm +
  • +
  • mediump_dmat2x2 +: glm +
  • +
  • mediump_dmat2x3 +: glm +
  • +
  • mediump_dmat2x4 +: glm +
  • +
  • mediump_dmat3 +: glm +
  • +
  • mediump_dmat3x2 +: glm +
  • +
  • mediump_dmat3x3 +: glm +
  • +
  • mediump_dmat3x4 +: glm +
  • +
  • mediump_dmat4 +: glm +
  • +
  • mediump_dmat4x2 +: glm +
  • +
  • mediump_dmat4x3 +: glm +
  • +
  • mediump_dmat4x4 +: glm +
  • +
  • mediump_dquat +: glm +
  • +
  • mediump_dualquat +: glm +
  • +
  • mediump_dvec2 +: glm +
  • +
  • mediump_dvec3 +: glm +
  • +
  • mediump_dvec4 +: glm +
  • +
  • mediump_f32 +: glm +
  • +
  • mediump_f32mat2 +: glm +
  • +
  • mediump_f32mat2x2 +: glm +
  • +
  • mediump_f32mat2x3 +: glm +
  • +
  • mediump_f32mat2x4 +: glm +
  • +
  • mediump_f32mat3 +: glm +
  • +
  • mediump_f32mat3x2 +: glm +
  • +
  • mediump_f32mat3x3 +: glm +
  • +
  • mediump_f32mat3x4 +: glm +
  • +
  • mediump_f32mat4 +: glm +
  • +
  • mediump_f32mat4x2 +: glm +
  • +
  • mediump_f32mat4x3 +: glm +
  • +
  • mediump_f32mat4x4 +: glm +
  • +
  • mediump_f32quat +: glm +
  • +
  • mediump_f32vec1 +: glm +
  • +
  • mediump_f32vec2 +: glm +
  • +
  • mediump_f32vec3 +: glm +
  • +
  • mediump_f32vec4 +: glm +
  • +
  • mediump_f64 +: glm +
  • +
  • mediump_f64mat2 +: glm +
  • +
  • mediump_f64mat2x2 +: glm +
  • +
  • mediump_f64mat2x3 +: glm +
  • +
  • mediump_f64mat2x4 +: glm +
  • +
  • mediump_f64mat3 +: glm +
  • +
  • mediump_f64mat3x2 +: glm +
  • +
  • mediump_f64mat3x3 +: glm +
  • +
  • mediump_f64mat3x4 +: glm +
  • +
  • mediump_f64mat4 +: glm +
  • +
  • mediump_f64mat4x2 +: glm +
  • +
  • mediump_f64mat4x3 +: glm +
  • +
  • mediump_f64mat4x4 +: glm +
  • +
  • mediump_f64quat +: glm +
  • +
  • mediump_f64vec1 +: glm +
  • +
  • mediump_f64vec2 +: glm +
  • +
  • mediump_f64vec3 +: glm +
  • +
  • mediump_f64vec4 +: glm +
  • +
  • mediump_fdualquat +: glm +
  • +
  • mediump_float +: glm +
  • +
  • mediump_float32 +: glm +
  • +
  • mediump_float32_t +: glm +
  • +
  • mediump_float64 +: glm +
  • +
  • mediump_float64_t +: glm +
  • +
  • mediump_fmat2 +: glm +
  • +
  • mediump_fmat2x2 +: glm +
  • +
  • mediump_fmat2x3 +: glm +
  • +
  • mediump_fmat2x4 +: glm +
  • +
  • mediump_fmat3 +: glm +
  • +
  • mediump_fmat3x2 +: glm +
  • +
  • mediump_fmat3x3 +: glm +
  • +
  • mediump_fmat3x4 +: glm +
  • +
  • mediump_fmat4 +: glm +
  • +
  • mediump_fmat4x2 +: glm +
  • +
  • mediump_fmat4x3 +: glm +
  • +
  • mediump_fmat4x4 +: glm +
  • +
  • mediump_fquat +: glm +
  • +
  • mediump_fvec1 +: glm +
  • +
  • mediump_fvec2 +: glm +
  • +
  • mediump_fvec3 +: glm +
  • +
  • mediump_fvec4 +: glm +
  • +
  • mediump_i16 +: glm +
  • +
  • mediump_i16vec1 +: glm +
  • +
  • mediump_i16vec2 +: glm +
  • +
  • mediump_i16vec3 +: glm +
  • +
  • mediump_i16vec4 +: glm +
  • +
  • mediump_i32 +: glm +
  • +
  • mediump_i32vec1 +: glm +
  • +
  • mediump_i32vec2 +: glm +
  • +
  • mediump_i32vec3 +: glm +
  • +
  • mediump_i32vec4 +: glm +
  • +
  • mediump_i64 +: glm +
  • +
  • mediump_i64vec1 +: glm +
  • +
  • mediump_i64vec2 +: glm +
  • +
  • mediump_i64vec3 +: glm +
  • +
  • mediump_i64vec4 +: glm +
  • +
  • mediump_i8 +: glm +
  • +
  • mediump_i8vec1 +: glm +
  • +
  • mediump_i8vec2 +: glm +
  • +
  • mediump_i8vec3 +: glm +
  • +
  • mediump_i8vec4 +: glm +
  • +
  • mediump_imat2 +: glm +
  • +
  • mediump_imat2x2 +: glm +
  • +
  • mediump_imat2x3 +: glm +
  • +
  • mediump_imat2x4 +: glm +
  • +
  • mediump_imat3 +: glm +
  • +
  • mediump_imat3x2 +: glm +
  • +
  • mediump_imat3x3 +: glm +
  • +
  • mediump_imat3x4 +: glm +
  • +
  • mediump_imat4 +: glm +
  • +
  • mediump_imat4x2 +: glm +
  • +
  • mediump_imat4x3 +: glm +
  • +
  • mediump_imat4x4 +: glm +
  • +
  • mediump_int +: glm +
  • +
  • mediump_int16 +: glm +
  • +
  • mediump_int16_t +: glm +
  • +
  • mediump_int32 +: glm +
  • +
  • mediump_int32_t +: glm +
  • +
  • mediump_int64 +: glm +
  • +
  • mediump_int64_t +: glm +
  • +
  • mediump_int8 +: glm +
  • +
  • mediump_int8_t +: glm +
  • +
  • mediump_ivec1 +: glm +
  • +
  • mediump_ivec2 +: glm +
  • +
  • mediump_ivec3 +: glm +
  • +
  • mediump_ivec4 +: glm +
  • +
  • mediump_mat2 +: glm +
  • +
  • mediump_mat2x2 +: glm +
  • +
  • mediump_mat2x3 +: glm +
  • +
  • mediump_mat2x4 +: glm +
  • +
  • mediump_mat3 +: glm +
  • +
  • mediump_mat3x2 +: glm +
  • +
  • mediump_mat3x3 +: glm +
  • +
  • mediump_mat3x4 +: glm +
  • +
  • mediump_mat4 +: glm +
  • +
  • mediump_mat4x2 +: glm +
  • +
  • mediump_mat4x3 +: glm +
  • +
  • mediump_mat4x4 +: glm +
  • +
  • mediump_quat +: glm +
  • +
  • mediump_u16 +: glm +
  • +
  • mediump_u16vec1 +: glm +
  • +
  • mediump_u16vec2 +: glm +
  • +
  • mediump_u16vec3 +: glm +
  • +
  • mediump_u16vec4 +: glm +
  • +
  • mediump_u32 +: glm +
  • +
  • mediump_u32vec1 +: glm +
  • +
  • mediump_u32vec2 +: glm +
  • +
  • mediump_u32vec3 +: glm +
  • +
  • mediump_u32vec4 +: glm +
  • +
  • mediump_u64 +: glm +
  • +
  • mediump_u64vec1 +: glm +
  • +
  • mediump_u64vec2 +: glm +
  • +
  • mediump_u64vec3 +: glm +
  • +
  • mediump_u64vec4 +: glm +
  • +
  • mediump_u8 +: glm +
  • +
  • mediump_u8vec1 +: glm +
  • +
  • mediump_u8vec2 +: glm +
  • +
  • mediump_u8vec3 +: glm +
  • +
  • mediump_u8vec4 +: glm +
  • +
  • mediump_uint +: glm +
  • +
  • mediump_uint16 +: glm +
  • +
  • mediump_uint16_t +: glm +
  • +
  • mediump_uint32 +: glm +
  • +
  • mediump_uint32_t +: glm +
  • +
  • mediump_uint64 +: glm +
  • +
  • mediump_uint64_t +: glm +
  • +
  • mediump_uint8 +: glm +
  • +
  • mediump_uint8_t +: glm +
  • +
  • mediump_umat2 +: glm +
  • +
  • mediump_umat2x2 +: glm +
  • +
  • mediump_umat2x3 +: glm +
  • +
  • mediump_umat2x4 +: glm +
  • +
  • mediump_umat3 +: glm +
  • +
  • mediump_umat3x2 +: glm +
  • +
  • mediump_umat3x3 +: glm +
  • +
  • mediump_umat3x4 +: glm +
  • +
  • mediump_umat4 +: glm +
  • +
  • mediump_umat4x2 +: glm +
  • +
  • mediump_umat4x3 +: glm +
  • +
  • mediump_umat4x4 +: glm +
  • +
  • mediump_uvec1 +: glm +
  • +
  • mediump_uvec2 +: glm +
  • +
  • mediump_uvec3 +: glm +
  • +
  • mediump_uvec4 +: glm +
  • +
  • mediump_vec1 +: glm +
  • +
  • mediump_vec2 +: glm +
  • +
  • mediump_vec3 +: glm +
  • +
  • mediump_vec4 +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_type_0x71.html glm-0.9.5.1/doc/api/namespacemembers_type_0x71.html --- glm-0.9.4.6/doc/api/namespacemembers_type_0x71.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_type_0x71.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,88 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- q -

    +
  • quat +: glm +
  • +
  • qword +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_type_0x73.html glm-0.9.5.1/doc/api/namespacemembers_type_0x73.html --- glm-0.9.4.6/doc/api/namespacemembers_type_0x73.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_type_0x73.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,103 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- s -

    +
  • sint +: glm +
  • +
  • size2 +: glm +
  • +
  • size2_t +: glm +
  • +
  • size3 +: glm +
  • +
  • size3_t +: glm +
  • +
  • size4 +: glm +
  • +
  • size4_t +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_type_0x75.html glm-0.9.5.1/doc/api/namespacemembers_type_0x75.html --- glm-0.9.4.6/doc/api/namespacemembers_type_0x75.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_type_0x75.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,217 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- u -

    +
  • u16 +: glm +
  • +
  • u16vec1 +: glm +
  • +
  • u16vec2 +: glm +
  • +
  • u16vec3 +: glm +
  • +
  • u16vec4 +: glm +
  • +
  • u32 +: glm +
  • +
  • u32vec1 +: glm +
  • +
  • u32vec2 +: glm +
  • +
  • u32vec3 +: glm +
  • +
  • u32vec4 +: glm +
  • +
  • u64 +: glm +
  • +
  • u64vec1 +: glm +
  • +
  • u64vec2 +: glm +
  • +
  • u64vec3 +: glm +
  • +
  • u64vec4 +: glm +
  • +
  • u8 +: glm +
  • +
  • u8vec1 +: glm +
  • +
  • u8vec2 +: glm +
  • +
  • u8vec3 +: glm +
  • +
  • u8vec4 +: glm +
  • +
  • uint +: glm +
  • +
  • uint16 +: glm +
  • +
  • uint16_t +: glm +
  • +
  • uint32 +: glm +
  • +
  • uint32_t +: glm +
  • +
  • uint64 +: glm +
  • +
  • uint64_t +: glm +
  • +
  • uint8 +: glm +
  • +
  • uint8_t +: glm +
  • +
  • umat2 +: glm +
  • +
  • umat2x2 +: glm +
  • +
  • umat2x3 +: glm +
  • +
  • umat2x4 +: glm +
  • +
  • umat3 +: glm +
  • +
  • umat3x2 +: glm +
  • +
  • umat3x3 +: glm +
  • +
  • umat3x4 +: glm +
  • +
  • umat4 +: glm +
  • +
  • umat4x2 +: glm +
  • +
  • umat4x3 +: glm +
  • +
  • umat4x4 +: glm +
  • +
  • uvec1 +: glm +
  • +
  • uvec2 +: glm +
  • +
  • uvec3 +: glm +
  • +
  • uvec4 +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_type_0x76.html glm-0.9.5.1/doc/api/namespacemembers_type_0x76.html --- glm-0.9.4.6/doc/api/namespacemembers_type_0x76.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_type_0x76.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,94 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- v -

    +
  • vec1 +: glm +
  • +
  • vec2 +: glm +
  • +
  • vec3 +: glm +
  • +
  • vec4 +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_type_0x77.html glm-0.9.5.1/doc/api/namespacemembers_type_0x77.html --- glm-0.9.4.6/doc/api/namespacemembers_type_0x77.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_type_0x77.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,85 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- w -

    +
  • word +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespacemembers_type.html glm-0.9.5.1/doc/api/namespacemembers_type.html --- glm-0.9.4.6/doc/api/namespacemembers_type.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespacemembers_type.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,139 @@ + + + + + + +GLM: Namespace Members + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + + + +
+
+  + +

- b -

    +
  • bool1 +: glm +
  • +
  • bool1x1 +: glm +
  • +
  • bool2 +: glm +
  • +
  • bool2x2 +: glm +
  • +
  • bool2x3 +: glm +
  • +
  • bool2x4 +: glm +
  • +
  • bool3 +: glm +
  • +
  • bool3x2 +: glm +
  • +
  • bool3x3 +: glm +
  • +
  • bool3x4 +: glm +
  • +
  • bool4 +: glm +
  • +
  • bool4x2 +: glm +
  • +
  • bool4x3 +: glm +
  • +
  • bool4x4 +: glm +
  • +
  • bvec1 +: glm +
  • +
  • bvec2 +: glm +
  • +
  • bvec3 +: glm +
  • +
  • bvec4 +: glm +
  • +
  • byte +: glm +
  • +
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/namespaces.html glm-0.9.5.1/doc/api/namespaces.html --- glm-0.9.4.6/doc/api/namespaces.html 1970-01-01 00:00:00.000000000 +0000 +++ glm-0.9.5.1/doc/api/namespaces.html 2014-01-11 22:29:10.000000000 +0000 @@ -0,0 +1,64 @@ + + + + + + +GLM: Namespace List + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + + +
+
+
+
Namespace List
+
+
+
Here is a list of all documented namespaces with brief descriptions:
+ + +
\NglmOpenGL Mathematics (glm.g-truc.net)
+
+
+ + + + diff -Nru glm-0.9.4.6/doc/api/pages.html glm-0.9.5.1/doc/api/pages.html --- glm-0.9.4.6/doc/api/pages.html 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/api/pages.html 2014-01-11 22:29:10.000000000 +0000 @@ -1,53 +1,59 @@ - - - - - -Related Pages - - - - - - -
-
- - - - - - -
-
- - - -
-
-
-
Related Pages
-
-
-
Here is a list of all related documentation pages:
-
- - - - + + + + + + +GLM: Related Pages + + + + + + +
+
+ + + + + + +
+
GLM +  0.9.5 +
+
+
+ + + +
+
+
+
Related Pages
+
+
+
Here is a list of all related documentation pages:
+
+ + + + Binary files /tmp/20lLhMbQ1m/glm-0.9.4.6/doc/api/tab_b.png and /tmp/1kU0NDLQ86/glm-0.9.5.1/doc/api/tab_b.png differ Binary files /tmp/20lLhMbQ1m/glm-0.9.4.6/doc/~$glm.docx and /tmp/1kU0NDLQ86/glm-0.9.5.1/doc/~$glm.docx differ Binary files /tmp/20lLhMbQ1m/glm-0.9.4.6/doc/glm.docx and /tmp/1kU0NDLQ86/glm-0.9.5.1/doc/glm.docx differ Binary files /tmp/20lLhMbQ1m/glm-0.9.4.6/doc/glm.pdf and /tmp/1kU0NDLQ86/glm-0.9.5.1/doc/glm.pdf differ diff -Nru glm-0.9.4.6/doc/man.doxy glm-0.9.5.1/doc/man.doxy --- glm-0.9.4.6/doc/man.doxy 2013-09-02 22:53:30.000000000 +0000 +++ glm-0.9.5.1/doc/man.doxy 2013-12-25 23:01:14.000000000 +0000 @@ -1,104 +1,112 @@ -# Doxyfile 1.8.2 +# Doxyfile 1.8.5 # 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 +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single 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 (" ") +# 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. +# 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. +# The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = - -# 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 = 0.9.4 - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My 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 = 0.9.5 + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. +# With the PROJECT_LOGO tag one can specify an logo or icon that is included in +# the documentation. The maximum height of the logo should not exceed 55 pixels +# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo +# to the output directory. PROJECT_LOGO = G:/Repository/glm/doc/logo.png -# 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. +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. 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. +# 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 causes +# performance problems for the file system. +# The default value is: NO. 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-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. +# 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. +# Possible values are: Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese- +# Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto, Farsi, +# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en, +# Korean, Korean-en, Latvian, Norwegian, Macedonian, Persian, Polish, +# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, +# Turkish, Ukrainian and Vietnamese. +# The default value is: English. 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. +# If the BRIEF_MEMBER_DESC tag is set to YES 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. +# The default value is: YES. BRIEF_MEMBER_DESC = NO -# 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 +# If the REPEAT_BRIEF tag is set to YES 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. +# The default value is: YES. 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" +# 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 and the. ABBREVIATE_BRIEF = "The $name class " \ "The $name widget " \ @@ -112,257 +120,277 @@ 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 +# 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. +# The default value is: NO. 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 +# 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. +# The default value is: NO. 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. +# If the FULL_PATH_NAMES tag is set to YES 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 +# The default value is: YES. 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. Note that you specify absolute paths here, but also -# relative paths, which will be relative from the directory where doxygen is -# started. +# 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. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. 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. +# 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 list of 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 if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. +# 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. +# The default value is: NO. 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.) +# 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-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. 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.) +# 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 Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. 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. +# 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 behavior. 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 behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. 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. +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. 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. +# 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. +# The default value is: NO. 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. +# 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. +# Minimum value: 1, maximum value: 16, default value: 4. 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. +# This tag can be used to specify a number of aliases that act 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 = -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. TCL_SUBST = -# 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. +# 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. +# The default value is: NO. 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. +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. 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. +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. 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. +# 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. +# The default value is: NO. 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, CSharp, 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. +# 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. 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 For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. EXTENSION_MAPPING = -# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all -# comments according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you -# can mix doxygen, HTML, and XML commands with Markdown formatting. -# Disable only in case of backward compatibilities issues. +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. MARKDOWN_SUPPORT = YES -# When enabled doxygen tries to link words that correspond to documented classes, -# or namespaces to their corresponding documentation. Such a link can be -# prevented in individual cases by by putting a % sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by by putting a % sign in front of the word +# or globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. AUTOLINK_SUPPORT = YES -# 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 makes the inheritance and collaboration +# 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); +# versus func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. +# The default value is: NO. BUILTIN_STL_SUPPORT = NO -# If you use Microsoft's C++/CLI language, you should set this option to YES to +# If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. +# The default value is: NO. 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. +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# http://www.riverbankcomputing.co.uk/software/sip/intro) 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. +# The default value is: NO. 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 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. +# getter and setter methods for a property. Setting this option to YES 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. +# The default value is: YES. 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 +# 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. +# The default value is: NO. 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. +# Set the SUBGROUPING tag to YES 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. +# The default value is: YES. SUBGROUPING = NO -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. INLINE_GROUPED_CLASSES = NO -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. INLINE_SIMPLE_STRUCTS = 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 +# When TYPEDEF_HIDES_STRUCT tag 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. +# The default value is: NO. 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 penalty. -# 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 roughly 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 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. LOOKUP_CACHE_SIZE = 0 @@ -370,1118 +398,1504 @@ # 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 +# 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 respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. EXTRACT_ALL = NO -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will +# be included in the documentation. +# The default value is: NO. EXTRACT_PRIVATE = NO -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal # scope will be included in the documentation. +# The default value is: NO. EXTRACT_PACKAGE = NO -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. +# If the EXTRACT_STATIC tag is set to YES all static members of a file will be +# included in the documentation. +# The default value is: NO. 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. +# 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. Does not have any effect +# for Java sources. +# The default value is: YES. 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. +# 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 only methods in the interface are +# included. +# The default value is: NO. 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 namespaces are hidden. +# 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. +# The default value is: NO. 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. +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO 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. +# The default value is: NO. 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. +# 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 these classes will be included in the various overviews. This option has +# no effect if EXTRACT_ALL is enabled. +# The default value is: NO. 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. +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO these declarations will be +# included in the documentation. +# The default value is: NO. 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. +# 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 these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. 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. +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. 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 +# 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. +# The default value is: system dependent. 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. +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES the +# scope will be hidden. +# The default value is: NO. 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. +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. SHOW_INCLUDE_FILES = NO -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. FORCE_LOCAL_INCLUDES = NO -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. 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. +# If the SORT_MEMBER_DOCS tag is set to YES 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. +# The default value is: YES. 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. +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO the members will appear in declaration order. +# The default value is: NO. 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. +# 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 constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: 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. +# 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 group names will +# appear in their defined order. +# The default value is: NO. 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. +# 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 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. +# The default value is: NO. SORT_BY_SCOPE_NAME = YES -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. STRICT_PROTO_MATCHING = NO -# 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. +# 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. +# The default value is: YES. 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. +# 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. +# The default value is: YES. 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. +# 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. +# The default value is: YES. 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. +# 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. +# The default value is: YES. GENERATE_DEPRECATEDLIST= YES -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. ENABLED_SECTIONS = -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro 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 macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have 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 value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. 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. +# 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. +# The default value is: YES. SHOW_USED_FILES = 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. +# 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 value 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. +# 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 value 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 , where is the value of -# the FILE_VERSION_FILTER tag, and 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. +# 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. For an example see the documentation. 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. To 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. +# 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. To 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. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. LAYOUT_FILE = -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. Do not use file names with spaces, bibtex cannot handle them. See +# also \cite for info how to create references. CITE_BIB_FILES = #--------------------------------------------------------------------------- -# configuration options related to warning and progress messages +# 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. +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. 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. +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. 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. +# If the WARN_IF_UNDOCUMENTED tag 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. +# The default value is: YES. 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. +# If the WARN_IF_DOC_ERROR tag 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. +# The default value is: YES. WARN_IF_DOC_ERROR = YES -# The WARN_NO_PARAMDOC option can be enabled 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. +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO doxygen will only warn about wrong or incomplete parameter +# documentation, but not about the absence of documentation. +# The default value is: NO. 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) +# 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) +# The default value is: $file:$line: $text. 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. +# 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 standard +# error (stderr). WARN_LOGFILE = #--------------------------------------------------------------------------- -# configuration options related to the input files +# 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. +# The INPUT tag is 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. +# Note: If this tag is empty the current directory is searched. INPUT = ../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. +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# possible encodings. +# The default value is: UTF-8. 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++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (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, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, +# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, +# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, +# *.qsf, *.as and *.js. FILE_PATTERNS = *.hpp \ *.doxy -# 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. +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. RECURSIVE = YES -# The EXCLUDE tag can be used to specify files and/or directories that should be -# 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. -# Note that relative paths are relative to the directory from which doxygen is +# The EXCLUDE tag can be used to specify files and/or directories that should be +# 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. +# +# Note that relative paths are relative to the directory from which doxygen is # run. EXCLUDE = -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded # from the input. +# The default value is: NO. 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/* +# 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, +# 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 +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* EXCLUDE_SYMBOLS = -# 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). +# 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. +# 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. +# 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. +# The default value is: NO. 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). +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be 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 , where -# is the value of the INPUT_FILTER tag, and 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. +# 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: +# +# +# +# where is the value of the INPUT_FILTER tag, and 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. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. 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 or if -# non of the patterns match the file name, INPUT_FILTER is applied. +# 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 information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. 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). +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER ) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. FILTER_SOURCE_FILES = NO -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. FILTER_SOURCE_PATTERNS = +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + #--------------------------------------------------------------------------- -# configuration options related to source browsing +# 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. +# 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 that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. SOURCE_BROWSER = YES -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. 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, C++ and Fortran comments will always remain visible. +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. 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. +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. 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. +# 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. +# The default value is: NO. 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. +# If the REFERENCES_LINK_SOURCE tag is set to YES 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. +# The default value is: YES. 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. +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = 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. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. 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. +# If the VERBATIM_HEADERS tag is set the YES 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. +# See also: Section \class. +# The default value is: YES. VERBATIM_HEADERS = YES +# If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the +# clang parser (see: http://clang.llvm.org/) for more acurate parsing at the +# cost of reduced performance. This can be particularly helpful with template +# rich C++ code for which doxygen's built-in parser lacks the necessary type +# information. +# Note: The availability of this option depends on whether or not doxygen was +# compiled with the --with-libclang option. +# The default value is: NO. + +CLANG_ASSISTED_PARSING = NO + +# If clang assisted parsing is enabled you can provide the compiler with command +# line options that you would normally use when invoking the compiler. Note that +# the include paths will already be set by doxygen for the files and directories +# specified with INPUT and INCLUDE_PATH. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_OPTIONS = + #--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index +# 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. +# 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. +# The default value is: YES. 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]) +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. 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. +# 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 a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = #--------------------------------------------------------------------------- -# configuration options related to the HTML output +# Configuration options related to the HTML output #--------------------------------------------------------------------------- -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. +# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output +# The default value is: YES. 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. +# 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. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. 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. +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. 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. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. 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. +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. 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 left blank doxygen will -# generate a default style sheet. Note that it is recommended to use -# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this -# tag will in the future become obsolete. +# 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 left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_STYLESHEET = -# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional -# user-defined cascading style sheet that is included after the standard -# style sheets created by doxygen. Using this option one can overrule -# certain style aspects. This is preferred over using HTML_STYLESHEET -# since it does not replace the standard style sheet and is therefor more -# robust against future updates. Doxygen will copy the style sheet file to -# the output directory. +# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user- +# defined cascading style sheet that is included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefor more robust against future updates. +# Doxygen will copy the style sheet file to the output directory. For an example +# see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_FILES = -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the stylesheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_HUE = 220 -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_SAT = 100 -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_GAMMA = 80 -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to NO can help when comparing the output of multiple runs. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_TIMESTAMP = NO -# 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 +# 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. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_SECTIONS = NO -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of -# entries shown in the various tree structured indices initially; the user -# can expand and collapse entries dynamically later on. Doxygen will expand -# the tree to such a level that at most the specified number of entries are -# visible (unless a fully collapsed tree already exceeds this amount). -# So setting the number of entries 1 will produce a full collapsed tree by -# default. 0 is a special value representing an infinite number of entries -# and will result in a full expanded tree by default. +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_INDEX_NUM_ENTRIES = 100 -# 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 +# 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 (see: http://developer.apple.com/tools/xcode/), 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. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. 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. +# This tag determines the name of the docset 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. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. 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. +# 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. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_BUNDLE_ID = org.doxygen.Project -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely -# identify the documentation publisher. This should be a reverse domain-name -# style string, e.g. com.mycompany.MyDocSet.documentation. +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_ID = org.doxygen.Publisher -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_NAME = Publisher -# 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. +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_HTMLHELP = NO -# 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 +# 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. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. 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. +# 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. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. 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). +# 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). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. 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. +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. 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. +# 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. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. 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. +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. 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. +# 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. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. 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. +# 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. +# This tag requires that the tag GENERATE_QHP is set to YES. 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 +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. QHP_NAMESPACE = org.doxygen.Project -# 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 +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. 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 +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. 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 -# -# Qt Help Project / Custom Filters. +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. 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. +# 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. +# This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_ECLIPSEHELP = NO -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. ECLIPSE_DOC_ID = org.doxygen.Project -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. DISABLE_INDEX = NO -# 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. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. +# 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. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = NO -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. ENUM_VALUES_PER_LINE = 4 -# 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. +# 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. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. TREEVIEW_WIDTH = 250 -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO -# 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. +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. 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. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_TRANSPARENT = YES -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you may also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using prerendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. USE_MATHJAX = NO -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to -# the MathJax Content Delivery Network so you can quickly see the result without -# installing MathJax. However, it is strongly recommended to install a local -# copy of MathJax from http://www.mathjax.org before deployment. +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from http://www.mathjax.org before deployment. +# The default value is: http://cdn.mathjax.org/mathjax/latest. +# This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://www.mathjax.org/mathjax -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = -# When the SEARCHENGINE tag is enabled 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), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled 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), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use + S +# (what the is depends on the OS and browser, but it is typically +# , /