mirror of
https://github.com/g-truc/glm.git
synced 2024-11-23 01:14:34 +00:00
Fixed merge
This commit is contained in:
commit
b5607d0018
@ -167,7 +167,7 @@
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  _swizzle_base2& operator= (<span class="keyword">const</span> VecType& that)</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">struct </span>op { </div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordtype">void</span> operator() (value_type& <a class="code" href="a00145.html#ga1cebaa574cc7c9018ccefbde3f174db5" title="Return e constant.">e</a>, value_type& t) { e = t; } </div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordtype">void</span> operator() (value_type& <a class="code" href="a00145.html#ga3220d28f6664e2091ae72f57fea57423" title="Return e constant.">e</a>, value_type& t) { e = t; } </div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  };</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  _apply_op(that, op());</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||
@ -176,7 +176,7 @@
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordtype">void</span> operator -= (<span class="keyword">const</span> VecType& that)</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  {</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keyword">struct </span>op { </div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordtype">void</span> operator() (value_type& <a class="code" href="a00145.html#ga1cebaa574cc7c9018ccefbde3f174db5" title="Return e constant.">e</a>, value_type& t) { e -= t; } </div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordtype">void</span> operator() (value_type& <a class="code" href="a00145.html#ga3220d28f6664e2091ae72f57fea57423" title="Return e constant.">e</a>, value_type& t) { e -= t; } </div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  };</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  _apply_op(that, op());</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  }</div>
|
||||
@ -184,7 +184,7 @@
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">void</span> operator += (<span class="keyword">const</span> VecType& that)</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  {</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">struct </span>op { </div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordtype">void</span> operator() (value_type& <a class="code" href="a00145.html#ga1cebaa574cc7c9018ccefbde3f174db5" title="Return e constant.">e</a>, value_type& t) { e += t; } </div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordtype">void</span> operator() (value_type& <a class="code" href="a00145.html#ga3220d28f6664e2091ae72f57fea57423" title="Return e constant.">e</a>, value_type& t) { e += t; } </div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  };</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  _apply_op(that, op());</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  }</div>
|
||||
@ -192,7 +192,7 @@
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordtype">void</span> operator *= (<span class="keyword">const</span> VecType& that)</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  {</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keyword">struct </span>op { </div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">void</span> operator() (value_type& <a class="code" href="a00145.html#ga1cebaa574cc7c9018ccefbde3f174db5" title="Return e constant.">e</a>, value_type& t) { e *= t; } </div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">void</span> operator() (value_type& <a class="code" href="a00145.html#ga3220d28f6664e2091ae72f57fea57423" title="Return e constant.">e</a>, value_type& t) { e *= t; } </div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  };</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  _apply_op(that, op());</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div>
|
||||
@ -200,7 +200,7 @@
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordtype">void</span> operator /= (<span class="keyword">const</span> VecType& that)</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  {</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keyword">struct </span>op { </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">void</span> operator() (value_type& <a class="code" href="a00145.html#ga1cebaa574cc7c9018ccefbde3f174db5" title="Return e constant.">e</a>, value_type& t) { e /= t; } </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">void</span> operator() (value_type& <a class="code" href="a00145.html#ga3220d28f6664e2091ae72f57fea57423" title="Return e constant.">e</a>, value_type& t) { e /= t; } </div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  };</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  _apply_op(that, op());</div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div>
|
||||
|
@ -366,10 +366,9 @@ template<typename T > </td></tr>
|
||||
<tr class="memitem:ga71c18fe8bc1e69c2b3c11feb13cf6695"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER <br class="typebreak"/>
|
||||
detail::tvec4< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00166.html#ga71c18fe8bc1e69c2b3c11feb13cf6695">saturate</a> (const detail::tvec4< T > &x)</td></tr>
|
||||
<tr class="separator:ga71c18fe8bc1e69c2b3c11feb13cf6695"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa299989529dc364bf823ed340f92d1d0"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaa299989529dc364bf823ed340f92d1d0"></a>
|
||||
template<typename T > </td></tr>
|
||||
<tr class="memitem:gaa299989529dc364bf823ed340f92d1d0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00166.html#gaa299989529dc364bf823ed340f92d1d0">slerp</a> (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)</td></tr>
|
||||
<tr class="separator:gaa299989529dc364bf823ed340f92d1d0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4acb60c1b472fc6cb5322a63ca1cf9a4"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga4acb60c1b472fc6cb5322a63ca1cf9a4"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga4acb60c1b472fc6cb5322a63ca1cf9a4">slerp</a> (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)</td></tr>
|
||||
<tr class="separator:ga4acb60c1b472fc6cb5322a63ca1cf9a4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
|
||||
|
@ -107,15 +107,15 @@
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">namespace </span>glm</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> {</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="a00166.html#ga5494ba3a95ea6594c86fc75236886864"> 65</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER T <a class="code" href="a00166.html#ga5494ba3a95ea6594c86fc75236886864" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(T x, T y, T a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="a00166.html#ga27390ee6e4797335f0a751e021038a41"> 66</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec2<T> <a class="code" href="a00166.html#ga5494ba3a95ea6594c86fc75236886864" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(<span class="keyword">const</span> detail::tvec2<T>& x, <span class="keyword">const</span> detail::tvec2<T>& y, T a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="a00166.html#gaf2ca5584fe9c3a2e5e5b12bbfcecfe38"> 67</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec3<T> <a class="code" href="a00166.html#ga5494ba3a95ea6594c86fc75236886864" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(<span class="keyword">const</span> detail::tvec3<T>& x, <span class="keyword">const</span> detail::tvec3<T>& y, T a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="a00166.html#gae3cac5586d127568383d7df9d258a443"> 68</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec4<T> <a class="code" href="a00166.html#ga5494ba3a95ea6594c86fc75236886864" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(<span class="keyword">const</span> detail::tvec4<T>& x, <span class="keyword">const</span> detail::tvec4<T>& y, T a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="a00166.html#ga535230f9887c77a056e535c3c7cf741c"> 69</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec2<T> <a class="code" href="a00166.html#ga5494ba3a95ea6594c86fc75236886864" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(<span class="keyword">const</span> detail::tvec2<T>& x, <span class="keyword">const</span> detail::tvec2<T>& y, <span class="keyword">const</span> detail::tvec2<T>& a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="a00166.html#ga9e840980e570e588d18793ecfe152bc4"> 70</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec3<T> <a class="code" href="a00166.html#ga5494ba3a95ea6594c86fc75236886864" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(<span class="keyword">const</span> detail::tvec3<T>& x, <span class="keyword">const</span> detail::tvec3<T>& y, <span class="keyword">const</span> detail::tvec3<T>& a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="a00166.html#ga4f8591445ad6b900b0456dc2d01f8ee4"> 71</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec4<T> <a class="code" href="a00166.html#ga5494ba3a95ea6594c86fc75236886864" title="Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a...">lerp</a>(<span class="keyword">const</span> detail::tvec4<T>& x, <span class="keyword">const</span> detail::tvec4<T>& y, <span class="keyword">const</span> detail::tvec4<T>& a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="a00166.html#ga5494ba3a95ea6594c86fc75236886864"> 65</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER T <a class="code" href="a00153.html#ga91c6605e46a8c70c8e25bbc0f41da181" title="Linear interpolation of two quaternions.">lerp</a>(T x, T y, T a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="a00166.html#ga27390ee6e4797335f0a751e021038a41"> 66</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec2<T> <a class="code" href="a00153.html#ga91c6605e46a8c70c8e25bbc0f41da181" title="Linear interpolation of two quaternions.">lerp</a>(<span class="keyword">const</span> detail::tvec2<T>& x, <span class="keyword">const</span> detail::tvec2<T>& y, T a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="a00166.html#gaf2ca5584fe9c3a2e5e5b12bbfcecfe38"> 67</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec3<T> <a class="code" href="a00153.html#ga91c6605e46a8c70c8e25bbc0f41da181" title="Linear interpolation of two quaternions.">lerp</a>(<span class="keyword">const</span> detail::tvec3<T>& x, <span class="keyword">const</span> detail::tvec3<T>& y, T a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="a00166.html#gae3cac5586d127568383d7df9d258a443"> 68</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec4<T> <a class="code" href="a00153.html#ga91c6605e46a8c70c8e25bbc0f41da181" title="Linear interpolation of two quaternions.">lerp</a>(<span class="keyword">const</span> detail::tvec4<T>& x, <span class="keyword">const</span> detail::tvec4<T>& y, T a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="a00166.html#ga535230f9887c77a056e535c3c7cf741c"> 69</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec2<T> <a class="code" href="a00153.html#ga91c6605e46a8c70c8e25bbc0f41da181" title="Linear interpolation of two quaternions.">lerp</a>(<span class="keyword">const</span> detail::tvec2<T>& x, <span class="keyword">const</span> detail::tvec2<T>& y, <span class="keyword">const</span> detail::tvec2<T>& a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="a00166.html#ga9e840980e570e588d18793ecfe152bc4"> 70</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec3<T> <a class="code" href="a00153.html#ga91c6605e46a8c70c8e25bbc0f41da181" title="Linear interpolation of two quaternions.">lerp</a>(<span class="keyword">const</span> detail::tvec3<T>& x, <span class="keyword">const</span> detail::tvec3<T>& y, <span class="keyword">const</span> detail::tvec3<T>& a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="a00166.html#ga4f8591445ad6b900b0456dc2d01f8ee4"> 71</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec4<T> <a class="code" href="a00153.html#ga91c6605e46a8c70c8e25bbc0f41da181" title="Linear interpolation of two quaternions.">lerp</a>(<span class="keyword">const</span> detail::tvec4<T>& x, <span class="keyword">const</span> detail::tvec4<T>& y, <span class="keyword">const</span> detail::tvec4<T>& a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="a00166.html#gaa299989529dc364bf823ed340f92d1d0"> 73</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER T <a class="code" href="a00166.html#gaa299989529dc364bf823ed340f92d1d0" title="Returns the slurp interpolation between two quaternions.">slerp</a>(detail::tquat<T> <span class="keyword">const</span> & x, detail::tquat<T> <span class="keyword">const</span> & y, T <span class="keyword">const</span> & a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="a00153.html#ga4acb60c1b472fc6cb5322a63ca1cf9a4"> 73</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER T <a class="code" href="a00153.html#ga4acb60c1b472fc6cb5322a63ca1cf9a4" title="Spherical linear interpolation of two quaternions.">slerp</a>(detail::tquat<T> <span class="keyword">const</span> & x, detail::tquat<T> <span class="keyword">const</span> & y, T <span class="keyword">const</span> & a){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"><a class="code" href="a00166.html#ga744b98814a35336e25cc0d1ba30f63f7"> 75</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER T <a class="code" href="a00166.html#ga744b98814a35336e25cc0d1ba30f63f7" title="Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)">saturate</a>(T x){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga99b1ce602a02833646e5077345858da4" title="Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...">clamp</a>(x, T(0), T(1));} </div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="a00166.html#ga79ae98d7b28ae3095a653258b5aa2d9d"> 76</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER detail::tvec2<T> <a class="code" href="a00166.html#ga744b98814a35336e25cc0d1ba30f63f7" title="Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)">saturate</a>(<span class="keyword">const</span> detail::tvec2<T>& x){<span class="keywordflow">return</span> <a class="code" href="a00129.html#ga99b1ce602a02833646e5077345858da4" title="Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...">clamp</a>(x, T(0), T(1));} </div>
|
||||
|
@ -52,81 +52,81 @@
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga1cebaa574cc7c9018ccefbde3f174db5"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga1cebaa574cc7c9018ccefbde3f174db5"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga1cebaa574cc7c9018ccefbde3f174db5">e</a> ()</td></tr>
|
||||
<tr class="separator:ga1cebaa574cc7c9018ccefbde3f174db5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2b53267cfa3c8aa96c02cdba04c53ef5"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga2b53267cfa3c8aa96c02cdba04c53ef5"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5">epsilon</a> ()</td></tr>
|
||||
<tr class="separator:ga2b53267cfa3c8aa96c02cdba04c53ef5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaed1d93869801afa40958ffa062dde245"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gaed1d93869801afa40958ffa062dde245"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaed1d93869801afa40958ffa062dde245">euler</a> ()</td></tr>
|
||||
<tr class="separator:gaed1d93869801afa40958ffa062dde245"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga14e6ecb0a19dbbfcf6cd48cb536cbd61"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga14e6ecb0a19dbbfcf6cd48cb536cbd61"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga14e6ecb0a19dbbfcf6cd48cb536cbd61">golden_ratio</a> ()</td></tr>
|
||||
<tr class="separator:ga14e6ecb0a19dbbfcf6cd48cb536cbd61"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8a72b0fbaa530016ccdfd28529cda87d"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga8a72b0fbaa530016ccdfd28529cda87d"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga8a72b0fbaa530016ccdfd28529cda87d">half_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga8a72b0fbaa530016ccdfd28529cda87d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga554ba051aa168c8e19072f2b1ebf1ef8"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga554ba051aa168c8e19072f2b1ebf1ef8"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga554ba051aa168c8e19072f2b1ebf1ef8">ln_ln_two</a> ()</td></tr>
|
||||
<tr class="separator:ga554ba051aa168c8e19072f2b1ebf1ef8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga43d82c8d42443486d20ccc17ec797770"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga43d82c8d42443486d20ccc17ec797770"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga43d82c8d42443486d20ccc17ec797770">ln_ten</a> ()</td></tr>
|
||||
<tr class="separator:ga43d82c8d42443486d20ccc17ec797770"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac2f30635c140a0e753d3eb26f63446dd"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gac2f30635c140a0e753d3eb26f63446dd"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gac2f30635c140a0e753d3eb26f63446dd">ln_two</a> ()</td></tr>
|
||||
<tr class="separator:gac2f30635c140a0e753d3eb26f63446dd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4b7505757b062b9f689d618e5790ce0a"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga4b7505757b062b9f689d618e5790ce0a"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga4b7505757b062b9f689d618e5790ce0a">one</a> ()</td></tr>
|
||||
<tr class="separator:ga4b7505757b062b9f689d618e5790ce0a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga0d476bfe1e72071895ece4c4b9e78a47"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga0d476bfe1e72071895ece4c4b9e78a47"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga0d476bfe1e72071895ece4c4b9e78a47">one_over_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga0d476bfe1e72071895ece4c4b9e78a47"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga109c0c04ce9f7912254bb52800d22344"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga109c0c04ce9f7912254bb52800d22344"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga109c0c04ce9f7912254bb52800d22344">one_over_root_two</a> ()</td></tr>
|
||||
<tr class="separator:ga109c0c04ce9f7912254bb52800d22344"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga12be4efe2470ebe86e7163aefe4a545e"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga12be4efe2470ebe86e7163aefe4a545e"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga12be4efe2470ebe86e7163aefe4a545e">pi</a> ()</td></tr>
|
||||
<tr class="separator:ga12be4efe2470ebe86e7163aefe4a545e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gacf1caeb147205714372a562a15b140f8"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gacf1caeb147205714372a562a15b140f8"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gacf1caeb147205714372a562a15b140f8">quarter_pi</a> ()</td></tr>
|
||||
<tr class="separator:gacf1caeb147205714372a562a15b140f8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaafa225f0ab07202dd270d6537a5e1df8"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gaafa225f0ab07202dd270d6537a5e1df8"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaafa225f0ab07202dd270d6537a5e1df8">root_five</a> ()</td></tr>
|
||||
<tr class="separator:gaafa225f0ab07202dd270d6537a5e1df8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad0cd42ca5c54d9896654b3048a4ef0d7"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gad0cd42ca5c54d9896654b3048a4ef0d7"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gad0cd42ca5c54d9896654b3048a4ef0d7">root_half_pi</a> ()</td></tr>
|
||||
<tr class="separator:gad0cd42ca5c54d9896654b3048a4ef0d7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gacce3e8846a876b339812dd7279b3d929"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gacce3e8846a876b339812dd7279b3d929"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gacce3e8846a876b339812dd7279b3d929">root_ln_four</a> ()</td></tr>
|
||||
<tr class="separator:gacce3e8846a876b339812dd7279b3d929"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab330534be451fd5267622fb3fd246c3d"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gab330534be451fd5267622fb3fd246c3d"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gab330534be451fd5267622fb3fd246c3d">root_pi</a> ()</td></tr>
|
||||
<tr class="separator:gab330534be451fd5267622fb3fd246c3d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf3f205c738a519ec082dd8a67968549c"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gaf3f205c738a519ec082dd8a67968549c"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaf3f205c738a519ec082dd8a67968549c">root_three</a> ()</td></tr>
|
||||
<tr class="separator:gaf3f205c738a519ec082dd8a67968549c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga84cde9a5f5c5528a2846ab43a62f3fd0"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga84cde9a5f5c5528a2846ab43a62f3fd0"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga84cde9a5f5c5528a2846ab43a62f3fd0">root_two</a> ()</td></tr>
|
||||
<tr class="separator:ga84cde9a5f5c5528a2846ab43a62f3fd0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga388e713e3a29840079d2dd1128f46166"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga388e713e3a29840079d2dd1128f46166"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga388e713e3a29840079d2dd1128f46166">root_two_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga388e713e3a29840079d2dd1128f46166"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4a604b1a984d351232d966e9b8fed54e"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga4a604b1a984d351232d966e9b8fed54e"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga4a604b1a984d351232d966e9b8fed54e">third</a> ()</td></tr>
|
||||
<tr class="separator:ga4a604b1a984d351232d966e9b8fed54e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga579959e61ef879efbe7e8646b2d9c222"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga579959e61ef879efbe7e8646b2d9c222"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga579959e61ef879efbe7e8646b2d9c222">two_over_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga579959e61ef879efbe7e8646b2d9c222"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga31940e5cdb5cb1d8852548db573d43f9"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga31940e5cdb5cb1d8852548db573d43f9"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga31940e5cdb5cb1d8852548db573d43f9">two_over_root_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga31940e5cdb5cb1d8852548db573d43f9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga284e20e3e55ffbd5b19d16054bbe2098"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga284e20e3e55ffbd5b19d16054bbe2098"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga284e20e3e55ffbd5b19d16054bbe2098">two_thirds</a> ()</td></tr>
|
||||
<tr class="separator:ga284e20e3e55ffbd5b19d16054bbe2098"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga1ece9de415050c52a6e2aa5d70a20972"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga1ece9de415050c52a6e2aa5d70a20972"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga1ece9de415050c52a6e2aa5d70a20972">zero</a> ()</td></tr>
|
||||
<tr class="separator:ga1ece9de415050c52a6e2aa5d70a20972"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3220d28f6664e2091ae72f57fea57423"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga3220d28f6664e2091ae72f57fea57423"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga3220d28f6664e2091ae72f57fea57423">e</a> ()</td></tr>
|
||||
<tr class="separator:ga3220d28f6664e2091ae72f57fea57423"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf38c4ec0213885e6692f206fe1408c71"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf38c4ec0213885e6692f206fe1408c71"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71">epsilon</a> ()</td></tr>
|
||||
<tr class="separator:gaf38c4ec0213885e6692f206fe1408c71"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaeaac224b44a4e642a84f5133c6ce7d81"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaeaac224b44a4e642a84f5133c6ce7d81"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaeaac224b44a4e642a84f5133c6ce7d81">euler</a> ()</td></tr>
|
||||
<tr class="separator:gaeaac224b44a4e642a84f5133c6ce7d81"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3ea4aa61e3c5cc8349cac68c769c28e7"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga3ea4aa61e3c5cc8349cac68c769c28e7"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga3ea4aa61e3c5cc8349cac68c769c28e7">golden_ratio</a> ()</td></tr>
|
||||
<tr class="separator:ga3ea4aa61e3c5cc8349cac68c769c28e7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa8f9279b31aaa28cfea2b3fdbb71334f"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaa8f9279b31aaa28cfea2b3fdbb71334f"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaa8f9279b31aaa28cfea2b3fdbb71334f">half_pi</a> ()</td></tr>
|
||||
<tr class="separator:gaa8f9279b31aaa28cfea2b3fdbb71334f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf592c9de9c5376ce741589804a9ab52e"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf592c9de9c5376ce741589804a9ab52e"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaf592c9de9c5376ce741589804a9ab52e">ln_ln_two</a> ()</td></tr>
|
||||
<tr class="separator:gaf592c9de9c5376ce741589804a9ab52e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga05fc32d108a5065b3e6a61bdb6fcd2ee"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga05fc32d108a5065b3e6a61bdb6fcd2ee"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga05fc32d108a5065b3e6a61bdb6fcd2ee">ln_ten</a> ()</td></tr>
|
||||
<tr class="separator:ga05fc32d108a5065b3e6a61bdb6fcd2ee"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gabf8770f9b8cd9fb89feb7b707f3c339e"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gabf8770f9b8cd9fb89feb7b707f3c339e"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gabf8770f9b8cd9fb89feb7b707f3c339e">ln_two</a> ()</td></tr>
|
||||
<tr class="separator:gabf8770f9b8cd9fb89feb7b707f3c339e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga48eaf4ba6e62b66222b8f3e2e57f25ab"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga48eaf4ba6e62b66222b8f3e2e57f25ab"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga48eaf4ba6e62b66222b8f3e2e57f25ab">one</a> ()</td></tr>
|
||||
<tr class="separator:ga48eaf4ba6e62b66222b8f3e2e57f25ab"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga300238bac966e9f3253e95c0f58a254c"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga300238bac966e9f3253e95c0f58a254c"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga300238bac966e9f3253e95c0f58a254c">one_over_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga300238bac966e9f3253e95c0f58a254c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad95674cac90ae7cac519194770eb6160"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gad95674cac90ae7cac519194770eb6160"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gad95674cac90ae7cac519194770eb6160">one_over_root_two</a> ()</td></tr>
|
||||
<tr class="separator:gad95674cac90ae7cac519194770eb6160"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae599a18ebccedb61f28cb9735bf4b025"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gae599a18ebccedb61f28cb9735bf4b025"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gae599a18ebccedb61f28cb9735bf4b025">pi</a> ()</td></tr>
|
||||
<tr class="separator:gae599a18ebccedb61f28cb9735bf4b025"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf3ca5c09673ab3cdfc16a34e176803e0"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf3ca5c09673ab3cdfc16a34e176803e0"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaf3ca5c09673ab3cdfc16a34e176803e0">quarter_pi</a> ()</td></tr>
|
||||
<tr class="separator:gaf3ca5c09673ab3cdfc16a34e176803e0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaed74221e982333922018431aa12cda62"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaed74221e982333922018431aa12cda62"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaed74221e982333922018431aa12cda62">root_five</a> ()</td></tr>
|
||||
<tr class="separator:gaed74221e982333922018431aa12cda62"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8106d6cc821f8c4f32179e8eaff393a1"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga8106d6cc821f8c4f32179e8eaff393a1"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga8106d6cc821f8c4f32179e8eaff393a1">root_half_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga8106d6cc821f8c4f32179e8eaff393a1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac55c459d0861b77990e8719f6f4a1e92"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gac55c459d0861b77990e8719f6f4a1e92"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gac55c459d0861b77990e8719f6f4a1e92">root_ln_four</a> ()</td></tr>
|
||||
<tr class="separator:gac55c459d0861b77990e8719f6f4a1e92"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf1497714576b7a7f7151175da6b115e4"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf1497714576b7a7f7151175da6b115e4"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaf1497714576b7a7f7151175da6b115e4">root_pi</a> ()</td></tr>
|
||||
<tr class="separator:gaf1497714576b7a7f7151175da6b115e4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac6ee81ef34c2db2019290d7d48daf863"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gac6ee81ef34c2db2019290d7d48daf863"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gac6ee81ef34c2db2019290d7d48daf863">root_three</a> ()</td></tr>
|
||||
<tr class="separator:gac6ee81ef34c2db2019290d7d48daf863"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga76136e4e8892c80e969f4ff2a7e73faa"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga76136e4e8892c80e969f4ff2a7e73faa"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga76136e4e8892c80e969f4ff2a7e73faa">root_two</a> ()</td></tr>
|
||||
<tr class="separator:ga76136e4e8892c80e969f4ff2a7e73faa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga32406e517269a1da0c2dac765add955f"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga32406e517269a1da0c2dac765add955f"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga32406e517269a1da0c2dac765add955f">root_two_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga32406e517269a1da0c2dac765add955f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf952fb46d03a8bf5dd79a1ab00b24b77"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf952fb46d03a8bf5dd79a1ab00b24b77"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaf952fb46d03a8bf5dd79a1ab00b24b77">third</a> ()</td></tr>
|
||||
<tr class="separator:gaf952fb46d03a8bf5dd79a1ab00b24b77"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae7f52a30ed8a645849e94f350823e0d0"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gae7f52a30ed8a645849e94f350823e0d0"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gae7f52a30ed8a645849e94f350823e0d0">two_over_pi</a> ()</td></tr>
|
||||
<tr class="separator:gae7f52a30ed8a645849e94f350823e0d0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gadbf34253039f3d5d27d5fcf7e591b3ab"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gadbf34253039f3d5d27d5fcf7e591b3ab"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gadbf34253039f3d5d27d5fcf7e591b3ab">two_over_root_pi</a> ()</td></tr>
|
||||
<tr class="separator:gadbf34253039f3d5d27d5fcf7e591b3ab"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7127480e917d0a6016a435b1e8d67176"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga7127480e917d0a6016a435b1e8d67176"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga7127480e917d0a6016a435b1e8d67176">two_thirds</a> ()</td></tr>
|
||||
<tr class="separator:ga7127480e917d0a6016a435b1e8d67176"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab76ba72430dc7c11be15a2895e7e61f9"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gab76ba72430dc7c11be15a2895e7e61f9"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gab76ba72430dc7c11be15a2895e7e61f9">zero</a> ()</td></tr>
|
||||
<tr class="separator:gab76ba72430dc7c11be15a2895e7e61f9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
|
||||
|
@ -97,80 +97,80 @@
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">namespace </span>glm</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a>();</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  genType <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a>();</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga1ece9de415050c52a6e2aa5d70a20972" title="Return 0.">zero</a>();</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  genType <a class="code" href="a00145.html#gab76ba72430dc7c11be15a2895e7e61f9" title="Return 0.">zero</a>();</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga4b7505757b062b9f689d618e5790ce0a" title="Return 1.">one</a>();</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  genType <a class="code" href="a00145.html#ga48eaf4ba6e62b66222b8f3e2e57f25ab" title="Return 1.">one</a>();</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga12be4efe2470ebe86e7163aefe4a545e" title="Return the pi constant.">pi</a>();</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  genType <a class="code" href="a00145.html#gae599a18ebccedb61f28cb9735bf4b025" title="Return the pi constant.">pi</a>();</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#gab330534be451fd5267622fb3fd246c3d" title="Return square root of pi.">root_pi</a>();</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  genType <a class="code" href="a00145.html#gaf1497714576b7a7f7151175da6b115e4" title="Return square root of pi.">root_pi</a>();</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga8a72b0fbaa530016ccdfd28529cda87d" title="Return pi / 2.">half_pi</a>();</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  genType <a class="code" href="a00145.html#gaa8f9279b31aaa28cfea2b3fdbb71334f" title="Return pi / 2.">half_pi</a>();</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#gacf1caeb147205714372a562a15b140f8" title="Return pi / 4.">quarter_pi</a>();</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  genType <a class="code" href="a00145.html#gaf3ca5c09673ab3cdfc16a34e176803e0" title="Return pi / 4.">quarter_pi</a>();</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga0d476bfe1e72071895ece4c4b9e78a47" title="Return 1 / pi.">one_over_pi</a>();</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  genType <a class="code" href="a00145.html#ga300238bac966e9f3253e95c0f58a254c" title="Return 1 / pi.">one_over_pi</a>();</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga579959e61ef879efbe7e8646b2d9c222" title="Return 2 / pi.">two_over_pi</a>();</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  genType <a class="code" href="a00145.html#gae7f52a30ed8a645849e94f350823e0d0" title="Return 2 / pi.">two_over_pi</a>();</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga31940e5cdb5cb1d8852548db573d43f9" title="Return 2 / sqrt(pi).">two_over_root_pi</a>();</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  genType <a class="code" href="a00145.html#gadbf34253039f3d5d27d5fcf7e591b3ab" title="Return 2 / sqrt(pi).">two_over_root_pi</a>();</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga109c0c04ce9f7912254bb52800d22344" title="Return 1 / sqrt(2).">one_over_root_two</a>();</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  genType <a class="code" href="a00145.html#gad95674cac90ae7cac519194770eb6160" title="Return 1 / sqrt(2).">one_over_root_two</a>();</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#gad0cd42ca5c54d9896654b3048a4ef0d7" title="Return sqrt(pi / 2).">root_half_pi</a>();</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  genType <a class="code" href="a00145.html#ga8106d6cc821f8c4f32179e8eaff393a1" title="Return sqrt(pi / 2).">root_half_pi</a>();</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga388e713e3a29840079d2dd1128f46166" title="Return sqrt(2 * pi).">root_two_pi</a>();</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  genType <a class="code" href="a00145.html#ga32406e517269a1da0c2dac765add955f" title="Return sqrt(2 * pi).">root_two_pi</a>();</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#gacce3e8846a876b339812dd7279b3d929" title="Return sqrt(ln(4)).">root_ln_four</a>();</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  genType <a class="code" href="a00145.html#gac55c459d0861b77990e8719f6f4a1e92" title="Return sqrt(ln(4)).">root_ln_four</a>();</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga1cebaa574cc7c9018ccefbde3f174db5" title="Return e constant.">e</a>();</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  genType <a class="code" href="a00145.html#ga3220d28f6664e2091ae72f57fea57423" title="Return e constant.">e</a>();</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#gaed1d93869801afa40958ffa062dde245" title="Return Euler's constant.">euler</a>();</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  genType <a class="code" href="a00145.html#gaeaac224b44a4e642a84f5133c6ce7d81" title="Return Euler's constant.">euler</a>();</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga84cde9a5f5c5528a2846ab43a62f3fd0" title="Return sqrt(2).">root_two</a>();</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  genType <a class="code" href="a00145.html#ga76136e4e8892c80e969f4ff2a7e73faa" title="Return sqrt(2).">root_two</a>();</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#gaf3f205c738a519ec082dd8a67968549c" title="Return sqrt(3).">root_three</a>();</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  genType <a class="code" href="a00145.html#gac6ee81ef34c2db2019290d7d48daf863" title="Return sqrt(3).">root_three</a>();</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#gaafa225f0ab07202dd270d6537a5e1df8" title="Return sqrt(5).">root_five</a>();</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  genType <a class="code" href="a00145.html#gaed74221e982333922018431aa12cda62" title="Return sqrt(5).">root_five</a>();</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#gac2f30635c140a0e753d3eb26f63446dd" title="Return ln(2).">ln_two</a>();</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  genType <a class="code" href="a00145.html#gabf8770f9b8cd9fb89feb7b707f3c339e" title="Return ln(2).">ln_two</a>();</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga43d82c8d42443486d20ccc17ec797770" title="Return ln(10).">ln_ten</a>();</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  genType <a class="code" href="a00145.html#ga05fc32d108a5065b3e6a61bdb6fcd2ee" title="Return ln(10).">ln_ten</a>();</div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga554ba051aa168c8e19072f2b1ebf1ef8" title="Return ln(ln(2)).">ln_ln_two</a>();</div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  genType <a class="code" href="a00145.html#gaf592c9de9c5376ce741589804a9ab52e" title="Return ln(ln(2)).">ln_ln_two</a>();</div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga4a604b1a984d351232d966e9b8fed54e" title="Return 1 / 3.">third</a>();</div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  genType <a class="code" href="a00145.html#gaf952fb46d03a8bf5dd79a1ab00b24b77" title="Return 1 / 3.">third</a>();</div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga284e20e3e55ffbd5b19d16054bbe2098" title="Return 2 / 3.">two_thirds</a>();</div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  genType <a class="code" href="a00145.html#ga7127480e917d0a6016a435b1e8d67176" title="Return 2 / 3.">two_thirds</a>();</div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  GLM_CONSTEXPR T <a class="code" href="a00145.html#ga14e6ecb0a19dbbfcf6cd48cb536cbd61" title="Return the golden ratio constant.">golden_ratio</a>();</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  genType <a class="code" href="a00145.html#ga3ea4aa61e3c5cc8349cac68c769c28e7" title="Return the golden ratio constant.">golden_ratio</a>();</div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> } <span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
|
||||
|
@ -100,28 +100,28 @@
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> {</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">typename</span> genType::boolType <a class="code" href="a00146.html#gaad4e444823c0751ab1a90993d37be4c2" title="Returns the component-wise compare of |x - y| < epsilon.">epsilonEqual</a>(</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  genType <span class="keyword">const</span> & x,</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  genType <span class="keyword">const</span> & y,</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a>);</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">typename</span> genType::boolType <a class="code" href="a00146.html#gaad4e444823c0751ab1a90993d37be4c2" title="Returns the component-wise compare of |x - y| < epsilon.">epsilonEqual</a>(</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  genType <span class="keyword">const</span> & x,</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  genType <span class="keyword">const</span> & y,</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a>);</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType> </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">typename</span> genType::boolType <a class="code" href="a00146.html#gaad4e444823c0751ab1a90993d37be4c2" title="Returns the component-wise compare of |x - y| < epsilon.">epsilonEqual</a>(</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  genType <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  genType <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  genType <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a>);</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  genType <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a>);</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keyword">typename</span> genType::boolType <a class="code" href="a00146.html#ga71753a95d99c01418eb74ef87638aa2f" title="Returns the component-wise compare of |x - y| < epsilon.">epsilonNotEqual</a>(</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  genType <span class="keyword">const</span> & x,</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  genType <span class="keyword">const</span> & y,</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a>);</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  </div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keyword">typename</span> genType::boolType <a class="code" href="a00146.html#ga71753a95d99c01418eb74ef87638aa2f" title="Returns the component-wise compare of |x - y| < epsilon.">epsilonNotEqual</a>(</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  genType <span class="keyword">const</span> & x,</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  genType <span class="keyword">const</span> & y,</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a>);</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">typename</span> genType::boolType <a class="code" href="a00146.html#ga71753a95d99c01418eb74ef87638aa2f" title="Returns the component-wise compare of |x - y| < epsilon.">epsilonNotEqual</a>(</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  genType <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  genType <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  genType <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a>);</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  genType <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a>);</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||
|
@ -141,15 +141,15 @@
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  detail::tmat4x4<valType> <a class="code" href="a00168.html#gab2c29b80a86caa83f6b550de31e6889f" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).">eulerAngleYXZ</a>(</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  valType <span class="keyword">const</span> & <a class="code" href="a00198.html#gaac012c1a6bc37ce07a87745d9c596eed" title="Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees othe...">yaw</a>, </div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  valType <span class="keyword">const</span> & <a class="code" href="a00198.html#gaf2a0323dbf6c6fb3f37b445aa899c1c7" title="Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees ot...">pitch</a>, </div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  valType <span class="keyword">const</span> & <a class="code" href="a00198.html#ga7ef4c8c1ce1ca988add2f73392db0a06" title="Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees oth...">roll</a>);</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  valType <span class="keyword">const</span> & <a class="code" href="a00153.html#gaac012c1a6bc37ce07a87745d9c596eed" title="Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees othe...">yaw</a>, </div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  valType <span class="keyword">const</span> & <a class="code" href="a00153.html#gaf2a0323dbf6c6fb3f37b445aa899c1c7" title="Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees ot...">pitch</a>, </div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  valType <span class="keyword">const</span> & <a class="code" href="a00153.html#ga7ef4c8c1ce1ca988add2f73392db0a06" title="Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees oth...">roll</a>);</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  detail::tmat4x4<valType> <a class="code" href="a00168.html#ga4c297724e663cb77cc2cf7e4ab89b77e" title="Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).">yawPitchRoll</a>(</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  valType <span class="keyword">const</span> & <a class="code" href="a00198.html#gaac012c1a6bc37ce07a87745d9c596eed" title="Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees othe...">yaw</a>, </div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  valType <span class="keyword">const</span> & <a class="code" href="a00198.html#gaf2a0323dbf6c6fb3f37b445aa899c1c7" title="Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees ot...">pitch</a>, </div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  valType <span class="keyword">const</span> & <a class="code" href="a00198.html#ga7ef4c8c1ce1ca988add2f73392db0a06" title="Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees oth...">roll</a>);</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  valType <span class="keyword">const</span> & <a class="code" href="a00153.html#gaac012c1a6bc37ce07a87745d9c596eed" title="Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees othe...">yaw</a>, </div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  valType <span class="keyword">const</span> & <a class="code" href="a00153.html#gaf2a0323dbf6c6fb3f37b445aa899c1c7" title="Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees ot...">pitch</a>, </div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  valType <span class="keyword">const</span> & <a class="code" href="a00153.html#ga7ef4c8c1ce1ca988add2f73392db0a06" title="Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees oth...">roll</a>);</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  detail::tmat2x2<T> <a class="code" href="a00168.html#ga381a4208b916cabe7244b1b77b0ea6c2" title="Creates a 2D 2 * 2 rotation matrix from an euler angle.">orientate2</a>(T <span class="keyword">const</span> & <a class="code" href="a00153.html#ga69041d18bd8539fe82d6170932d28362" title="Returns the quaternion rotation angle.">angle</a>);</div>
|
||||
|
@ -99,7 +99,7 @@
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  genType <span class="keyword">const</span> & m, </div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordtype">int</span> index);</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType> </div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType> </div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  genType <a class="code" href="a00148.html#ga7e90918d2599dfcce7cffdde61e0ecb4" title="Get a specific row of a matrix.">row</a>(</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  genType <span class="keyword">const</span> & m, </div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordtype">int</span> index, </div>
|
||||
|
@ -101,42 +101,42 @@
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordtype">bool</span> <a class="code" href="a00185.html#ga522ba657c5bf6a022c49b5717f2b600c" title="Return whether a matrix a null matrix.">isNull</a>(</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  detail::tmat2x2<T> <span class="keyword">const</span> & m, </div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  T <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<T>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  T <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<T>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">bool</span> <a class="code" href="a00185.html#ga522ba657c5bf6a022c49b5717f2b600c" title="Return whether a matrix a null matrix.">isNull</a>(</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  detail::tmat3x3<T> <span class="keyword">const</span> & m, </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  T <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<T>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  T <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<T>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  </div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordtype">bool</span> <a class="code" href="a00185.html#ga522ba657c5bf6a022c49b5717f2b600c" title="Return whether a matrix a null matrix.">isNull</a>(</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  detail::tmat4x4<T> <span class="keyword">const</span> & m, </div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  T <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<T>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  T <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<T>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  </div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType> </div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordtype">bool</span> <a class="code" href="a00185.html#ga5a899dff905871886d6f31517bd1fe30" title="Return whether a matrix is an identity matrix.">isIdentity</a>(</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  genType <span class="keyword">const</span> & m, </div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">template</span><<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordtype">bool</span> <a class="code" href="a00185.html#ga4db0eb631e14d23d597b93b80e324c5d" title="Return whether a matrix is a normalized matrix.">isNormalized</a>(</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  detail::tmat2x2<valType> <span class="keyword">const</span> & m, </div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<valType>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<valType>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">template</span><<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordtype">bool</span> <a class="code" href="a00185.html#ga4db0eb631e14d23d597b93b80e324c5d" title="Return whether a matrix is a normalized matrix.">isNormalized</a>(</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  detail::tmat3x3<valType> <span class="keyword">const</span> & m, </div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<valType>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<valType>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">template</span><<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordtype">bool</span> <a class="code" href="a00185.html#ga4db0eb631e14d23d597b93b80e324c5d" title="Return whether a matrix is a normalized matrix.">isNormalized</a>(</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  detail::tmat4x4<valType> <span class="keyword">const</span> & m, </div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<valType>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<valType>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">template</span><<span class="keyword">typename</span> valType, <span class="keyword">template</span> <<span class="keyword">typename</span>> <span class="keyword">class </span>matType> </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordtype">bool</span> <a class="code" href="a00185.html#gac8a4309441e4f7a83efb978d58b03248" title="Return whether a matrix is an orthonormalized matrix.">isOrthogonal</a>(</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  matType<valType> <span class="keyword">const</span> & m, </div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<genType>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<genType>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
|
@ -100,6 +100,9 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:ga60d5647f87c2c423497d0f3bf8c407b8"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga60d5647f87c2c423497d0f3bf8c407b8"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga60d5647f87c2c423497d0f3bf8c407b8">length</a> (detail::tquat< T > const &q)</td></tr>
|
||||
<tr class="separator:ga60d5647f87c2c423497d0f3bf8c407b8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga91c6605e46a8c70c8e25bbc0f41da181"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga91c6605e46a8c70c8e25bbc0f41da181"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga91c6605e46a8c70c8e25bbc0f41da181">lerp</a> (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)</td></tr>
|
||||
<tr class="separator:ga91c6605e46a8c70c8e25bbc0f41da181"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae04ce320008c9bec0037b4ba21853cb5"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gae04ce320008c9bec0037b4ba21853cb5"><td class="memTemplItemLeft" align="right" valign="top">detail::tmat3x3< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gae04ce320008c9bec0037b4ba21853cb5">mat3_cast</a> (detail::tquat< T > const &x)</td></tr>
|
||||
<tr class="separator:gae04ce320008c9bec0037b4ba21853cb5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@ -112,15 +115,27 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:gabd269bb967469a6f1df5963455fee6be"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gabd269bb967469a6f1df5963455fee6be"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gabd269bb967469a6f1df5963455fee6be">normalize</a> (detail::tquat< T > const &q)</td></tr>
|
||||
<tr class="separator:gabd269bb967469a6f1df5963455fee6be"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf2a0323dbf6c6fb3f37b445aa899c1c7"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gaf2a0323dbf6c6fb3f37b445aa899c1c7"><td class="memTemplItemLeft" align="right" valign="top">valType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gaf2a0323dbf6c6fb3f37b445aa899c1c7">pitch</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:gaf2a0323dbf6c6fb3f37b445aa899c1c7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4d37447d81ceade1d10d68c995a4d881"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga4d37447d81ceade1d10d68c995a4d881"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga4d37447d81ceade1d10d68c995a4d881">quat_cast</a> (detail::tmat3x3< T > const &x)</td></tr>
|
||||
<tr class="separator:ga4d37447d81ceade1d10d68c995a4d881"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga24adafe33b0bcad906c8724a762e5299"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga24adafe33b0bcad906c8724a762e5299"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga24adafe33b0bcad906c8724a762e5299">quat_cast</a> (detail::tmat4x4< T > const &x)</td></tr>
|
||||
<tr class="separator:ga24adafe33b0bcad906c8724a762e5299"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7ef4c8c1ce1ca988add2f73392db0a06"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:ga7ef4c8c1ce1ca988add2f73392db0a06"><td class="memTemplItemLeft" align="right" valign="top">valType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga7ef4c8c1ce1ca988add2f73392db0a06">roll</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:ga7ef4c8c1ce1ca988add2f73392db0a06"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga297d6a9635153c76d7c011efa716b5da"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga297d6a9635153c76d7c011efa716b5da"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga297d6a9635153c76d7c011efa716b5da">rotate</a> (detail::tquat< T > const &q, typename detail::tquat< T >::value_type const &angle, detail::tvec3< T > const &axis)</td></tr>
|
||||
<tr class="separator:ga297d6a9635153c76d7c011efa716b5da"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4acb60c1b472fc6cb5322a63ca1cf9a4"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga4acb60c1b472fc6cb5322a63ca1cf9a4"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga4acb60c1b472fc6cb5322a63ca1cf9a4">slerp</a> (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)</td></tr>
|
||||
<tr class="separator:ga4acb60c1b472fc6cb5322a63ca1cf9a4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaac012c1a6bc37ce07a87745d9c596eed"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gaac012c1a6bc37ce07a87745d9c596eed"><td class="memTemplItemLeft" align="right" valign="top">valType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gaac012c1a6bc37ce07a87745d9c596eed">yaw</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:gaac012c1a6bc37ce07a87745d9c596eed"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
|
||||
@ -128,11 +143,13 @@ Functions</h2></td></tr>
|
||||
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
|
||||
<p>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.</p>
|
||||
<p><a class="el" href="a00153.html">GLM_GTC_quaternion</a></p>
|
||||
<dl class="section date"><dt>Date</dt><dd>2009-05-21 / 2011-06-05 </dd></dl>
|
||||
<dl class="section date"><dt>Date</dt><dd>2009-05-21 / 2012-12-20 </dd></dl>
|
||||
<dl class="section author"><dt>Author</dt><dd>Christophe Riccio</dd></dl>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00141.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
|
||||
<dd>
|
||||
<a class="el" href="a00147.html" title="Defines the half-precision floating-point type, along with various typedefs for vectors and matrices...">GLM_GTC_half_float</a> (dependence) </dd></dl>
|
||||
<a class="el" href="a00147.html" title="Defines the half-precision floating-point type, along with various typedefs for vectors and matrices...">GLM_GTC_half_float</a> (dependence) </dd>
|
||||
<dd>
|
||||
<a class="el" href="a00145.html" title="Allow to perform bit operations on integer values.">GLM_GTC_constants</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
|
@ -83,206 +83,232 @@
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#ifndef GLM_GTC_quaternion</span></div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTC_quaternion GLM_VERSION</span></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// Dependency:</span></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "../gtc/half_float.hpp"</span></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#if(defined(GLM_MESSAGES) && !defined(glm_ext))</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: GLM_GTC_quaternion extension included")</span></div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">namespace </span>glm{</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">namespace </span>detail</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> {</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">struct </span>tquat<span class="comment">// : public genType<T, tquat></span></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  {</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">enum</span> ctor{null};</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">typedef</span> T value_type;</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keyword">typedef</span> std::size_t size_type;</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  value_type x, y, z, w;</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  GLM_FUNC_DECL size_type <a class="code" href="a00131.html#ga282360c8bb80b80d3c7f5bc00766d873" title="Returns the length of x, i.e., sqrt(x * x).">length</a>() <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#ifndef GLM_GTC_quaternion</span></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTC_quaternion GLM_VERSION</span></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// Dependency:</span></div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "../gtc/half_float.hpp"</span></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "../gtc/constants.hpp"</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#if(defined(GLM_MESSAGES) && !defined(glm_ext))</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: GLM_GTC_quaternion extension included")</span></div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">namespace </span>glm{</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">namespace </span>detail</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> {</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">struct </span>tquat<span class="comment">// : public genType<T, tquat></span></div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  {</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">enum</span> ctor{null};</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">typedef</span> T value_type;</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">typedef</span> std::size_t size_type;</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  value_type x, y, z, w;</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="comment">// Constructors</span></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  tquat();</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">explicit</span> tquat(</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  value_type <span class="keyword">const</span> & s, </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  glm::detail::tvec3<T> <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">explicit</span> tquat(</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  value_type <span class="keyword">const</span> & w, </div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  value_type <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  value_type <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  value_type <span class="keyword">const</span> & z);</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="comment">// Convertions</span></div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  GLM_FUNC_DECL size_type <a class="code" href="a00131.html#ga282360c8bb80b80d3c7f5bc00766d873" title="Returns the length of x, i.e., sqrt(x * x).">length</a>() <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="comment">// Constructors</span></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  tquat();</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keyword">explicit</span> tquat(</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  value_type <span class="keyword">const</span> & s, </div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  glm::detail::tvec3<T> <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keyword">explicit</span> tquat(</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  value_type <span class="keyword">const</span> & w, </div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  value_type <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  value_type <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  value_type <span class="keyword">const</span> & z);</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">explicit</span> tquat(</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  tvec3<T> <span class="keyword">const</span> & <a class="code" href="a00153.html#gaa53e0e8933e176c6207720433fb8dd2b" title="Returns euler angles, yitch as x, yaw as y, roll as z.">eulerAngles</a>);</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="comment">// Convertions</span></div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keyword">explicit</span> tquat(</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  tmat3x3<T> <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  tvec3<T> <span class="keyword">const</span> & <a class="code" href="a00153.html#gaa53e0e8933e176c6207720433fb8dd2b" title="Returns euler angles, yitch as x, yaw as y, roll as z.">eulerAngles</a>);</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">explicit</span> tquat(</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  tmat4x4<T> <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="comment">// Accesses</span></div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  value_type & operator[](<span class="keywordtype">int</span> i);</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  value_type <span class="keyword">const</span> & operator[](<span class="keywordtype">int</span> i) <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="comment">// Operators</span></div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  tquat<T> & operator*=(value_type <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  tquat<T> & operator/=(value_type <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  };</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  detail::tquat<T> operator- (</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  detail::tquat<T> operator+ ( </div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  detail::tquat<T> <span class="keyword">const</span> & p); </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  detail::tquat<T> operator* ( </div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  detail::tquat<T> <span class="keyword">const</span> & p); </div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  detail::tvec3<T> operator* (</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  detail::tvec3<T> <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  detail::tvec3<T> operator* (</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  detail::tvec3<T> <span class="keyword">const</span> & v,</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  detail::tvec4<T> operator* (</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  detail::tvec4<T> <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  detail::tvec4<T> operator* (</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  detail::tvec4<T> <span class="keyword">const</span> & v,</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  detail::tquat<T> operator* (</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keyword">typename</span> detail::tquat<T>::value_type <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  detail::tquat<T> operator* (</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">typename</span> detail::tquat<T>::value_type <span class="keyword">const</span> & s,</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  detail::tquat<T> operator/ (</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keyword">typename</span> detail::tquat<T>::value_type <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> } <span class="comment">//namespace detail</span></div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  tmat3x3<T> <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">explicit</span> tquat(</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  tmat4x4<T> <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="comment">// Accesses</span></div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  value_type & operator[](<span class="keywordtype">int</span> i);</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  value_type <span class="keyword">const</span> & operator[](<span class="keywordtype">int</span> i) <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">// Operators</span></div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  tquat<T> & operator*=(value_type <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  tquat<T> & operator/=(value_type <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  };</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  detail::tquat<T> operator- (</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  detail::tquat<T> operator+ ( </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  detail::tquat<T> <span class="keyword">const</span> & p); </div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  detail::tquat<T> operator* ( </div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  detail::tquat<T> <span class="keyword">const</span> & p); </div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  detail::tvec3<T> operator* (</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  detail::tvec3<T> <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  detail::tvec3<T> operator* (</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  detail::tvec3<T> <span class="keyword">const</span> & v,</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  detail::tvec4<T> operator* (</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  detail::tvec4<T> <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  detail::tvec4<T> operator* (</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  detail::tvec4<T> <span class="keyword">const</span> & v,</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  detail::tquat<T> operator* (</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keyword">typename</span> detail::tquat<T>::value_type <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  detail::tquat<T> operator* (</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">typename</span> detail::tquat<T>::value_type <span class="keyword">const</span> & s,</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  detail::tquat<T> operator/ (</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keyword">typename</span> detail::tquat<T>::value_type <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  T <a class="code" href="a00131.html#ga282360c8bb80b80d3c7f5bc00766d873" title="Returns the length of x, i.e., sqrt(x * x).">length</a>(</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  detail::tquat<T> <a class="code" href="a00131.html#ga68b931c228750eeba844c273c54ca43d" title="Returns a vector in the same direction as x but with length of 1.">normalize</a>(</div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  </div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  T <a class="code" href="a00131.html#ga7a31d2864eccfe665409e3b44f5e6e8d" title="Returns the dot product of x and y, i.e., result = x * y.">dot</a>(</div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  detail::tquat<T> <span class="keyword">const</span> & q1, </div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  detail::tquat<T> <span class="keyword">const</span> & q2);</div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  detail::tquat<T> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(</div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  detail::tquat<T> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  detail::tquat<T> <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  T <span class="keyword">const</span> & a);</div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  </div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> } <span class="comment">//namespace detail</span></div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  T <a class="code" href="a00131.html#ga282360c8bb80b80d3c7f5bc00766d873" title="Returns the length of x, i.e., sqrt(x * x).">length</a>(</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  detail::tquat<T> <a class="code" href="a00131.html#ga68b931c228750eeba844c273c54ca43d" title="Returns a vector in the same direction as x but with length of 1.">normalize</a>(</div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  </div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  T <a class="code" href="a00131.html#ga7a31d2864eccfe665409e3b44f5e6e8d" title="Returns the dot product of x and y, i.e., result = x * y.">dot</a>(</div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  detail::tquat<T> <span class="keyword">const</span> & q1, </div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  detail::tquat<T> <span class="keyword">const</span> & q2);</div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  detail::tquat<T> <a class="code" href="a00153.html#ga8b6594dffb8bf455d848ffa2169ba41d" title="Returns the q conjugate.">conjugate</a>(</div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  detail::tquat<T> <a class="code" href="a00133.html#gada3384a86cf38a1fd96275194b8ba8c0" title="Return the inverse of a mat2 matrix.">inverse</a>(</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  detail::tquat<T> <a class="code" href="a00151.html#gaacb9cbe8f93a8fef9dc3e25559df19c0" title="Builds a rotation 4 * 4 matrix created from an axis vector and an angle.">rotate</a>(</div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keyword">typename</span> detail::tquat<T>::value_type <span class="keyword">const</span> & <a class="code" href="a00153.html#ga69041d18bd8539fe82d6170932d28362" title="Returns the quaternion rotation angle.">angle</a>, </div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  detail::tvec3<T> <span class="keyword">const</span> & <a class="code" href="a00153.html#ga72457604550d0414e522dbec0d98f276" title="Returns the q rotation axis.">axis</a>);</div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
|
||||
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  detail::tvec3<T> <a class="code" href="a00153.html#gaa53e0e8933e176c6207720433fb8dd2b" title="Returns euler angles, yitch as x, yaw as y, roll as z.">eulerAngles</a>(</div>
|
||||
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  detail::tquat<T> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
|
||||
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  detail::tmat3x3<T> <a class="code" href="a00153.html#gae04ce320008c9bec0037b4ba21853cb5" title="Converts a quaternion to a 3 * 3 matrix.">mat3_cast</a>(</div>
|
||||
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  detail::tquat<T> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  detail::tmat4x4<T> <a class="code" href="a00153.html#ga8c376eb15971eb52d85df5ee26825627" title="Converts a quaternion to a 4 * 4 matrix.">mat4_cast</a>(</div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  detail::tquat<T> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  detail::tquat<T> <a class="code" href="a00153.html#ga4d37447d81ceade1d10d68c995a4d881" title="Converts a 3 * 3 matrix to a quaternion.">quat_cast</a>(</div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  detail::tmat3x3<T> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  detail::tquat<T> <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(</div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  detail::tquat<T> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  detail::tquat<T> <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  T <span class="keyword">const</span> & a);</div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  detail::tquat<T> <a class="code" href="a00153.html#ga91c6605e46a8c70c8e25bbc0f41da181" title="Linear interpolation of two quaternions.">lerp</a>(</div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  detail::tquat<T> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  detail::tquat<T> <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  T <span class="keyword">const</span> & a);</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
|
||||
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  detail::tquat<T> <a class="code" href="a00153.html#ga4acb60c1b472fc6cb5322a63ca1cf9a4" title="Spherical linear interpolation of two quaternions.">slerp</a>(</div>
|
||||
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  detail::tquat<T> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  detail::tquat<T> <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  T <span class="keyword">const</span> & a);</div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  detail::tquat<T> <a class="code" href="a00153.html#ga8b6594dffb8bf455d848ffa2169ba41d" title="Returns the q conjugate.">conjugate</a>(</div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  detail::tquat<T> <a class="code" href="a00133.html#gada3384a86cf38a1fd96275194b8ba8c0" title="Return the inverse of a mat2 matrix.">inverse</a>(</div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  detail::tquat<T> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
|
||||
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  detail::tquat<T> <a class="code" href="a00153.html#ga4d37447d81ceade1d10d68c995a4d881" title="Converts a 3 * 3 matrix to a quaternion.">quat_cast</a>(</div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  detail::tmat4x4<T> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div>
|
||||
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  valType <a class="code" href="a00153.html#ga69041d18bd8539fe82d6170932d28362" title="Returns the quaternion rotation angle.">angle</a>(</div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  detail::tquat<valType> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
|
||||
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  detail::tvec3<valType> <a class="code" href="a00153.html#ga72457604550d0414e522dbec0d98f276" title="Returns the q rotation axis.">axis</a>(</div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  detail::tquat<valType> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
|
||||
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  detail::tquat<valType> <a class="code" href="a00153.html#gaafc03953867e42a39dc08575ad4532ad" title="Build a quaternion from an angle and a normalized axis.">angleAxis</a>(</div>
|
||||
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  valType <span class="keyword">const</span> & <a class="code" href="a00153.html#ga69041d18bd8539fe82d6170932d28362" title="Returns the quaternion rotation angle.">angle</a>, </div>
|
||||
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  valType <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  valType <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  valType <span class="keyword">const</span> & z);</div>
|
||||
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  detail::tquat<valType> <a class="code" href="a00153.html#gaafc03953867e42a39dc08575ad4532ad" title="Build a quaternion from an angle and a normalized axis.">angleAxis</a>(</div>
|
||||
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  valType <span class="keyword">const</span> & <a class="code" href="a00153.html#ga69041d18bd8539fe82d6170932d28362" title="Returns the quaternion rotation angle.">angle</a>, </div>
|
||||
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  detail::tvec3<valType> <span class="keyword">const</span> & <a class="code" href="a00153.html#ga72457604550d0414e522dbec0d98f276" title="Returns the q rotation axis.">axis</a>);</div>
|
||||
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
|
||||
<div class="line"><a name="l00286"></a><span class="lineno"><a class="code" href="a00153.html#ga60408579db470456070a3336295625a7"> 286</a></span>  <span class="keyword">typedef</span> detail::tquat<float> <a class="code" href="a00153.html#ga60408579db470456070a3336295625a7" title="Quaternion of floating-point numbers.">quat</a>;</div>
|
||||
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
|
||||
<div class="line"><a name="l00291"></a><span class="lineno"><a class="code" href="a00153.html#gaba1bbdeae84c942ce0dc83af40e1d7d3"> 291</a></span>  <span class="keyword">typedef</span> detail::tquat<detail::half> <a class="code" href="a00153.html#gaba1bbdeae84c942ce0dc83af40e1d7d3" title="Quaternion of half-precision floating-point numbers.">hquat</a>;</div>
|
||||
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
|
||||
<div class="line"><a name="l00296"></a><span class="lineno"><a class="code" href="a00153.html#gaae07c293efbe1c530ff18044a15fe662"> 296</a></span>  <span class="keyword">typedef</span> detail::tquat<float> <a class="code" href="a00153.html#gaae07c293efbe1c530ff18044a15fe662" title="Quaternion of single-precision floating-point numbers.">fquat</a>;</div>
|
||||
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
|
||||
<div class="line"><a name="l00301"></a><span class="lineno"><a class="code" href="a00153.html#ga5428321324094c7170d6133c8139d255"> 301</a></span>  <span class="keyword">typedef</span> detail::tquat<double> <a class="code" href="a00153.html#ga5428321324094c7170d6133c8139d255" title="Quaternion of double-precision floating-point numbers.">dquat</a>;</div>
|
||||
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
|
||||
<div class="line"><a name="l00306"></a><span class="lineno"><a class="code" href="a00153.html#ga5acd0f3e9f9e3c0e6577440443ec4594"> 306</a></span>  <span class="keyword">typedef</span> detail::tquat<lowp_float> <a class="code" href="a00153.html#ga5acd0f3e9f9e3c0e6577440443ec4594" title="Quaternion of low precision floating-point numbers.">lowp_quat</a>;</div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  detail::tquat<T> <a class="code" href="a00151.html#gaacb9cbe8f93a8fef9dc3e25559df19c0" title="Builds a rotation 4 * 4 matrix created from an axis vector and an angle.">rotate</a>(</div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  detail::tquat<T> <span class="keyword">const</span> & q, </div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keyword">typename</span> detail::tquat<T>::value_type <span class="keyword">const</span> & <a class="code" href="a00153.html#ga69041d18bd8539fe82d6170932d28362" title="Returns the quaternion rotation angle.">angle</a>, </div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  detail::tvec3<T> <span class="keyword">const</span> & <a class="code" href="a00153.html#ga72457604550d0414e522dbec0d98f276" title="Returns the q rotation axis.">axis</a>);</div>
|
||||
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  detail::tvec3<T> <a class="code" href="a00153.html#gaa53e0e8933e176c6207720433fb8dd2b" title="Returns euler angles, yitch as x, yaw as y, roll as z.">eulerAngles</a>(</div>
|
||||
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  detail::tquat<T> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  valType <a class="code" href="a00153.html#ga7ef4c8c1ce1ca988add2f73392db0a06" title="Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees oth...">roll</a>(</div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  detail::tquat<valType> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
|
||||
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  valType <a class="code" href="a00153.html#gaf2a0323dbf6c6fb3f37b445aa899c1c7" title="Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees ot...">pitch</a>(</div>
|
||||
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  detail::tquat<valType> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  valType <a class="code" href="a00153.html#gaac012c1a6bc37ce07a87745d9c596eed" title="Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees othe...">yaw</a>(</div>
|
||||
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  detail::tquat<valType> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
|
||||
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  detail::tmat3x3<T> <a class="code" href="a00153.html#gae04ce320008c9bec0037b4ba21853cb5" title="Converts a quaternion to a 3 * 3 matrix.">mat3_cast</a>(</div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  detail::tquat<T> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
|
||||
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  detail::tmat4x4<T> <a class="code" href="a00153.html#ga8c376eb15971eb52d85df5ee26825627" title="Converts a quaternion to a 4 * 4 matrix.">mat4_cast</a>(</div>
|
||||
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  detail::tquat<T> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
|
||||
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  detail::tquat<T> <a class="code" href="a00153.html#ga4d37447d81ceade1d10d68c995a4d881" title="Converts a 3 * 3 matrix to a quaternion.">quat_cast</a>(</div>
|
||||
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  detail::tmat3x3<T> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
|
||||
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> </div>
|
||||
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  detail::tquat<T> <a class="code" href="a00153.html#ga4d37447d81ceade1d10d68c995a4d881" title="Converts a 3 * 3 matrix to a quaternion.">quat_cast</a>(</div>
|
||||
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  detail::tmat4x4<T> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
|
||||
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  valType <a class="code" href="a00153.html#ga69041d18bd8539fe82d6170932d28362" title="Returns the quaternion rotation angle.">angle</a>(</div>
|
||||
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  detail::tquat<valType> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div>
|
||||
<div class="line"><a name="l00311"></a><span class="lineno"><a class="code" href="a00153.html#gae93fe73ea5fe5e2150c2eb0641394dc8"> 311</a></span>  <span class="keyword">typedef</span> detail::tquat<mediump_float> <a class="code" href="a00153.html#gae93fe73ea5fe5e2150c2eb0641394dc8" title="Quaternion of medium precision floating-point numbers.">mediump_quat</a>;</div>
|
||||
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
|
||||
<div class="line"><a name="l00316"></a><span class="lineno"><a class="code" href="a00153.html#ga8a7c2c751ad30db9ec4268a6b7d99f6c"> 316</a></span>  <span class="keyword">typedef</span> detail::tquat<highp_float> <a class="code" href="a00153.html#ga8a7c2c751ad30db9ec4268a6b7d99f6c" title="Quaternion of high precision floating-point numbers.">highp_quat</a>;</div>
|
||||
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
|
||||
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> } <span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
|
||||
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="preprocessor">#include "quaternion.inl"</span></div>
|
||||
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
|
||||
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="preprocessor">#endif//GLM_GTC_quaternion</span></div>
|
||||
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  detail::tvec3<valType> <a class="code" href="a00153.html#ga72457604550d0414e522dbec0d98f276" title="Returns the q rotation axis.">axis</a>(</div>
|
||||
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  detail::tquat<valType> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
|
||||
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  detail::tquat<valType> <a class="code" href="a00153.html#gaafc03953867e42a39dc08575ad4532ad" title="Build a quaternion from an angle and a normalized axis.">angleAxis</a>(</div>
|
||||
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  valType <span class="keyword">const</span> & <a class="code" href="a00153.html#ga69041d18bd8539fe82d6170932d28362" title="Returns the quaternion rotation angle.">angle</a>, </div>
|
||||
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  valType <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  valType <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  valType <span class="keyword">const</span> & z);</div>
|
||||
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
|
||||
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  detail::tquat<valType> <a class="code" href="a00153.html#gaafc03953867e42a39dc08575ad4532ad" title="Build a quaternion from an angle and a normalized axis.">angleAxis</a>(</div>
|
||||
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  valType <span class="keyword">const</span> & <a class="code" href="a00153.html#ga69041d18bd8539fe82d6170932d28362" title="Returns the quaternion rotation angle.">angle</a>, </div>
|
||||
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  detail::tvec3<valType> <span class="keyword">const</span> & <a class="code" href="a00153.html#ga72457604550d0414e522dbec0d98f276" title="Returns the q rotation axis.">axis</a>);</div>
|
||||
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
|
||||
<div class="line"><a name="l00344"></a><span class="lineno"><a class="code" href="a00153.html#ga60408579db470456070a3336295625a7"> 344</a></span>  <span class="keyword">typedef</span> detail::tquat<float> <a class="code" href="a00153.html#ga60408579db470456070a3336295625a7" title="Quaternion of floating-point numbers.">quat</a>;</div>
|
||||
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div>
|
||||
<div class="line"><a name="l00349"></a><span class="lineno"><a class="code" href="a00153.html#gaba1bbdeae84c942ce0dc83af40e1d7d3"> 349</a></span>  <span class="keyword">typedef</span> detail::tquat<detail::half> <a class="code" href="a00153.html#gaba1bbdeae84c942ce0dc83af40e1d7d3" title="Quaternion of half-precision floating-point numbers.">hquat</a>;</div>
|
||||
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
|
||||
<div class="line"><a name="l00354"></a><span class="lineno"><a class="code" href="a00153.html#gaae07c293efbe1c530ff18044a15fe662"> 354</a></span>  <span class="keyword">typedef</span> detail::tquat<float> <a class="code" href="a00153.html#gaae07c293efbe1c530ff18044a15fe662" title="Quaternion of single-precision floating-point numbers.">fquat</a>;</div>
|
||||
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div>
|
||||
<div class="line"><a name="l00359"></a><span class="lineno"><a class="code" href="a00153.html#ga5428321324094c7170d6133c8139d255"> 359</a></span>  <span class="keyword">typedef</span> detail::tquat<double> <a class="code" href="a00153.html#ga5428321324094c7170d6133c8139d255" title="Quaternion of double-precision floating-point numbers.">dquat</a>;</div>
|
||||
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
|
||||
<div class="line"><a name="l00364"></a><span class="lineno"><a class="code" href="a00153.html#ga5acd0f3e9f9e3c0e6577440443ec4594"> 364</a></span>  <span class="keyword">typedef</span> detail::tquat<lowp_float> <a class="code" href="a00153.html#ga5acd0f3e9f9e3c0e6577440443ec4594" title="Quaternion of low precision floating-point numbers.">lowp_quat</a>;</div>
|
||||
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
|
||||
<div class="line"><a name="l00369"></a><span class="lineno"><a class="code" href="a00153.html#gae93fe73ea5fe5e2150c2eb0641394dc8"> 369</a></span>  <span class="keyword">typedef</span> detail::tquat<mediump_float> <a class="code" href="a00153.html#gae93fe73ea5fe5e2150c2eb0641394dc8" title="Quaternion of medium precision floating-point numbers.">mediump_quat</a>;</div>
|
||||
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
|
||||
<div class="line"><a name="l00374"></a><span class="lineno"><a class="code" href="a00153.html#ga8a7c2c751ad30db9ec4268a6b7d99f6c"> 374</a></span>  <span class="keyword">typedef</span> detail::tquat<highp_float> <a class="code" href="a00153.html#ga8a7c2c751ad30db9ec4268a6b7d99f6c" title="Quaternion of high precision floating-point numbers.">highp_quat</a>;</div>
|
||||
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div>
|
||||
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> } <span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
|
||||
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="preprocessor">#include "quaternion.inl"</span></div>
|
||||
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
|
||||
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="preprocessor">#endif//GLM_GTC_quaternion</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
@ -58,9 +58,6 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:gacd88ee5f0938469119199bdb216c68a1"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gacd88ee5f0938469119199bdb216c68a1"><td class="memTemplItemLeft" align="right" valign="top">detail::tvec3< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#gacd88ee5f0938469119199bdb216c68a1">cross</a> (detail::tvec3< valType > const &v, detail::tquat< valType > const &q)</td></tr>
|
||||
<tr class="separator:gacd88ee5f0938469119199bdb216c68a1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaaf23d24e27b4e4954d6e0dcf8cc4451c"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gaaf23d24e27b4e4954d6e0dcf8cc4451c"><td class="memTemplItemLeft" align="right" valign="top">detail::tvec3< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#gaaf23d24e27b4e4954d6e0dcf8cc4451c">eulerAngles</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:gaaf23d24e27b4e4954d6e0dcf8cc4451c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae94ef4f3c0dd37dd65a95de207d1a27a"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gae94ef4f3c0dd37dd65a95de207d1a27a"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#gae94ef4f3c0dd37dd65a95de207d1a27a">exp</a> (detail::tquat< valType > const &q, valType const &exponent)</td></tr>
|
||||
<tr class="separator:gae94ef4f3c0dd37dd65a95de207d1a27a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@ -76,15 +73,9 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:ga68d8d03cc87b3980abec4d80534f3d8e"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:ga68d8d03cc87b3980abec4d80534f3d8e"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#ga68d8d03cc87b3980abec4d80534f3d8e">log</a> (detail::tquat< valType > const &q)</td></tr>
|
||||
<tr class="separator:ga68d8d03cc87b3980abec4d80534f3d8e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf2a0323dbf6c6fb3f37b445aa899c1c7"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gaf2a0323dbf6c6fb3f37b445aa899c1c7"><td class="memTemplItemLeft" align="right" valign="top">valType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#gaf2a0323dbf6c6fb3f37b445aa899c1c7">pitch</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:gaf2a0323dbf6c6fb3f37b445aa899c1c7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7765f7d8a3399af25f8bc7956a77c7b2"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:ga7765f7d8a3399af25f8bc7956a77c7b2"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#ga7765f7d8a3399af25f8bc7956a77c7b2">pow</a> (detail::tquat< valType > const &x, valType const &y)</td></tr>
|
||||
<tr class="separator:ga7765f7d8a3399af25f8bc7956a77c7b2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7ef4c8c1ce1ca988add2f73392db0a06"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:ga7ef4c8c1ce1ca988add2f73392db0a06"><td class="memTemplItemLeft" align="right" valign="top">valType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#ga7ef4c8c1ce1ca988add2f73392db0a06">roll</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:ga7ef4c8c1ce1ca988add2f73392db0a06"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad1ada3be83514169fed6054b4e68b5ca"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gad1ada3be83514169fed6054b4e68b5ca"><td class="memTemplItemLeft" align="right" valign="top">detail::tvec3< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#gad1ada3be83514169fed6054b4e68b5ca">rotate</a> (detail::tquat< valType > const &q, detail::tvec3< valType > const &v)</td></tr>
|
||||
<tr class="separator:gad1ada3be83514169fed6054b4e68b5ca"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@ -109,9 +100,6 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:ga25b6237ccb6c4a69d57a181aac99aa43"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:ga25b6237ccb6c4a69d57a181aac99aa43"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#ga25b6237ccb6c4a69d57a181aac99aa43">toQuat</a> (detail::tmat4x4< valType > const &x)</td></tr>
|
||||
<tr class="separator:ga25b6237ccb6c4a69d57a181aac99aa43"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaac012c1a6bc37ce07a87745d9c596eed"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gaac012c1a6bc37ce07a87745d9c596eed"><td class="memTemplItemLeft" align="right" valign="top">valType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#gaac012c1a6bc37ce07a87745d9c596eed">yaw</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:gaac012c1a6bc37ce07a87745d9c596eed"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>OpenGL Mathematics (glm.g-truc.net) </p>
|
||||
|
@ -154,54 +154,38 @@
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  detail::tquat<valType> <span class="keyword">const</span> & q);</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  valType <a class="code" href="a00198.html#ga7ef4c8c1ce1ca988add2f73392db0a06" title="Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees oth...">roll</a>(</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  detail::tquat<valType> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="a00198.html#gaae1a23ba337628402dbe68d6567a9444"> 149</a></span>  detail::tmat3x3<valType> <a class="code" href="a00198.html#gaae1a23ba337628402dbe68d6567a9444" title="Converts a quaternion to a 3 * 3 matrix.">toMat3</a>(</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  detail::tquat<valType> <span class="keyword">const</span> & x){<span class="keywordflow">return</span> <a class="code" href="a00153.html#gae04ce320008c9bec0037b4ba21853cb5" title="Converts a quaternion to a 3 * 3 matrix.">mat3_cast</a>(x);}</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  valType <a class="code" href="a00198.html#gaf2a0323dbf6c6fb3f37b445aa899c1c7" title="Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees ot...">pitch</a>(</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  detail::tquat<valType> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="a00198.html#ga14c3426d79fe82b07cd1f3610a18d9f5"> 156</a></span>  detail::tmat4x4<valType> <a class="code" href="a00198.html#ga14c3426d79fe82b07cd1f3610a18d9f5" title="Converts a quaternion to a 4 * 4 matrix.">toMat4</a>(</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  detail::tquat<valType> <span class="keyword">const</span> & x){<span class="keywordflow">return</span> <a class="code" href="a00153.html#ga8c376eb15971eb52d85df5ee26825627" title="Converts a quaternion to a 4 * 4 matrix.">mat4_cast</a>(x);}</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  valType <a class="code" href="a00198.html#gaac012c1a6bc37ce07a87745d9c596eed" title="Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees othe...">yaw</a>(</div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  detail::tquat<valType> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="a00198.html#ga70cb5b2da64a17632dbf151dcfec0150"> 163</a></span>  detail::tquat<valType> <a class="code" href="a00198.html#ga70cb5b2da64a17632dbf151dcfec0150" title="Converts a 3 * 3 matrix to a quaternion.">toQuat</a>(</div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  detail::tmat3x3<valType> <span class="keyword">const</span> & x){<span class="keywordflow">return</span> <a class="code" href="a00153.html#ga4d37447d81ceade1d10d68c995a4d881" title="Converts a 3 * 3 matrix to a quaternion.">quat_cast</a>(x);}</div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  detail::tvec3<valType> <a class="code" href="a00153.html#gaa53e0e8933e176c6207720433fb8dd2b" title="Returns euler angles, yitch as x, yaw as y, roll as z.">eulerAngles</a>(</div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  detail::tquat<valType> <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"><a class="code" href="a00198.html#ga25b6237ccb6c4a69d57a181aac99aa43"> 170</a></span>  detail::tquat<valType> <a class="code" href="a00198.html#ga70cb5b2da64a17632dbf151dcfec0150" title="Converts a 3 * 3 matrix to a quaternion.">toQuat</a>(</div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  detail::tmat4x4<valType> <span class="keyword">const</span> & x){<span class="keywordflow">return</span> <a class="code" href="a00153.html#ga4d37447d81ceade1d10d68c995a4d881" title="Converts a 3 * 3 matrix to a quaternion.">quat_cast</a>(x);}</div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"><a class="code" href="a00198.html#gaae1a23ba337628402dbe68d6567a9444"> 177</a></span>  detail::tmat3x3<valType> <a class="code" href="a00198.html#gaae1a23ba337628402dbe68d6567a9444" title="Converts a quaternion to a 3 * 3 matrix.">toMat3</a>(</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  detail::tquat<valType> <span class="keyword">const</span> & x){<span class="keywordflow">return</span> <a class="code" href="a00153.html#gae04ce320008c9bec0037b4ba21853cb5" title="Converts a quaternion to a 3 * 3 matrix.">mat3_cast</a>(x);}</div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"><a class="code" href="a00198.html#ga14c3426d79fe82b07cd1f3610a18d9f5"> 184</a></span>  detail::tmat4x4<valType> <a class="code" href="a00198.html#ga14c3426d79fe82b07cd1f3610a18d9f5" title="Converts a quaternion to a 4 * 4 matrix.">toMat4</a>(</div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  detail::tquat<valType> <span class="keyword">const</span> & x){<span class="keywordflow">return</span> <a class="code" href="a00153.html#ga8c376eb15971eb52d85df5ee26825627" title="Converts a quaternion to a 4 * 4 matrix.">mat4_cast</a>(x);}</div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"><a class="code" href="a00198.html#ga70cb5b2da64a17632dbf151dcfec0150"> 191</a></span>  detail::tquat<valType> <a class="code" href="a00198.html#ga70cb5b2da64a17632dbf151dcfec0150" title="Converts a 3 * 3 matrix to a quaternion.">toQuat</a>(</div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  detail::tmat3x3<valType> <span class="keyword">const</span> & x){<span class="keywordflow">return</span> <a class="code" href="a00153.html#ga4d37447d81ceade1d10d68c995a4d881" title="Converts a 3 * 3 matrix to a quaternion.">quat_cast</a>(x);}</div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  detail::tquat<T> <a class="code" href="a00198.html#gae2cb4ac4676a57fb6db64aa515e608ab" title="Quaternion interpolation using the rotation short path.">shortMix</a>(</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  detail::tquat<T> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  detail::tquat<T> <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  T <span class="keyword">const</span> & a);</div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  detail::tquat<T> <a class="code" href="a00198.html#ga804e80b331a83eed2ed71a5c985593cd" title="Quaternion normalized linear interpolation.">fastMix</a>(</div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  detail::tquat<T> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  detail::tquat<T> <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  T <span class="keyword">const</span> & a);</div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="a00198.html#ga25b6237ccb6c4a69d57a181aac99aa43"> 198</a></span>  detail::tquat<valType> <a class="code" href="a00198.html#ga70cb5b2da64a17632dbf151dcfec0150" title="Converts a 3 * 3 matrix to a quaternion.">toQuat</a>(</div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  detail::tmat4x4<valType> <span class="keyword">const</span> & x){<span class="keywordflow">return</span> <a class="code" href="a00153.html#ga4d37447d81ceade1d10d68c995a4d881" title="Converts a 3 * 3 matrix to a quaternion.">quat_cast</a>(x);}</div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  detail::tquat<T> <a class="code" href="a00198.html#gae2cb4ac4676a57fb6db64aa515e608ab" title="Quaternion interpolation using the rotation short path.">shortMix</a>(</div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  detail::tquat<T> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  detail::tquat<T> <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  T <span class="keyword">const</span> & a);</div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
|
||||
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  detail::tquat<T> <a class="code" href="a00198.html#ga804e80b331a83eed2ed71a5c985593cd" title="Quaternion normalized linear interpolation.">fastMix</a>(</div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  detail::tquat<T> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  detail::tquat<T> <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  T <span class="keyword">const</span> & a);</div>
|
||||
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
|
||||
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
|
||||
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="preprocessor">#include "quaternion.inl"</span></div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="preprocessor">#endif//GLM_GTX_quaternion</span></div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="preprocessor">#include "quaternion.inl"</span></div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor">#endif//GLM_GTX_quaternion</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
@ -577,151 +577,158 @@
|
||||
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_ARCH GLM_ARCH_PURE</span></div>
|
||||
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="comment">//#if(GLM_ARCH != GLM_ARCH_PURE)</span></div>
|
||||
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="preprocessor">#if(GLM_ARCH & GLM_ARCH_AVX2)</span></div>
|
||||
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="preprocessor"></span><span class="preprocessor"># include <immintrin.h></span></div>
|
||||
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="preprocessor">#endif//GLM_ARCH</span></div>
|
||||
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="preprocessor"></span><span class="preprocessor">#if(GLM_ARCH & GLM_ARCH_AVX)</span></div>
|
||||
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="preprocessor"></span><span class="preprocessor"># include <immintrin.h></span></div>
|
||||
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="preprocessor">#endif//GLM_ARCH</span></div>
|
||||
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="preprocessor"></span><span class="preprocessor">#if(GLM_ARCH & GLM_ARCH_SSE4)</span></div>
|
||||
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="preprocessor"></span><span class="preprocessor"># include <smmintrin.h></span></div>
|
||||
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="preprocessor">#endif//GLM_ARCH</span></div>
|
||||
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="preprocessor"></span><span class="preprocessor">#if(GLM_ARCH & GLM_ARCH_SSE3)</span></div>
|
||||
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="preprocessor"></span><span class="preprocessor"># include <pmmintrin.h></span></div>
|
||||
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="preprocessor">#endif//GLM_ARCH</span></div>
|
||||
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="preprocessor"></span><span class="preprocessor">#if(GLM_ARCH & GLM_ARCH_SSE2)</span></div>
|
||||
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="preprocessor"></span><span class="preprocessor"># include <emmintrin.h></span></div>
|
||||
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="preprocessor">#endif//GLM_ARCH</span></div>
|
||||
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="preprocessor"></span><span class="comment">//#endif//(GLM_ARCH != GLM_ARCH_PURE)</span></div>
|
||||
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div>
|
||||
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="preprocessor">#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED))</span></div>
|
||||
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_ARCH_DISPLAYED</span></div>
|
||||
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="preprocessor"></span><span class="preprocessor"># if(GLM_ARCH == GLM_ARCH_PURE)</span></div>
|
||||
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: Platform independent")</span></div>
|
||||
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH & GLM_ARCH_SSE2)</span></div>
|
||||
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: SSE2 instruction set")</span></div>
|
||||
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH & GLM_ARCH_SSE3)</span></div>
|
||||
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: SSE3 instruction set")</span></div>
|
||||
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH & GLM_ARCH_SSE4)</span></div>
|
||||
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: SSE4 instruction set")</span></div>
|
||||
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH & GLM_ARCH_AVX)</span></div>
|
||||
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: AVX instruction set")</span></div>
|
||||
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH & GLM_ARCH_AVX2)</span></div>
|
||||
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: AVX2 instruction set")</span></div>
|
||||
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="preprocessor"></span><span class="preprocessor"># endif//GLM_ARCH</span></div>
|
||||
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span></div>
|
||||
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="comment">// Support check macros</span></div>
|
||||
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div>
|
||||
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="preprocessor">#define GLM_SUPPORT_ANONYMOUS_UNION() \</span></div>
|
||||
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="preprocessor"> ((GLM_LANG & GLM_LANG_CXX98) == GLM_LANG_CXX98)</span></div>
|
||||
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment">//#define GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE() <backslash></span></div>
|
||||
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="comment">// (((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)))</span></div>
|
||||
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
|
||||
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="preprocessor">#define GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE() \</span></div>
|
||||
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="preprocessor"> (((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))</span></div>
|
||||
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="preprocessor">#define GLM_SUPPORT_SWIZZLE_OPERATOR() \</span></div>
|
||||
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="preprocessor"> (</span><span class="comment">/*defined(GLM_SWIZZLE) && */</span><span class="preprocessor">GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE())</span></div>
|
||||
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="preprocessor">#define GLM_SUPPORT_SWIZZLE_FUNCTION() defined(GLM_SWIZZLE)</span></div>
|
||||
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="comment">// Components</span></div>
|
||||
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
|
||||
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="comment">//#define GLM_FORCE_ONLY_XYZW</span></div>
|
||||
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="preprocessor">#define GLM_COMPONENT_ONLY_XYZW 0 // To disable multiple vector component names access.</span></div>
|
||||
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPONENT_CXX98 1 // </span></div>
|
||||
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPONENT_CXX11 2 // To use anonymous union to provide multiple component names access for class valType. Visual C++ only.</span></div>
|
||||
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="preprocessor">#if(GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE() && !defined(GLM_FORCE_ONLY_XYZW))</span></div>
|
||||
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPONENT GLM_COMPONENT_CXX11</span></div>
|
||||
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="preprocessor"></span><span class="preprocessor">#elif(GLM_SUPPORT_ANONYMOUS_UNION() && !defined(GLM_FORCE_ONLY_XYZW))</span></div>
|
||||
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPONENT GLM_COMPONENT_CXX98</span></div>
|
||||
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPONENT GLM_COMPONENT_ONLY_XYZW</span></div>
|
||||
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="preprocessor">#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPONENT_DISPLAYED))</span></div>
|
||||
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_COMPONENT_DISPLAYED</span></div>
|
||||
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="preprocessor"></span><span class="preprocessor"># if(GLM_COMPONENT == GLM_COMPONENT_CXX98)</span></div>
|
||||
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: x,y,z,w; r,g,b,a; s,t,p,q component names except of half based vector types")</span></div>
|
||||
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPONENT == GLM_COMPONENT_ONLY_XYZW)</span></div>
|
||||
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: x,y,z,w component names for all vector types")</span></div>
|
||||
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPONENT == GLM_COMPONENT_CXX11)</span></div>
|
||||
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: x,y,z,w; r,g,b,a; s,t,p,q component names for all vector types")</span></div>
|
||||
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="preprocessor"></span><span class="preprocessor"># else</span></div>
|
||||
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="preprocessor"></span><span class="preprocessor"># error "GLM: GLM_COMPONENT value unknown"</span></div>
|
||||
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="preprocessor"></span><span class="preprocessor"># endif//GLM_MESSAGE_COMPONENT_DISPLAYED</span></div>
|
||||
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span></div>
|
||||
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="comment">// Radians</span></div>
|
||||
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div>
|
||||
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="comment">//#define GLM_FORCE_RADIANS</span></div>
|
||||
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div>
|
||||
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="comment">// Static assert</span></div>
|
||||
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div>
|
||||
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="preprocessor">#if(GLM_LANG == GLM_LANG_CXX0X)</span></div>
|
||||
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT(x, message) static_assert(x, message)</span></div>
|
||||
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="preprocessor"></span><span class="preprocessor">#elif(defined(BOOST_STATIC_ASSERT))</span></div>
|
||||
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT(x, message) BOOST_STATIC_ASSERT(x)</span></div>
|
||||
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="preprocessor"></span><span class="preprocessor">#elif(GLM_COMPILER & GLM_COMPILER_VC)</span></div>
|
||||
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]</span></div>
|
||||
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT(x, message)</span></div>
|
||||
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT_NULL</span></div>
|
||||
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_LANG</span></div>
|
||||
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="comment">// Qualifiers </span></div>
|
||||
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div>
|
||||
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="comment">// User defines: GLM_FORCE_INLINE GLM_FORCE_CUDA</span></div>
|
||||
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div>
|
||||
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="preprocessor">#if(defined(GLM_FORCE_CUDA) || (GLM_COMPILER & GLM_COMPILER_CUDA))</span></div>
|
||||
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_CUDA_FUNC_DEF __device__ __host__ </span></div>
|
||||
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_CUDA_FUNC_DECL __device__ __host__ </span></div>
|
||||
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_CUDA_FUNC_DEF</span></div>
|
||||
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_CUDA_FUNC_DECL</span></div>
|
||||
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="preprocessor">#if GLM_COMPILER & GLM_COMPILER_GCC</span></div>
|
||||
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="preprocessor"></span><span class="preprocessor">#define GLM_VAR_USED __attribute__ ((unused))</span></div>
|
||||
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="comment">// With MinGW-W64, including intrinsic headers before intrin.h will produce some errors. The problem is</span></div>
|
||||
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="comment">// that windows.h (and maybe other headers) will silently include intrin.h, which of course causes problems.</span></div>
|
||||
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="comment">// To fix, we just explicitly include intrin.h here.</span></div>
|
||||
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="preprocessor">#if defined(__MINGW32__) && (GLM_ARCH != GLM_ARCH_PURE)</span></div>
|
||||
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="preprocessor"></span><span class="preprocessor"># include <intrin.h></span></div>
|
||||
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="comment">//#if(GLM_ARCH != GLM_ARCH_PURE)</span></div>
|
||||
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="preprocessor">#if(GLM_ARCH & GLM_ARCH_AVX2)</span></div>
|
||||
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="preprocessor"></span><span class="preprocessor"># include <immintrin.h></span></div>
|
||||
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="preprocessor">#endif//GLM_ARCH</span></div>
|
||||
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="preprocessor"></span><span class="preprocessor">#if(GLM_ARCH & GLM_ARCH_AVX)</span></div>
|
||||
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="preprocessor"></span><span class="preprocessor"># include <immintrin.h></span></div>
|
||||
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="preprocessor">#endif//GLM_ARCH</span></div>
|
||||
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="preprocessor"></span><span class="preprocessor">#if(GLM_ARCH & GLM_ARCH_SSE4)</span></div>
|
||||
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="preprocessor"></span><span class="preprocessor"># include <smmintrin.h></span></div>
|
||||
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="preprocessor">#endif//GLM_ARCH</span></div>
|
||||
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="preprocessor"></span><span class="preprocessor">#if(GLM_ARCH & GLM_ARCH_SSE3)</span></div>
|
||||
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="preprocessor"></span><span class="preprocessor"># include <pmmintrin.h></span></div>
|
||||
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="preprocessor">#endif//GLM_ARCH</span></div>
|
||||
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="preprocessor"></span><span class="preprocessor">#if(GLM_ARCH & GLM_ARCH_SSE2)</span></div>
|
||||
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="preprocessor"></span><span class="preprocessor"># include <emmintrin.h></span></div>
|
||||
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="preprocessor">#endif//GLM_ARCH</span></div>
|
||||
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="preprocessor"></span><span class="comment">//#endif//(GLM_ARCH != GLM_ARCH_PURE)</span></div>
|
||||
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div>
|
||||
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="preprocessor">#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED))</span></div>
|
||||
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_ARCH_DISPLAYED</span></div>
|
||||
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="preprocessor"></span><span class="preprocessor"># if(GLM_ARCH == GLM_ARCH_PURE)</span></div>
|
||||
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: Platform independent")</span></div>
|
||||
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH & GLM_ARCH_SSE2)</span></div>
|
||||
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: SSE2 instruction set")</span></div>
|
||||
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH & GLM_ARCH_SSE3)</span></div>
|
||||
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: SSE3 instruction set")</span></div>
|
||||
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH & GLM_ARCH_SSE4)</span></div>
|
||||
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: SSE4 instruction set")</span></div>
|
||||
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH & GLM_ARCH_AVX)</span></div>
|
||||
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: AVX instruction set")</span></div>
|
||||
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_ARCH & GLM_ARCH_AVX2)</span></div>
|
||||
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: AVX2 instruction set")</span></div>
|
||||
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="preprocessor"></span><span class="preprocessor"># endif//GLM_ARCH</span></div>
|
||||
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span></div>
|
||||
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="comment">// Support check macros</span></div>
|
||||
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
|
||||
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="preprocessor">#define GLM_SUPPORT_ANONYMOUS_UNION() \</span></div>
|
||||
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="preprocessor"> ((GLM_LANG & GLM_LANG_CXX98) == GLM_LANG_CXX98)</span></div>
|
||||
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="comment">//#define GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE() <backslash></span></div>
|
||||
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="comment">// (((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)))</span></div>
|
||||
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div>
|
||||
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="preprocessor">#define GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE() \</span></div>
|
||||
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="preprocessor"> (((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))</span></div>
|
||||
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="preprocessor">#define GLM_SUPPORT_SWIZZLE_OPERATOR() \</span></div>
|
||||
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="preprocessor"> (</span><span class="comment">/*defined(GLM_SWIZZLE) && */</span><span class="preprocessor">GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE())</span></div>
|
||||
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="preprocessor">#define GLM_SUPPORT_SWIZZLE_FUNCTION() defined(GLM_SWIZZLE)</span></div>
|
||||
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="comment">// Components</span></div>
|
||||
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div>
|
||||
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="comment">//#define GLM_FORCE_ONLY_XYZW</span></div>
|
||||
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="preprocessor">#define GLM_COMPONENT_ONLY_XYZW 0 // To disable multiple vector component names access.</span></div>
|
||||
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPONENT_CXX98 1 // </span></div>
|
||||
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="preprocessor"></span><span class="preprocessor">#define GLM_COMPONENT_CXX11 2 // To use anonymous union to provide multiple component names access for class valType. Visual C++ only.</span></div>
|
||||
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="preprocessor">#if(GLM_SUPPORT_ANONYMOUS_UNION_OF_STRUCTURE() && !defined(GLM_FORCE_ONLY_XYZW))</span></div>
|
||||
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPONENT GLM_COMPONENT_CXX11</span></div>
|
||||
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="preprocessor"></span><span class="preprocessor">#elif(GLM_SUPPORT_ANONYMOUS_UNION() && !defined(GLM_FORCE_ONLY_XYZW))</span></div>
|
||||
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPONENT GLM_COMPONENT_CXX98</span></div>
|
||||
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_COMPONENT GLM_COMPONENT_ONLY_XYZW</span></div>
|
||||
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="preprocessor">#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPONENT_DISPLAYED))</span></div>
|
||||
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_COMPONENT_DISPLAYED</span></div>
|
||||
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="preprocessor"></span><span class="preprocessor"># if(GLM_COMPONENT == GLM_COMPONENT_CXX98)</span></div>
|
||||
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: x,y,z,w; r,g,b,a; s,t,p,q component names except of half based vector types")</span></div>
|
||||
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPONENT == GLM_COMPONENT_ONLY_XYZW)</span></div>
|
||||
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: x,y,z,w component names for all vector types")</span></div>
|
||||
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_COMPONENT == GLM_COMPONENT_CXX11)</span></div>
|
||||
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: x,y,z,w; r,g,b,a; s,t,p,q component names for all vector types")</span></div>
|
||||
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="preprocessor"></span><span class="preprocessor"># else</span></div>
|
||||
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="preprocessor"></span><span class="preprocessor"># error "GLM: GLM_COMPONENT value unknown"</span></div>
|
||||
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="preprocessor"></span><span class="preprocessor"># endif//GLM_MESSAGE_COMPONENT_DISPLAYED</span></div>
|
||||
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span></div>
|
||||
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="comment">// Radians</span></div>
|
||||
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div>
|
||||
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="comment">//#define GLM_FORCE_RADIANS</span></div>
|
||||
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> </div>
|
||||
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="comment">// Static assert</span></div>
|
||||
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> </div>
|
||||
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="preprocessor">#if(GLM_LANG == GLM_LANG_CXX0X)</span></div>
|
||||
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT(x, message) static_assert(x, message)</span></div>
|
||||
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="preprocessor"></span><span class="preprocessor">#elif(defined(BOOST_STATIC_ASSERT))</span></div>
|
||||
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT(x, message) BOOST_STATIC_ASSERT(x)</span></div>
|
||||
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="preprocessor"></span><span class="preprocessor">#elif(GLM_COMPILER & GLM_COMPILER_VC)</span></div>
|
||||
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]</span></div>
|
||||
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT(x, message)</span></div>
|
||||
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_STATIC_ASSERT_NULL</span></div>
|
||||
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_LANG</span></div>
|
||||
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="comment">// Qualifiers </span></div>
|
||||
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> </div>
|
||||
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="comment">// User defines: GLM_FORCE_INLINE GLM_FORCE_CUDA</span></div>
|
||||
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> </div>
|
||||
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="preprocessor">#if(defined(GLM_FORCE_CUDA) || (GLM_COMPILER & GLM_COMPILER_CUDA))</span></div>
|
||||
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_CUDA_FUNC_DEF __device__ __host__ </span></div>
|
||||
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_CUDA_FUNC_DECL __device__ __host__ </span></div>
|
||||
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="preprocessor"></span><span class="preprocessor">#define GLM_VAR_USED</span></div>
|
||||
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="preprocessor">#if(defined(GLM_FORCE_INLINE))</span></div>
|
||||
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="preprocessor"></span><span class="preprocessor"># if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2005))</span></div>
|
||||
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_INLINE __forceinline</span></div>
|
||||
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="preprocessor"></span><span class="preprocessor"># elif((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC34))</span></div>
|
||||
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_INLINE __attribute__((always_inline))</span></div>
|
||||
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="preprocessor"></span><span class="preprocessor"># else</span></div>
|
||||
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_INLINE inline</span></div>
|
||||
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="preprocessor"></span><span class="preprocessor"># endif//GLM_COMPILER</span></div>
|
||||
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_INLINE inline</span></div>
|
||||
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="preprocessor"></span><span class="preprocessor">#endif//defined(GLM_FORCE_INLINE)</span></div>
|
||||
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="preprocessor">#define GLM_FUNC_DECL GLM_CUDA_FUNC_DECL</span></div>
|
||||
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="preprocessor"></span><span class="preprocessor">#define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE</span></div>
|
||||
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="comment">// Swizzle operators</span></div>
|
||||
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> </div>
|
||||
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="comment">// User defines: GLM_SWIZZLE</span></div>
|
||||
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div>
|
||||
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="preprocessor">#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_SWIZZLE_DISPLAYED))</span></div>
|
||||
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_SWIZZLE_DISPLAYED</span></div>
|
||||
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="preprocessor"></span><span class="preprocessor"># if(GLM_SUPPORT_SWIZZLE_OPERATOR())</span></div>
|
||||
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: Swizzling operators enabled")</span></div>
|
||||
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_SUPPORT_SWIZZLE_FUNCTION())</span></div>
|
||||
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: Swizzling operators supported through swizzling functions")</span></div>
|
||||
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="preprocessor"></span><span class="preprocessor"># else</span></div>
|
||||
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: Swizzling operators disabled")</span></div>
|
||||
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="preprocessor"></span><span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span></div>
|
||||
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="preprocessor">#endif//glm_setup</span></div>
|
||||
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_CUDA_FUNC_DEF</span></div>
|
||||
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_CUDA_FUNC_DECL</span></div>
|
||||
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="preprocessor">#if GLM_COMPILER & GLM_COMPILER_GCC</span></div>
|
||||
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="preprocessor"></span><span class="preprocessor">#define GLM_VAR_USED __attribute__ ((unused))</span></div>
|
||||
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="preprocessor"></span><span class="preprocessor">#define GLM_VAR_USED</span></div>
|
||||
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="preprocessor">#if(defined(GLM_FORCE_INLINE))</span></div>
|
||||
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="preprocessor"></span><span class="preprocessor"># if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2005))</span></div>
|
||||
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_INLINE __forceinline</span></div>
|
||||
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="preprocessor"></span><span class="preprocessor"># elif((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC34))</span></div>
|
||||
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_INLINE __attribute__((always_inline))</span></div>
|
||||
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="preprocessor"></span><span class="preprocessor"># else</span></div>
|
||||
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_INLINE inline</span></div>
|
||||
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="preprocessor"></span><span class="preprocessor"># endif//GLM_COMPILER</span></div>
|
||||
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_INLINE inline</span></div>
|
||||
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="preprocessor"></span><span class="preprocessor">#endif//defined(GLM_FORCE_INLINE)</span></div>
|
||||
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="preprocessor">#define GLM_FUNC_DECL GLM_CUDA_FUNC_DECL</span></div>
|
||||
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="preprocessor"></span><span class="preprocessor">#define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE</span></div>
|
||||
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="comment">// Swizzle operators</span></div>
|
||||
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> </div>
|
||||
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="comment">// User defines: GLM_SWIZZLE</span></div>
|
||||
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> </div>
|
||||
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="preprocessor">#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_SWIZZLE_DISPLAYED))</span></div>
|
||||
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="preprocessor"></span><span class="preprocessor"># define GLM_MESSAGE_SWIZZLE_DISPLAYED</span></div>
|
||||
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="preprocessor"></span><span class="preprocessor"># if(GLM_SUPPORT_SWIZZLE_OPERATOR())</span></div>
|
||||
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: Swizzling operators enabled")</span></div>
|
||||
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="preprocessor"></span><span class="preprocessor"># elif(GLM_SUPPORT_SWIZZLE_FUNCTION())</span></div>
|
||||
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: Swizzling operators supported through swizzling functions")</span></div>
|
||||
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="preprocessor"></span><span class="preprocessor"># else</span></div>
|
||||
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: Swizzling operators disabled")</span></div>
|
||||
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="preprocessor"></span><span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="preprocessor"></span><span class="preprocessor">#endif//GLM_MESSAGE</span></div>
|
||||
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="preprocessor">#endif//glm_setup</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
@ -135,99 +135,101 @@
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  fvec4SIMD <span class="keyword">const</span> & v3);</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keyword">explicit</span> fmat4x4SIMD(</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  tmat4x4<float> <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="comment">// Conversions</span></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="comment">//template <typename U> </span></div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="comment">//explicit tmat4x4(tmat4x4<U> const & m);</span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="comment">//explicit tmat4x4(tmat2x2<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="comment">//explicit tmat4x4(tmat3x3<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="comment">//explicit tmat4x4(tmat2x3<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="comment">//explicit tmat4x4(tmat3x2<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="comment">//explicit tmat4x4(tmat2x4<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="comment">//explicit tmat4x4(tmat4x2<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="comment">//explicit tmat4x4(tmat3x4<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="comment">//explicit tmat4x4(tmat4x3<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="comment">// Accesses</span></div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  fvec4SIMD & operator[](size_type i);</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  fvec4SIMD <span class="keyword">const</span> & operator[](size_type i) <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="comment">// Unary updatable operators</span></div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  fmat4x4SIMD & operator= (fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  fmat4x4SIMD & operator+= (<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  fmat4x4SIMD & operator+= (fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  fmat4x4SIMD & operator-= (<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  fmat4x4SIMD & operator-= (fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  fmat4x4SIMD & operator*= (<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  fmat4x4SIMD & operator*= (fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  fmat4x4SIMD & operator/= (<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  fmat4x4SIMD & operator/= (fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  fmat4x4SIMD & operator++ ();</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  fmat4x4SIMD & operator-- ();</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  };</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="comment">// Binary operators</span></div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  fmat4x4SIMD operator+ (fmat4x4SIMD <span class="keyword">const</span> & m, <span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  fmat4x4SIMD operator+ (<span class="keywordtype">float</span> <span class="keyword">const</span> & s, fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  fmat4x4SIMD operator+ (fmat4x4SIMD <span class="keyword">const</span> & m1, fmat4x4SIMD <span class="keyword">const</span> & m2);</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  </div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  fmat4x4SIMD operator- (fmat4x4SIMD <span class="keyword">const</span> & m, <span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  fmat4x4SIMD operator- (<span class="keywordtype">float</span> <span class="keyword">const</span> & s, fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  fmat4x4SIMD operator- (fmat4x4SIMD <span class="keyword">const</span> & m1, fmat4x4SIMD <span class="keyword">const</span> & m2);</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  fmat4x4SIMD operator* (fmat4x4SIMD <span class="keyword">const</span> & m, <span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  fmat4x4SIMD operator* (<span class="keywordtype">float</span> <span class="keyword">const</span> & s, fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  fvec4SIMD operator* (fmat4x4SIMD <span class="keyword">const</span> & m, fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  fvec4SIMD operator* (fvec4SIMD <span class="keyword">const</span> & v, fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  fmat4x4SIMD operator* (fmat4x4SIMD <span class="keyword">const</span> & m1, fmat4x4SIMD <span class="keyword">const</span> & m2);</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keyword">explicit</span> fmat4x4SIMD(</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  __m128 <span class="keyword">const</span> in[4]);</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="comment">// Conversions</span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="comment">//template <typename U> </span></div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="comment">//explicit tmat4x4(tmat4x4<U> const & m);</span></div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="comment">//explicit tmat4x4(tmat2x2<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="comment">//explicit tmat4x4(tmat3x3<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="comment">//explicit tmat4x4(tmat2x3<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="comment">//explicit tmat4x4(tmat3x2<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="comment">//explicit tmat4x4(tmat2x4<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="comment">//explicit tmat4x4(tmat4x2<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="comment">//explicit tmat4x4(tmat3x4<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="comment">//explicit tmat4x4(tmat4x3<T> const & x);</span></div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="comment">// Accesses</span></div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  fvec4SIMD & operator[](size_type i);</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  fvec4SIMD <span class="keyword">const</span> & operator[](size_type i) <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="comment">// Unary updatable operators</span></div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  fmat4x4SIMD & operator= (fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  fmat4x4SIMD & operator+= (<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  fmat4x4SIMD & operator+= (fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  fmat4x4SIMD & operator-= (<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  fmat4x4SIMD & operator-= (fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  fmat4x4SIMD & operator*= (<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  fmat4x4SIMD & operator*= (fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  fmat4x4SIMD & operator/= (<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  fmat4x4SIMD & operator/= (fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  fmat4x4SIMD & operator++ ();</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  fmat4x4SIMD & operator-- ();</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  };</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="comment">// Binary operators</span></div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  fmat4x4SIMD operator+ (fmat4x4SIMD <span class="keyword">const</span> & m, <span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  fmat4x4SIMD operator+ (<span class="keywordtype">float</span> <span class="keyword">const</span> & s, fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  fmat4x4SIMD operator+ (fmat4x4SIMD <span class="keyword">const</span> & m1, fmat4x4SIMD <span class="keyword">const</span> & m2);</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  </div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  fmat4x4SIMD operator- (fmat4x4SIMD <span class="keyword">const</span> & m, <span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  fmat4x4SIMD operator- (<span class="keywordtype">float</span> <span class="keyword">const</span> & s, fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  fmat4x4SIMD operator- (fmat4x4SIMD <span class="keyword">const</span> & m1, fmat4x4SIMD <span class="keyword">const</span> & m2);</div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  fmat4x4SIMD operator* (fmat4x4SIMD <span class="keyword">const</span> & m, <span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  fmat4x4SIMD operator* (<span class="keywordtype">float</span> <span class="keyword">const</span> & s, fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  fvec4SIMD operator* (fmat4x4SIMD <span class="keyword">const</span> & m, fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  fvec4SIMD operator* (fvec4SIMD <span class="keyword">const</span> & v, fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  fmat4x4SIMD operator/ (fmat4x4SIMD <span class="keyword">const</span> & m, <span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  fmat4x4SIMD operator/ (<span class="keywordtype">float</span> <span class="keyword">const</span> & s, fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  fvec4SIMD operator/ (fmat4x4SIMD <span class="keyword">const</span> & m, fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  fvec4SIMD operator/ (fvec4SIMD <span class="keyword">const</span> & v, fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  fmat4x4SIMD operator/ (fmat4x4SIMD <span class="keyword">const</span> & m1, fmat4x4SIMD <span class="keyword">const</span> & m2);</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  fmat4x4SIMD operator* (fmat4x4SIMD <span class="keyword">const</span> & m1, fmat4x4SIMD <span class="keyword">const</span> & m2);</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  fmat4x4SIMD operator/ (fmat4x4SIMD <span class="keyword">const</span> & m, <span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  fmat4x4SIMD operator/ (<span class="keywordtype">float</span> <span class="keyword">const</span> & s, fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  fvec4SIMD operator/ (fmat4x4SIMD <span class="keyword">const</span> & m, fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  fvec4SIMD operator/ (fvec4SIMD <span class="keyword">const</span> & v, fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="comment">// Unary constant operators</span></div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  fmat4x4SIMD <span class="keyword">const</span> operator- (fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  fmat4x4SIMD <span class="keyword">const</span> operator-- (fmat4x4SIMD <span class="keyword">const</span> & m, <span class="keywordtype">int</span>);</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  fmat4x4SIMD <span class="keyword">const</span> operator++ (fmat4x4SIMD <span class="keyword">const</span> & m, <span class="keywordtype">int</span>);</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }<span class="comment">//namespace detail</span></div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keyword">typedef</span> detail::fmat4x4SIMD simdMat4;</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  fmat4x4SIMD operator/ (fmat4x4SIMD <span class="keyword">const</span> & m1, fmat4x4SIMD <span class="keyword">const</span> & m2);</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="comment">// Unary constant operators</span></div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  fmat4x4SIMD <span class="keyword">const</span> operator- (fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  fmat4x4SIMD <span class="keyword">const</span> operator-- (fmat4x4SIMD <span class="keyword">const</span> & m, <span class="keywordtype">int</span>);</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  fmat4x4SIMD <span class="keyword">const</span> operator++ (fmat4x4SIMD <span class="keyword">const</span> & m, <span class="keywordtype">int</span>);</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> }<span class="comment">//namespace detail</span></div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  detail::tmat4x4<float> <a class="code" href="a00153.html#ga8c376eb15971eb52d85df5ee26825627" title="Converts a quaternion to a 4 * 4 matrix.">mat4_cast</a>(</div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  detail::fmat4x4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  detail::fmat4x4SIMD <a class="code" href="a00133.html#ga0e48491a51b3f366d671c01894705605" title="Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and...">matrixCompMult</a>(</div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  detail::fmat4x4SIMD <span class="keyword">const</span> & x,</div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  detail::fmat4x4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  detail::fmat4x4SIMD <a class="code" href="a00133.html#ga5d896e8651512fc098a677dbe403eeac" title="Treats the first parameter c as a column vector and the second parameter r as a row vector and does a...">outerProduct</a>(</div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  detail::fvec4SIMD <span class="keyword">const</span> & c,</div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  detail::fvec4SIMD <span class="keyword">const</span> & r);</div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  detail::fmat4x4SIMD <a class="code" href="a00133.html#gac58a4106a57fb7da41b3aeae3832998b" title="Returns the transposed matrix of x.">transpose</a>(</div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  detail::fmat4x4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordtype">float</span> <a class="code" href="a00133.html#gad3bfb2098e1572d2131a261c1fb76dd4" title="Return the determinant of a mat2 matrix.">determinant</a>(</div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  detail::fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  detail::fmat4x4SIMD <a class="code" href="a00133.html#gada3384a86cf38a1fd96275194b8ba8c0" title="Return the inverse of a mat2 matrix.">inverse</a>(</div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  detail::fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }<span class="comment">// namespace glm</span></div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor">#include "simd_mat4.inl"</span></div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keyword">typedef</span> detail::fmat4x4SIMD simdMat4;</div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  detail::tmat4x4<float> <a class="code" href="a00153.html#ga8c376eb15971eb52d85df5ee26825627" title="Converts a quaternion to a 4 * 4 matrix.">mat4_cast</a>(</div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  detail::fmat4x4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  detail::fmat4x4SIMD <a class="code" href="a00133.html#ga0e48491a51b3f366d671c01894705605" title="Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and...">matrixCompMult</a>(</div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  detail::fmat4x4SIMD <span class="keyword">const</span> & x,</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  detail::fmat4x4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  detail::fmat4x4SIMD <a class="code" href="a00133.html#ga5d896e8651512fc098a677dbe403eeac" title="Treats the first parameter c as a column vector and the second parameter r as a row vector and does a...">outerProduct</a>(</div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  detail::fvec4SIMD <span class="keyword">const</span> & c,</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  detail::fvec4SIMD <span class="keyword">const</span> & r);</div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  detail::fmat4x4SIMD <a class="code" href="a00133.html#gac58a4106a57fb7da41b3aeae3832998b" title="Returns the transposed matrix of x.">transpose</a>(</div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  detail::fmat4x4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordtype">float</span> <a class="code" href="a00133.html#gad3bfb2098e1572d2131a261c1fb76dd4" title="Return the determinant of a mat2 matrix.">determinant</a>(</div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  detail::fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  detail::fmat4x4SIMD <a class="code" href="a00133.html#gada3384a86cf38a1fd96275194b8ba8c0" title="Return the inverse of a mat2 matrix.">inverse</a>(</div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  detail::fmat4x4SIMD <span class="keyword">const</span> & m);</div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }<span class="comment">// namespace glm</span></div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor">#endif//(GLM_ARCH != GLM_ARCH_PURE)</span></div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor">#endif//GLM_GTX_simd_mat4</span></div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor">#include "simd_mat4.inl"</span></div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor">#endif//(GLM_ARCH != GLM_ARCH_PURE)</span></div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor">#endif//GLM_GTX_simd_mat4</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
@ -101,262 +101,284 @@
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: GLM_GTX_simd_vec4 extension included")</span></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">namespace </span>glm{</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">namespace </span>detail</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> {</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  GLM_ALIGNED_STRUCT(16) fvec4SIMD</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  {</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keyword">enum</span> ctor{null};</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">typedef</span> __m128 value_type;</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keyword">typedef</span> std::size_t size_type;</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keyword">static</span> size_type value_size();</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">typedef</span> fvec4SIMD type;</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keyword">typedef</span> tvec4<bool> bool_type;</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  __m128 Data;</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="comment">// Implicit basic constructors</span></div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// Warning silencer for nameless struct/union.</span></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#if (GLM_COMPILER & GLM_COMPILER_VC)</span></div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"></span><span class="preprocessor"># pragma warning(push)</span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span><span class="preprocessor"># pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union</span></div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">namespace </span>glm{</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">namespace </span>detail</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> {</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  GLM_ALIGNED_STRUCT(16) fvec4SIMD</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  {</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keyword">enum</span> ctor{null};</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keyword">typedef</span> __m128 value_type;</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">typedef</span> std::size_t size_type;</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keyword">static</span> size_type value_size();</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  fvec4SIMD();</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  fvec4SIMD(__m128 <span class="keyword">const</span> & Data);</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  fvec4SIMD(fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="comment">// Explicit basic constructors</span></div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">explicit</span> fvec4SIMD(</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  ctor);</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">explicit</span> fvec4SIMD(</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keyword">explicit</span> fvec4SIMD(</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & z, </div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & w);</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">explicit</span> fvec4SIMD(</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  tvec4<float> <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  fvec4SIMD(<a class="code" href="a00142.html#ga80139c81aa2687717598312039cea8d1" title="2 components vector of floating-point numbers.">vec2</a> <span class="keyword">const</span> & v, <span class="keywordtype">float</span> <span class="keyword">const</span> & s1, <span class="keywordtype">float</span> <span class="keyword">const</span> & s2);</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  fvec4SIMD(<span class="keywordtype">float</span> <span class="keyword">const</span> & s1, <a class="code" href="a00142.html#ga80139c81aa2687717598312039cea8d1" title="2 components vector of floating-point numbers.">vec2</a> <span class="keyword">const</span> & v, <span class="keywordtype">float</span> <span class="keyword">const</span> & s2);</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  fvec4SIMD(<span class="keywordtype">float</span> <span class="keyword">const</span> & s1, <span class="keywordtype">float</span> <span class="keyword">const</span> & s2, <a class="code" href="a00142.html#ga80139c81aa2687717598312039cea8d1" title="2 components vector of floating-point numbers.">vec2</a> <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  fvec4SIMD(<a class="code" href="a00142.html#ga8a44105c47072f9ea1413f15faa31f64" title="3 components vector of floating-point numbers.">vec3</a> <span class="keyword">const</span> & v, <span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  fvec4SIMD(<span class="keywordtype">float</span> <span class="keyword">const</span> & s, <a class="code" href="a00142.html#ga8a44105c47072f9ea1413f15faa31f64" title="3 components vector of floating-point numbers.">vec3</a> <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  fvec4SIMD(<a class="code" href="a00142.html#ga80139c81aa2687717598312039cea8d1" title="2 components vector of floating-point numbers.">vec2</a> <span class="keyword">const</span> & v1, <a class="code" href="a00142.html#ga80139c81aa2687717598312039cea8d1" title="2 components vector of floating-point numbers.">vec2</a> <span class="keyword">const</span> & v2);</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="comment">//fvec4SIMD(ivec4SIMD const & v);</span></div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="comment">// Unary arithmetic operators</span></div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  fvec4SIMD& operator= (fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  fvec4SIMD& operator+=(fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  fvec4SIMD& operator-=(fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  fvec4SIMD& operator*=(fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  fvec4SIMD& operator/=(fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  fvec4SIMD& operator+=(<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  fvec4SIMD& operator-=(<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  fvec4SIMD& operator*=(<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  fvec4SIMD& operator/=(<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  fvec4SIMD& operator++();</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  fvec4SIMD& operator--();</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="comment">// Swizzle operators</span></div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keyword">template</span> <comp X, comp Y, comp Z, comp W></div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  fvec4SIMD& swizzle();</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keyword">template</span> <comp X, comp Y, comp Z, comp W></div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  fvec4SIMD swizzle() <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keyword">template</span> <comp X, comp Y, comp Z></div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  fvec4SIMD swizzle() <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keyword">template</span> <comp X, comp Y></div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  fvec4SIMD swizzle() <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keyword">template</span> <comp X></div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  fvec4SIMD swizzle() <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  };</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> }<span class="comment">//namespace detail</span></div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keyword">typedef</span> fvec4SIMD type;</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keyword">typedef</span> tvec4<bool> bool_type;</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor">#ifdef GLM_SIMD_ENABLE_XYZW_UNION</span></div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"></span> <span class="keyword">union</span></div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  __m128 Data;</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">struct </span>{<span class="keywordtype">float</span> x, y, z, w;};</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  };</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"></span> __m128 Data;</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="comment">// Implicit basic constructors</span></div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  fvec4SIMD();</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  fvec4SIMD(__m128 <span class="keyword">const</span> & Data);</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  fvec4SIMD(fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="comment">// Explicit basic constructors</span></div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">explicit</span> fvec4SIMD(</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  ctor);</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keyword">explicit</span> fvec4SIMD(</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">explicit</span> fvec4SIMD(</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & z, </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & w);</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keyword">explicit</span> fvec4SIMD(</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  tvec4<float> <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  fvec4SIMD(<a class="code" href="a00142.html#ga80139c81aa2687717598312039cea8d1" title="2 components vector of floating-point numbers.">vec2</a> <span class="keyword">const</span> & v, <span class="keywordtype">float</span> <span class="keyword">const</span> & s1, <span class="keywordtype">float</span> <span class="keyword">const</span> & s2);</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  fvec4SIMD(<span class="keywordtype">float</span> <span class="keyword">const</span> & s1, <a class="code" href="a00142.html#ga80139c81aa2687717598312039cea8d1" title="2 components vector of floating-point numbers.">vec2</a> <span class="keyword">const</span> & v, <span class="keywordtype">float</span> <span class="keyword">const</span> & s2);</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  fvec4SIMD(<span class="keywordtype">float</span> <span class="keyword">const</span> & s1, <span class="keywordtype">float</span> <span class="keyword">const</span> & s2, <a class="code" href="a00142.html#ga80139c81aa2687717598312039cea8d1" title="2 components vector of floating-point numbers.">vec2</a> <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  fvec4SIMD(<a class="code" href="a00142.html#ga8a44105c47072f9ea1413f15faa31f64" title="3 components vector of floating-point numbers.">vec3</a> <span class="keyword">const</span> & v, <span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  fvec4SIMD(<span class="keywordtype">float</span> <span class="keyword">const</span> & s, <a class="code" href="a00142.html#ga8a44105c47072f9ea1413f15faa31f64" title="3 components vector of floating-point numbers.">vec3</a> <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  fvec4SIMD(<a class="code" href="a00142.html#ga80139c81aa2687717598312039cea8d1" title="2 components vector of floating-point numbers.">vec2</a> <span class="keyword">const</span> & v1, <a class="code" href="a00142.html#ga80139c81aa2687717598312039cea8d1" title="2 components vector of floating-point numbers.">vec2</a> <span class="keyword">const</span> & v2);</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="comment">//fvec4SIMD(ivec4SIMD const & v);</span></div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">// Unary arithmetic operators</span></div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  fvec4SIMD& operator= (fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  fvec4SIMD& operator+=(fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  fvec4SIMD& operator-=(fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  fvec4SIMD& operator*=(fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  fvec4SIMD& operator/=(fvec4SIMD <span class="keyword">const</span> & v);</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  fvec4SIMD& operator+=(<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  fvec4SIMD& operator-=(<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  fvec4SIMD& operator*=(<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  fvec4SIMD& operator/=(<span class="keywordtype">float</span> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  fvec4SIMD& operator++();</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  fvec4SIMD& operator--();</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">typedef</span> glm::detail::fvec4SIMD simdVec4;</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  detail::tvec4<float> vec4_cast(</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gaeca8e195d482248f677e3905d00f11ae" title="Returns x if x >= 0; otherwise, it returns -x.">abs</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga79f412e6d33cb4be13497056c2298d14" title="Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.">sign</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="comment">// Swizzle operators</span></div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keyword">template</span> <comp X, comp Y, comp Z, comp W></div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  fvec4SIMD& swizzle();</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keyword">template</span> <comp X, comp Y, comp Z, comp W></div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  fvec4SIMD swizzle() <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keyword">template</span> <comp X, comp Y, comp Z></div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  fvec4SIMD swizzle() <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">template</span> <comp X, comp Y></div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  fvec4SIMD swizzle() <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keyword">template</span> <comp X></div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  fvec4SIMD swizzle() <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  };</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> }<span class="comment">//namespace detail</span></div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keyword">typedef</span> glm::detail::fvec4SIMD simdVec4;</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gac3458e950a8a716468866f841a833c77" title="Returns a value equal to the nearest integer that is less then or equal to x.">floor</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gae1268fe85d913d9e4054de0e046abaef" title="Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...">trunc</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga32125c5451799e80b886ef665b947d0c" title="Returns a value equal to the nearest integer to x.">round</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="comment">//detail::fvec4SIMD roundEven(detail::fvec4SIMD const & x);</span></div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga1ce130f2934cf1d7aca83a7027422f3c" title="Returns a value equal to the nearest integer that is greater than or equal to x.">ceil</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gad5e3814491ff6baa4f0d16aebcabff9b" title="Return x - floor(x).">fract</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga3bdf136bc96f670965cd2f48d14356b4" title="Modulus.">mod</a>(</div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  detail::fvec4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  detail::tvec4<float> vec4_cast(</div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gaeca8e195d482248f677e3905d00f11ae" title="Returns x if x >= 0; otherwise, it returns -x.">abs</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga79f412e6d33cb4be13497056c2298d14" title="Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.">sign</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gac3458e950a8a716468866f841a833c77" title="Returns a value equal to the nearest integer that is less then or equal to x.">floor</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gae1268fe85d913d9e4054de0e046abaef" title="Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...">trunc</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga32125c5451799e80b886ef665b947d0c" title="Returns a value equal to the nearest integer to x.">round</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="comment">//detail::fvec4SIMD roundEven(detail::fvec4SIMD const & x);</span></div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga3bdf136bc96f670965cd2f48d14356b4" title="Modulus.">mod</a>(</div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="comment">//detail::fvec4SIMD modf(</span></div>
|
||||
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="comment">// detail::fvec4SIMD const & x, </span></div>
|
||||
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="comment">// detail::fvec4SIMD & i);</span></div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga1ce130f2934cf1d7aca83a7027422f3c" title="Returns a value equal to the nearest integer that is greater than or equal to x.">ceil</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gad5e3814491ff6baa4f0d16aebcabff9b" title="Return x - floor(x).">fract</a>(detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga3bdf136bc96f670965cd2f48d14356b4" title="Modulus.">mod</a>(</div>
|
||||
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  detail::fvec4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga0d2bb6c2caad4acf992e6dcd41a626fe" title="Returns y if y < x; otherwise, it returns x.">min</a>(</div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  detail::fvec4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div>
|
||||
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga0d2bb6c2caad4acf992e6dcd41a626fe" title="Returns y if y < x; otherwise, it returns x.">min</a>(</div>
|
||||
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga3f6af26fbb056e0fc8a04ddc8871add2" title="Returns y if x < y; otherwise, it returns x.">max</a>(</div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  detail::fvec4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga3bdf136bc96f670965cd2f48d14356b4" title="Modulus.">mod</a>(</div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="comment">//detail::fvec4SIMD modf(</span></div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="comment">// detail::fvec4SIMD const & x, </span></div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="comment">// detail::fvec4SIMD & i);</span></div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga3f6af26fbb056e0fc8a04ddc8871add2" title="Returns y if x < y; otherwise, it returns x.">max</a>(</div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga99b1ce602a02833646e5077345858da4" title="Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...">clamp</a>(</div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  detail::fvec4SIMD <span class="keyword">const</span> & minVal, </div>
|
||||
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  detail::fvec4SIMD <span class="keyword">const</span> & maxVal); </div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga99b1ce602a02833646e5077345858da4" title="Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...">clamp</a>(</div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga0d2bb6c2caad4acf992e6dcd41a626fe" title="Returns y if y < x; otherwise, it returns x.">min</a>(</div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  detail::fvec4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga0d2bb6c2caad4acf992e6dcd41a626fe" title="Returns y if y < x; otherwise, it returns x.">min</a>(</div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga3f6af26fbb056e0fc8a04ddc8871add2" title="Returns y if x < y; otherwise, it returns x.">max</a>(</div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & minVal, </div>
|
||||
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & maxVal); </div>
|
||||
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="comment">// \todo Test when 'a' is a boolean.</span></div>
|
||||
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"></span> detail::fvec4SIMD <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(</div>
|
||||
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  detail::fvec4SIMD <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  detail::fvec4SIMD <span class="keyword">const</span> & a);</div>
|
||||
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga3d3199dcbbb0ac8e0d9664d538702a40" title="Returns 0.0 if x < edge, otherwise it returns 1.0.">step</a>(</div>
|
||||
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  detail::fvec4SIMD <span class="keyword">const</span> & edge, </div>
|
||||
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
|
||||
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga3d3199dcbbb0ac8e0d9664d538702a40" title="Returns 0.0 if x < edge, otherwise it returns 1.0.">step</a>(</div>
|
||||
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & edge, </div>
|
||||
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div>
|
||||
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gabdfe71a62ef69b5ec834601e87588667" title="Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...">smoothstep</a>(</div>
|
||||
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  detail::fvec4SIMD <span class="keyword">const</span> & edge0, </div>
|
||||
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  detail::fvec4SIMD <span class="keyword">const</span> & edge1, </div>
|
||||
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
|
||||
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gabdfe71a62ef69b5ec834601e87588667" title="Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...">smoothstep</a>(</div>
|
||||
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & edge0, </div>
|
||||
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & edge1, </div>
|
||||
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
|
||||
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="comment">//bvec4 isnan(detail::fvec4SIMD const & x);</span></div>
|
||||
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div>
|
||||
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="comment">//bvec4 isinf(detail::fvec4SIMD const & x);</span></div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  detail::fvec4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
|
||||
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga3f6af26fbb056e0fc8a04ddc8871add2" title="Returns y if x < y; otherwise, it returns x.">max</a>(</div>
|
||||
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
|
||||
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga99b1ce602a02833646e5077345858da4" title="Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...">clamp</a>(</div>
|
||||
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  detail::fvec4SIMD <span class="keyword">const</span> & minVal, </div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  detail::fvec4SIMD <span class="keyword">const</span> & maxVal); </div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga99b1ce602a02833646e5077345858da4" title="Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...">clamp</a>(</div>
|
||||
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & minVal, </div>
|
||||
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & maxVal); </div>
|
||||
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div>
|
||||
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="comment">// \todo Test when 'a' is a boolean.</span></div>
|
||||
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"></span> detail::fvec4SIMD <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">mix</a>(</div>
|
||||
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  detail::fvec4SIMD <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  detail::fvec4SIMD <span class="keyword">const</span> & y, </div>
|
||||
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  detail::fvec4SIMD <span class="keyword">const</span> & a);</div>
|
||||
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
|
||||
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga3d3199dcbbb0ac8e0d9664d538702a40" title="Returns 0.0 if x < edge, otherwise it returns 1.0.">step</a>(</div>
|
||||
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  detail::fvec4SIMD <span class="keyword">const</span> & edge, </div>
|
||||
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div>
|
||||
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  detail::fvec4SIMD <a class="code" href="a00129.html#ga3d3199dcbbb0ac8e0d9664d538702a40" title="Returns 0.0 if x < edge, otherwise it returns 1.0.">step</a>(</div>
|
||||
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & edge, </div>
|
||||
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div>
|
||||
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gabdfe71a62ef69b5ec834601e87588667" title="Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...">smoothstep</a>(</div>
|
||||
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  detail::fvec4SIMD <span class="keyword">const</span> & edge0, </div>
|
||||
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  detail::fvec4SIMD <span class="keyword">const</span> & edge1, </div>
|
||||
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
|
||||
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gabdfe71a62ef69b5ec834601e87588667" title="Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...">smoothstep</a>(</div>
|
||||
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & edge0, </div>
|
||||
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & edge1, </div>
|
||||
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div>
|
||||
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="comment">//detail::ivec4SIMD floatBitsToInt(detail::fvec4SIMD const & value);</span></div>
|
||||
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
|
||||
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="comment">//detail::fvec4SIMD intBitsToFloat(detail::ivec4SIMD const & value);</span></div>
|
||||
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
|
||||
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gae88b926eebc4d610ecdd148bf8c7bdac" title="Computes and returns a * b + c.">fma</a>(</div>
|
||||
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  detail::fvec4SIMD <span class="keyword">const</span> & a, </div>
|
||||
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  detail::fvec4SIMD <span class="keyword">const</span> & b, </div>
|
||||
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  detail::fvec4SIMD <span class="keyword">const</span> & c);</div>
|
||||
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
|
||||
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="comment">//detail::fvec4SIMD frexp(detail::fvec4SIMD const & x, detail::ivec4SIMD & exp);</span></div>
|
||||
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
|
||||
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="comment">//detail::fvec4SIMD ldexp(detail::fvec4SIMD const & x, detail::ivec4SIMD const & exp);</span></div>
|
||||
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
|
||||
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordtype">float</span> <a class="code" href="a00131.html#ga282360c8bb80b80d3c7f5bc00766d873" title="Returns the length of x, i.e., sqrt(x * x).">length</a>(</div>
|
||||
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
|
||||
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordtype">float</span> <a class="code" href="a00172.html#ga2e726cc8b9f02b7c09910858ea1afac6" title="Faster than the common length function but less accurate.">fastLength</a>(</div>
|
||||
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
|
||||
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordtype">float</span> niceLength(</div>
|
||||
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
|
||||
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  detail::fvec4SIMD length4(</div>
|
||||
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div>
|
||||
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  detail::fvec4SIMD fastLength4(</div>
|
||||
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
|
||||
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  detail::fvec4SIMD niceLength4(</div>
|
||||
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
|
||||
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordtype">float</span> <a class="code" href="a00131.html#ga3fac0e61144f60184d961dd156709dd3" title="Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).">distance</a>(</div>
|
||||
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  detail::fvec4SIMD <span class="keyword">const</span> & p0,</div>
|
||||
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  detail::fvec4SIMD <span class="keyword">const</span> & p1);</div>
|
||||
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
|
||||
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  detail::fvec4SIMD distance4(</div>
|
||||
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  detail::fvec4SIMD <span class="keyword">const</span> & p0,</div>
|
||||
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  detail::fvec4SIMD <span class="keyword">const</span> & p1);</div>
|
||||
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
|
||||
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordtype">float</span> simdDot(</div>
|
||||
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  detail::fvec4SIMD <span class="keyword">const</span> & x,</div>
|
||||
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  detail::fvec4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div>
|
||||
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  detail::fvec4SIMD dot4(</div>
|
||||
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  detail::fvec4SIMD <span class="keyword">const</span> & x,</div>
|
||||
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  detail::fvec4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
|
||||
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  detail::fvec4SIMD <a class="code" href="a00131.html#gaa127ddc9d38f715125f91742d399eb6f" title="Returns the cross product of x and y.">cross</a>(</div>
|
||||
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  detail::fvec4SIMD <span class="keyword">const</span> & x,</div>
|
||||
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  detail::fvec4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
|
||||
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  detail::fvec4SIMD <a class="code" href="a00131.html#ga68b931c228750eeba844c273c54ca43d" title="Returns a vector in the same direction as x but with length of 1.">normalize</a>(</div>
|
||||
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div>
|
||||
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  detail::fvec4SIMD <a class="code" href="a00172.html#ga2953e7426a420bb2b33affce7360ef40" title="Faster than the common normalize function but less accurate.">fastNormalize</a>(</div>
|
||||
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
|
||||
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  detail::fvec4SIMD simdFaceforward(</div>
|
||||
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  detail::fvec4SIMD <span class="keyword">const</span> & N,</div>
|
||||
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  detail::fvec4SIMD <span class="keyword">const</span> & I,</div>
|
||||
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  detail::fvec4SIMD <span class="keyword">const</span> & Nref);</div>
|
||||
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
|
||||
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  detail::fvec4SIMD <a class="code" href="a00131.html#gabe1fa0bef5f854242eb70ce56e5a7d03" title="For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...">reflect</a>(</div>
|
||||
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  detail::fvec4SIMD <span class="keyword">const</span> & I,</div>
|
||||
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  detail::fvec4SIMD <span class="keyword">const</span> & N);</div>
|
||||
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div>
|
||||
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  detail::fvec4SIMD <a class="code" href="a00131.html#gabbb4909d3e99a7a2411cc63252afbbd8" title="For the incident vector I and surface normal N, and the ratio of indices of refraction eta...">refract</a>(</div>
|
||||
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  detail::fvec4SIMD <span class="keyword">const</span> & I,</div>
|
||||
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  detail::fvec4SIMD <span class="keyword">const</span> & N,</div>
|
||||
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & eta);</div>
|
||||
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="comment">//bvec4 isnan(detail::fvec4SIMD const & x);</span></div>
|
||||
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
|
||||
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="comment">//bvec4 isinf(detail::fvec4SIMD const & x);</span></div>
|
||||
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
|
||||
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="comment">//detail::ivec4SIMD floatBitsToInt(detail::fvec4SIMD const & value);</span></div>
|
||||
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
|
||||
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="comment">//detail::fvec4SIMD intBitsToFloat(detail::ivec4SIMD const & value);</span></div>
|
||||
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
|
||||
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  detail::fvec4SIMD <a class="code" href="a00129.html#gae88b926eebc4d610ecdd148bf8c7bdac" title="Computes and returns a * b + c.">fma</a>(</div>
|
||||
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  detail::fvec4SIMD <span class="keyword">const</span> & a, </div>
|
||||
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  detail::fvec4SIMD <span class="keyword">const</span> & b, </div>
|
||||
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  detail::fvec4SIMD <span class="keyword">const</span> & c);</div>
|
||||
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
|
||||
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="comment">//detail::fvec4SIMD frexp(detail::fvec4SIMD const & x, detail::ivec4SIMD & exp);</span></div>
|
||||
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
|
||||
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="comment">//detail::fvec4SIMD ldexp(detail::fvec4SIMD const & x, detail::ivec4SIMD const & exp);</span></div>
|
||||
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
|
||||
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordtype">float</span> <a class="code" href="a00131.html#ga282360c8bb80b80d3c7f5bc00766d873" title="Returns the length of x, i.e., sqrt(x * x).">length</a>(</div>
|
||||
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
|
||||
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordtype">float</span> <a class="code" href="a00172.html#ga2e726cc8b9f02b7c09910858ea1afac6" title="Faster than the common length function but less accurate.">fastLength</a>(</div>
|
||||
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
|
||||
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordtype">float</span> niceLength(</div>
|
||||
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
|
||||
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  detail::fvec4SIMD length4(</div>
|
||||
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
|
||||
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  detail::fvec4SIMD fastLength4(</div>
|
||||
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div>
|
||||
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  detail::fvec4SIMD niceLength4(</div>
|
||||
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
|
||||
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordtype">float</span> <a class="code" href="a00131.html#ga3fac0e61144f60184d961dd156709dd3" title="Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).">distance</a>(</div>
|
||||
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  detail::fvec4SIMD <span class="keyword">const</span> & p0,</div>
|
||||
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  detail::fvec4SIMD <span class="keyword">const</span> & p1);</div>
|
||||
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
|
||||
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  detail::fvec4SIMD distance4(</div>
|
||||
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  detail::fvec4SIMD <span class="keyword">const</span> & p0,</div>
|
||||
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  detail::fvec4SIMD <span class="keyword">const</span> & p1);</div>
|
||||
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div>
|
||||
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keywordtype">float</span> simdDot(</div>
|
||||
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  detail::fvec4SIMD <span class="keyword">const</span> & x,</div>
|
||||
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  detail::fvec4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div>
|
||||
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  detail::fvec4SIMD dot4(</div>
|
||||
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  detail::fvec4SIMD <span class="keyword">const</span> & x,</div>
|
||||
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  detail::fvec4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
|
||||
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  detail::fvec4SIMD <a class="code" href="a00131.html#gaa127ddc9d38f715125f91742d399eb6f" title="Returns the cross product of x and y.">cross</a>(</div>
|
||||
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  detail::fvec4SIMD <span class="keyword">const</span> & x,</div>
|
||||
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  detail::fvec4SIMD <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div>
|
||||
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  detail::fvec4SIMD <a class="code" href="a00131.html#ga68b931c228750eeba844c273c54ca43d" title="Returns a vector in the same direction as x but with length of 1.">normalize</a>(</div>
|
||||
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
|
||||
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  detail::fvec4SIMD <a class="code" href="a00172.html#ga2953e7426a420bb2b33affce7360ef40" title="Faster than the common normalize function but less accurate.">fastNormalize</a>(</div>
|
||||
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div>
|
||||
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  detail::fvec4SIMD simdFaceforward(</div>
|
||||
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  detail::fvec4SIMD <span class="keyword">const</span> & N,</div>
|
||||
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  detail::fvec4SIMD <span class="keyword">const</span> & I,</div>
|
||||
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  detail::fvec4SIMD <span class="keyword">const</span> & Nref);</div>
|
||||
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
|
||||
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  detail::fvec4SIMD <a class="code" href="a00130.html#ga9b2fd4f39c29e3d55c4b4087ab873f9f" title="Returns the positive square root of x.">sqrt</a>(</div>
|
||||
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
|
||||
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  detail::fvec4SIMD niceSqrt(</div>
|
||||
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div>
|
||||
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  detail::fvec4SIMD <a class="code" href="a00172.html#gad57c343d2362c1469043adedeb8ef8eb" title="Faster than the common sqrt function but less accurate.">fastSqrt</a>(</div>
|
||||
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div>
|
||||
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  detail::fvec4SIMD <a class="code" href="a00130.html#ga3fd19e045e3943b96e0cdad22fbda111" title="Returns the reciprocal of the positive square root of x.">inversesqrt</a>(</div>
|
||||
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div>
|
||||
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  detail::fvec4SIMD fastInversesqrt(</div>
|
||||
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
|
||||
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div>
|
||||
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="preprocessor">#include "simd_vec4.inl"</span></div>
|
||||
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  detail::fvec4SIMD <a class="code" href="a00131.html#gabe1fa0bef5f854242eb70ce56e5a7d03" title="For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...">reflect</a>(</div>
|
||||
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  detail::fvec4SIMD <span class="keyword">const</span> & I,</div>
|
||||
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  detail::fvec4SIMD <span class="keyword">const</span> & N);</div>
|
||||
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div>
|
||||
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  detail::fvec4SIMD <a class="code" href="a00131.html#gabbb4909d3e99a7a2411cc63252afbbd8" title="For the incident vector I and surface normal N, and the ratio of indices of refraction eta...">refract</a>(</div>
|
||||
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  detail::fvec4SIMD <span class="keyword">const</span> & I,</div>
|
||||
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  detail::fvec4SIMD <span class="keyword">const</span> & N,</div>
|
||||
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="keywordtype">float</span> <span class="keyword">const</span> & eta);</div>
|
||||
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
|
||||
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  detail::fvec4SIMD <a class="code" href="a00130.html#ga9b2fd4f39c29e3d55c4b4087ab873f9f" title="Returns the positive square root of x.">sqrt</a>(</div>
|
||||
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div>
|
||||
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  detail::fvec4SIMD niceSqrt(</div>
|
||||
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
|
||||
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  detail::fvec4SIMD <a class="code" href="a00172.html#gad57c343d2362c1469043adedeb8ef8eb" title="Faster than the common sqrt function but less accurate.">fastSqrt</a>(</div>
|
||||
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div>
|
||||
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="preprocessor">#endif//(GLM_ARCH != GLM_ARCH_PURE)</span></div>
|
||||
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="preprocessor">#endif//GLM_GTX_simd_vec4</span></div>
|
||||
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  detail::fvec4SIMD <a class="code" href="a00130.html#ga3fd19e045e3943b96e0cdad22fbda111" title="Returns the reciprocal of the positive square root of x.">inversesqrt</a>(</div>
|
||||
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div>
|
||||
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  detail::fvec4SIMD fastInversesqrt(</div>
|
||||
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  detail::fvec4SIMD <span class="keyword">const</span> & x);</div>
|
||||
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
|
||||
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div>
|
||||
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="preprocessor">#include "simd_vec4.inl"</span></div>
|
||||
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
|
||||
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div>
|
||||
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="preprocessor">#if (GLM_COMPILER & GLM_COMPILER_VC)</span></div>
|
||||
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="preprocessor"></span><span class="preprocessor"># pragma warning(pop)</span></div>
|
||||
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
|
||||
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="preprocessor">#endif//(GLM_ARCH != GLM_ARCH_PURE)</span></div>
|
||||
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="preprocessor"></span></div>
|
||||
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="preprocessor">#endif//GLM_GTX_simd_vec4</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
@ -97,71 +97,72 @@
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  GLM_FUNC_DECL <span class="keyword">explicit</span> <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>(U <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="comment">// Cast</span></div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> U></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  GLM_FUNC_DECL <span class="keyword">operator</span> U() <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="comment">// Unary updatable operators</span></div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator= (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator+=(<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator-=(<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator*=(<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator/=(<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator++();</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator--();</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  GLM_FUNC_DECL <span class="keywordtype">float</span> toFloat()<span class="keyword"> const</span>{<span class="keywordflow">return</span> toFloat32(data);}</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  GLM_FUNC_DECL hdata _data()<span class="keyword"> const</span>{<span class="keywordflow">return</span> data;}</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  hdata data;</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  };</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator+ (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s1, <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s2);</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator- (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s1, <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s2);</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator* (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s1, <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s2);</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator/ (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s1, <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s2);</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="comment">// Unary constant operators</span></div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator- (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator-- (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s, <span class="keywordtype">int</span>);</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator++ (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s, <span class="keywordtype">int</span>);</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordtype">bool</span> operator==(</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordtype">bool</span> operator!=(</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordtype">bool</span> operator<(</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordtype">bool</span> operator<=(</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordtype">bool</span> operator>(</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordtype">bool</span> operator>=(</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> }<span class="comment">//namespace detail</span></div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor">#include "type_half.inl"</span></div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor">#endif//glm_core_type_half</span></div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">//template <typename U></span></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="comment">//GLM_FUNC_DECL operator U() const;</span></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  GLM_FUNC_DECL <span class="keyword">operator</span> float() <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="comment">// Unary updatable operators</span></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator= (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator+=(<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator-=(<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator*=(<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator/=(<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator++();</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  GLM_FUNC_DECL <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a>& operator--();</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  GLM_FUNC_DECL <span class="keywordtype">float</span> toFloat()<span class="keyword"> const</span>{<span class="keywordflow">return</span> toFloat32(data);}</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  GLM_FUNC_DECL hdata _data()<span class="keyword"> const</span>{<span class="keywordflow">return</span> data;}</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  hdata data;</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  };</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator+ (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s1, <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s2);</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator- (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s1, <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s2);</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator* (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s1, <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s2);</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator/ (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s1, <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s2);</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="comment">// Unary constant operators</span></div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator- (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s);</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator-- (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s, <span class="keywordtype">int</span>);</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> operator++ (<a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">half</a> <span class="keyword">const</span> & s, <span class="keywordtype">int</span>);</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordtype">bool</span> operator==(</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordtype">bool</span> operator!=(</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordtype">bool</span> operator<(</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordtype">bool</span> operator<=(</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordtype">bool</span> operator>(</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordtype">bool</span> operator>=(</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & x, </div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="a00147.html#ga09cefb48e7a630c2e3bfb3d23cd88e44" title="Type for half-precision floating-point numbers.">detail::half</a> <span class="keyword">const</span> & y);</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }<span class="comment">//namespace detail</span></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor">#include "type_half.inl"</span></div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor">#endif//glm_core_type_half</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
@ -101,39 +101,39 @@
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordtype">bool</span> <a class="code" href="a00211.html#ga516c25a0d2c46c64fb5afca5eb24daab" title="Check whether two vectors are collinears.">areCollinear</a>(</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  genType <span class="keyword">const</span> & v0, </div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  genType <span class="keyword">const</span> & v1, </div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType> </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">bool</span> <a class="code" href="a00211.html#ga0cba4a48074a8b8b8474538385a709e7" title="Check whether two vectors are orthogonals.">areOrthogonal</a>(</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  genType <span class="keyword">const</span> & v0, </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  genType <span class="keyword">const</span> & v1, </div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType, <span class="keyword">template</span> <<span class="keyword">typename</span>> <span class="keyword">class </span>vecType> </div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">bool</span> <a class="code" href="a00185.html#ga4db0eb631e14d23d597b93b80e324c5d" title="Return whether a matrix is a normalized matrix.">isNormalized</a>(</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  vecType<genType> <span class="keyword">const</span> & v, </div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  genType <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<genType>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  genType <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<genType>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  </div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordtype">bool</span> <a class="code" href="a00185.html#ga522ba657c5bf6a022c49b5717f2b600c" title="Return whether a matrix a null matrix.">isNull</a>(</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  detail::tvec2<valType> <span class="keyword">const</span> & v, </div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordtype">bool</span> <a class="code" href="a00185.html#ga522ba657c5bf6a022c49b5717f2b600c" title="Return whether a matrix a null matrix.">isNull</a>(</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  detail::tvec3<valType> <span class="keyword">const</span> & v, </div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> valType> </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordtype">bool</span> <a class="code" href="a00185.html#ga522ba657c5bf6a022c49b5717f2b600c" title="Return whether a matrix a null matrix.">isNull</a>(</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  detail::tvec4<valType> <span class="keyword">const</span> & v, </div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  valType <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordtype">bool</span> <a class="code" href="a00211.html#gab6b9a4e79fb7b34e8817ae9c870eb06e" title="Check whether two vectors are orthonormal.">areOrthonormal</a>(</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  genType <span class="keyword">const</span> & v0, </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  genType <span class="keyword">const</span> & v1, </div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> & <a class="code" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> & <a class="code" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71" title="Return the epsilon constant for floating point types.">epsilon</a><span class="comment">/* = std::numeric_limits<typename genType::value_type>::epsilon()*/</span>);</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> }<span class="comment">// namespace glm</span></div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
|
||||
|
@ -669,14 +669,14 @@ If genTypeU is a boolean scalar or vector: Selects which vector each returned co
|
||||
<div class="line">...</div>
|
||||
<div class="line">float a;</div>
|
||||
<div class="line"><span class="keywordtype">bool</span> b;</div>
|
||||
<div class="line"><a class="code" href="a00142.html#ga0f0fcb7b631cbbac4341badb01d84218" title="Vector of 3 double-precision floating-point numbers.">glm::dvec3</a> <a class="code" href="a00145.html#ga1cebaa574cc7c9018ccefbde3f174db5" title="Return e constant.">e</a>;</div>
|
||||
<div class="line"><a class="code" href="a00142.html#ga0f0fcb7b631cbbac4341badb01d84218" title="Vector of 3 double-precision floating-point numbers.">glm::dvec3</a> <a class="code" href="a00145.html#ga3220d28f6664e2091ae72f57fea57423" title="Return e constant.">e</a>;</div>
|
||||
<div class="line"><a class="code" href="a00142.html#ga0f0fcb7b631cbbac4341badb01d84218" title="Vector of 3 double-precision floating-point numbers.">glm::dvec3</a> f;</div>
|
||||
<div class="line"><a class="code" href="a00142.html#ga3f36f44916da88f7173bc4afa030ebe1" title="4 components vector of floating-point numbers.">glm::vec4</a> g;</div>
|
||||
<div class="line"><a class="code" href="a00142.html#ga3f36f44916da88f7173bc4afa030ebe1" title="4 components vector of floating-point numbers.">glm::vec4</a> h;</div>
|
||||
<div class="line">...</div>
|
||||
<div class="line">glm::vec4 r = <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">glm::mix</a>(g, h, a); <span class="comment">// Interpolate with a floating-point scalar two vectors. </span></div>
|
||||
<div class="line"><a class="code" href="a00142.html#ga3f36f44916da88f7173bc4afa030ebe1" title="4 components vector of floating-point numbers.">glm::vec4</a> s = <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">glm::mix</a>(g, h, b); <span class="comment">// Teturns g or h;</span></div>
|
||||
<div class="line"><a class="code" href="a00142.html#ga0f0fcb7b631cbbac4341badb01d84218" title="Vector of 3 double-precision floating-point numbers.">glm::dvec3</a> t = <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">glm::mix</a>(<a class="code" href="a00145.html#ga1cebaa574cc7c9018ccefbde3f174db5" title="Return e constant.">e</a>, f, a); <span class="comment">// Types of the third parameter is not required to match with the first and the second.</span></div>
|
||||
<div class="line"><a class="code" href="a00142.html#ga0f0fcb7b631cbbac4341badb01d84218" title="Vector of 3 double-precision floating-point numbers.">glm::dvec3</a> t = <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">glm::mix</a>(<a class="code" href="a00145.html#ga3220d28f6664e2091ae72f57fea57423" title="Return e constant.">e</a>, f, a); <span class="comment">// Types of the third parameter is not required to match with the first and the second.</span></div>
|
||||
<div class="line"><a class="code" href="a00142.html#ga3f36f44916da88f7173bc4afa030ebe1" title="4 components vector of floating-point numbers.">glm::vec4</a> u = <a class="code" href="a00129.html#ga3f64b3986efe205cf30300700667e761">glm::mix</a>(g, h, r); <span class="comment">// Interpolations can be perform per component with a vector for the last parameter.</span></div>
|
||||
</div><!-- fragment -->
|
||||
<p>Referenced by <a class="el" href="a00013_source.html#l00065">glm::lerp()</a>, and <a class="el" href="a00013_source.html#l00073">glm::slerp()</a>.</p>
|
||||
|
@ -41,92 +41,92 @@
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga1cebaa574cc7c9018ccefbde3f174db5"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga1cebaa574cc7c9018ccefbde3f174db5"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga1cebaa574cc7c9018ccefbde3f174db5">e</a> ()</td></tr>
|
||||
<tr class="separator:ga1cebaa574cc7c9018ccefbde3f174db5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2b53267cfa3c8aa96c02cdba04c53ef5"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga2b53267cfa3c8aa96c02cdba04c53ef5"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5">epsilon</a> ()</td></tr>
|
||||
<tr class="separator:ga2b53267cfa3c8aa96c02cdba04c53ef5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaed1d93869801afa40958ffa062dde245"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gaed1d93869801afa40958ffa062dde245"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaed1d93869801afa40958ffa062dde245">euler</a> ()</td></tr>
|
||||
<tr class="separator:gaed1d93869801afa40958ffa062dde245"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga14e6ecb0a19dbbfcf6cd48cb536cbd61"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga14e6ecb0a19dbbfcf6cd48cb536cbd61"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga14e6ecb0a19dbbfcf6cd48cb536cbd61">golden_ratio</a> ()</td></tr>
|
||||
<tr class="separator:ga14e6ecb0a19dbbfcf6cd48cb536cbd61"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8a72b0fbaa530016ccdfd28529cda87d"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga8a72b0fbaa530016ccdfd28529cda87d"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga8a72b0fbaa530016ccdfd28529cda87d">half_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga8a72b0fbaa530016ccdfd28529cda87d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga554ba051aa168c8e19072f2b1ebf1ef8"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga554ba051aa168c8e19072f2b1ebf1ef8"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga554ba051aa168c8e19072f2b1ebf1ef8">ln_ln_two</a> ()</td></tr>
|
||||
<tr class="separator:ga554ba051aa168c8e19072f2b1ebf1ef8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga43d82c8d42443486d20ccc17ec797770"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga43d82c8d42443486d20ccc17ec797770"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga43d82c8d42443486d20ccc17ec797770">ln_ten</a> ()</td></tr>
|
||||
<tr class="separator:ga43d82c8d42443486d20ccc17ec797770"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac2f30635c140a0e753d3eb26f63446dd"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gac2f30635c140a0e753d3eb26f63446dd"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gac2f30635c140a0e753d3eb26f63446dd">ln_two</a> ()</td></tr>
|
||||
<tr class="separator:gac2f30635c140a0e753d3eb26f63446dd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4b7505757b062b9f689d618e5790ce0a"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga4b7505757b062b9f689d618e5790ce0a"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga4b7505757b062b9f689d618e5790ce0a">one</a> ()</td></tr>
|
||||
<tr class="separator:ga4b7505757b062b9f689d618e5790ce0a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga0d476bfe1e72071895ece4c4b9e78a47"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga0d476bfe1e72071895ece4c4b9e78a47"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga0d476bfe1e72071895ece4c4b9e78a47">one_over_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga0d476bfe1e72071895ece4c4b9e78a47"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga109c0c04ce9f7912254bb52800d22344"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga109c0c04ce9f7912254bb52800d22344"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga109c0c04ce9f7912254bb52800d22344">one_over_root_two</a> ()</td></tr>
|
||||
<tr class="separator:ga109c0c04ce9f7912254bb52800d22344"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga12be4efe2470ebe86e7163aefe4a545e"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga12be4efe2470ebe86e7163aefe4a545e"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga12be4efe2470ebe86e7163aefe4a545e">pi</a> ()</td></tr>
|
||||
<tr class="separator:ga12be4efe2470ebe86e7163aefe4a545e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gacf1caeb147205714372a562a15b140f8"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gacf1caeb147205714372a562a15b140f8"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gacf1caeb147205714372a562a15b140f8">quarter_pi</a> ()</td></tr>
|
||||
<tr class="separator:gacf1caeb147205714372a562a15b140f8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaafa225f0ab07202dd270d6537a5e1df8"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gaafa225f0ab07202dd270d6537a5e1df8"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaafa225f0ab07202dd270d6537a5e1df8">root_five</a> ()</td></tr>
|
||||
<tr class="separator:gaafa225f0ab07202dd270d6537a5e1df8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad0cd42ca5c54d9896654b3048a4ef0d7"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gad0cd42ca5c54d9896654b3048a4ef0d7"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gad0cd42ca5c54d9896654b3048a4ef0d7">root_half_pi</a> ()</td></tr>
|
||||
<tr class="separator:gad0cd42ca5c54d9896654b3048a4ef0d7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gacce3e8846a876b339812dd7279b3d929"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gacce3e8846a876b339812dd7279b3d929"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gacce3e8846a876b339812dd7279b3d929">root_ln_four</a> ()</td></tr>
|
||||
<tr class="separator:gacce3e8846a876b339812dd7279b3d929"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab330534be451fd5267622fb3fd246c3d"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gab330534be451fd5267622fb3fd246c3d"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gab330534be451fd5267622fb3fd246c3d">root_pi</a> ()</td></tr>
|
||||
<tr class="separator:gab330534be451fd5267622fb3fd246c3d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf3f205c738a519ec082dd8a67968549c"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gaf3f205c738a519ec082dd8a67968549c"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaf3f205c738a519ec082dd8a67968549c">root_three</a> ()</td></tr>
|
||||
<tr class="separator:gaf3f205c738a519ec082dd8a67968549c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga84cde9a5f5c5528a2846ab43a62f3fd0"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga84cde9a5f5c5528a2846ab43a62f3fd0"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga84cde9a5f5c5528a2846ab43a62f3fd0">root_two</a> ()</td></tr>
|
||||
<tr class="separator:ga84cde9a5f5c5528a2846ab43a62f3fd0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga388e713e3a29840079d2dd1128f46166"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga388e713e3a29840079d2dd1128f46166"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga388e713e3a29840079d2dd1128f46166">root_two_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga388e713e3a29840079d2dd1128f46166"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4a604b1a984d351232d966e9b8fed54e"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga4a604b1a984d351232d966e9b8fed54e"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga4a604b1a984d351232d966e9b8fed54e">third</a> ()</td></tr>
|
||||
<tr class="separator:ga4a604b1a984d351232d966e9b8fed54e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga579959e61ef879efbe7e8646b2d9c222"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga579959e61ef879efbe7e8646b2d9c222"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga579959e61ef879efbe7e8646b2d9c222">two_over_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga579959e61ef879efbe7e8646b2d9c222"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga31940e5cdb5cb1d8852548db573d43f9"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga31940e5cdb5cb1d8852548db573d43f9"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga31940e5cdb5cb1d8852548db573d43f9">two_over_root_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga31940e5cdb5cb1d8852548db573d43f9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga284e20e3e55ffbd5b19d16054bbe2098"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga284e20e3e55ffbd5b19d16054bbe2098"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga284e20e3e55ffbd5b19d16054bbe2098">two_thirds</a> ()</td></tr>
|
||||
<tr class="separator:ga284e20e3e55ffbd5b19d16054bbe2098"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga1ece9de415050c52a6e2aa5d70a20972"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga1ece9de415050c52a6e2aa5d70a20972"><td class="memTemplItemLeft" align="right" valign="top">GLM_CONSTEXPR T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga1ece9de415050c52a6e2aa5d70a20972">zero</a> ()</td></tr>
|
||||
<tr class="separator:ga1ece9de415050c52a6e2aa5d70a20972"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3220d28f6664e2091ae72f57fea57423"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga3220d28f6664e2091ae72f57fea57423"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga3220d28f6664e2091ae72f57fea57423">e</a> ()</td></tr>
|
||||
<tr class="separator:ga3220d28f6664e2091ae72f57fea57423"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf38c4ec0213885e6692f206fe1408c71"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf38c4ec0213885e6692f206fe1408c71"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71">epsilon</a> ()</td></tr>
|
||||
<tr class="separator:gaf38c4ec0213885e6692f206fe1408c71"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaeaac224b44a4e642a84f5133c6ce7d81"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaeaac224b44a4e642a84f5133c6ce7d81"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaeaac224b44a4e642a84f5133c6ce7d81">euler</a> ()</td></tr>
|
||||
<tr class="separator:gaeaac224b44a4e642a84f5133c6ce7d81"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3ea4aa61e3c5cc8349cac68c769c28e7"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga3ea4aa61e3c5cc8349cac68c769c28e7"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga3ea4aa61e3c5cc8349cac68c769c28e7">golden_ratio</a> ()</td></tr>
|
||||
<tr class="separator:ga3ea4aa61e3c5cc8349cac68c769c28e7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa8f9279b31aaa28cfea2b3fdbb71334f"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaa8f9279b31aaa28cfea2b3fdbb71334f"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaa8f9279b31aaa28cfea2b3fdbb71334f">half_pi</a> ()</td></tr>
|
||||
<tr class="separator:gaa8f9279b31aaa28cfea2b3fdbb71334f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf592c9de9c5376ce741589804a9ab52e"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf592c9de9c5376ce741589804a9ab52e"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaf592c9de9c5376ce741589804a9ab52e">ln_ln_two</a> ()</td></tr>
|
||||
<tr class="separator:gaf592c9de9c5376ce741589804a9ab52e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga05fc32d108a5065b3e6a61bdb6fcd2ee"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga05fc32d108a5065b3e6a61bdb6fcd2ee"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga05fc32d108a5065b3e6a61bdb6fcd2ee">ln_ten</a> ()</td></tr>
|
||||
<tr class="separator:ga05fc32d108a5065b3e6a61bdb6fcd2ee"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gabf8770f9b8cd9fb89feb7b707f3c339e"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gabf8770f9b8cd9fb89feb7b707f3c339e"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gabf8770f9b8cd9fb89feb7b707f3c339e">ln_two</a> ()</td></tr>
|
||||
<tr class="separator:gabf8770f9b8cd9fb89feb7b707f3c339e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga48eaf4ba6e62b66222b8f3e2e57f25ab"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga48eaf4ba6e62b66222b8f3e2e57f25ab"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga48eaf4ba6e62b66222b8f3e2e57f25ab">one</a> ()</td></tr>
|
||||
<tr class="separator:ga48eaf4ba6e62b66222b8f3e2e57f25ab"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga300238bac966e9f3253e95c0f58a254c"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga300238bac966e9f3253e95c0f58a254c"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga300238bac966e9f3253e95c0f58a254c">one_over_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga300238bac966e9f3253e95c0f58a254c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad95674cac90ae7cac519194770eb6160"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gad95674cac90ae7cac519194770eb6160"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gad95674cac90ae7cac519194770eb6160">one_over_root_two</a> ()</td></tr>
|
||||
<tr class="separator:gad95674cac90ae7cac519194770eb6160"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae599a18ebccedb61f28cb9735bf4b025"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gae599a18ebccedb61f28cb9735bf4b025"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gae599a18ebccedb61f28cb9735bf4b025">pi</a> ()</td></tr>
|
||||
<tr class="separator:gae599a18ebccedb61f28cb9735bf4b025"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf3ca5c09673ab3cdfc16a34e176803e0"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf3ca5c09673ab3cdfc16a34e176803e0"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaf3ca5c09673ab3cdfc16a34e176803e0">quarter_pi</a> ()</td></tr>
|
||||
<tr class="separator:gaf3ca5c09673ab3cdfc16a34e176803e0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaed74221e982333922018431aa12cda62"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaed74221e982333922018431aa12cda62"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaed74221e982333922018431aa12cda62">root_five</a> ()</td></tr>
|
||||
<tr class="separator:gaed74221e982333922018431aa12cda62"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8106d6cc821f8c4f32179e8eaff393a1"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga8106d6cc821f8c4f32179e8eaff393a1"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga8106d6cc821f8c4f32179e8eaff393a1">root_half_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga8106d6cc821f8c4f32179e8eaff393a1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac55c459d0861b77990e8719f6f4a1e92"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gac55c459d0861b77990e8719f6f4a1e92"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gac55c459d0861b77990e8719f6f4a1e92">root_ln_four</a> ()</td></tr>
|
||||
<tr class="separator:gac55c459d0861b77990e8719f6f4a1e92"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf1497714576b7a7f7151175da6b115e4"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf1497714576b7a7f7151175da6b115e4"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaf1497714576b7a7f7151175da6b115e4">root_pi</a> ()</td></tr>
|
||||
<tr class="separator:gaf1497714576b7a7f7151175da6b115e4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac6ee81ef34c2db2019290d7d48daf863"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gac6ee81ef34c2db2019290d7d48daf863"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gac6ee81ef34c2db2019290d7d48daf863">root_three</a> ()</td></tr>
|
||||
<tr class="separator:gac6ee81ef34c2db2019290d7d48daf863"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga76136e4e8892c80e969f4ff2a7e73faa"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga76136e4e8892c80e969f4ff2a7e73faa"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga76136e4e8892c80e969f4ff2a7e73faa">root_two</a> ()</td></tr>
|
||||
<tr class="separator:ga76136e4e8892c80e969f4ff2a7e73faa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga32406e517269a1da0c2dac765add955f"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga32406e517269a1da0c2dac765add955f"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga32406e517269a1da0c2dac765add955f">root_two_pi</a> ()</td></tr>
|
||||
<tr class="separator:ga32406e517269a1da0c2dac765add955f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf952fb46d03a8bf5dd79a1ab00b24b77"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf952fb46d03a8bf5dd79a1ab00b24b77"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gaf952fb46d03a8bf5dd79a1ab00b24b77">third</a> ()</td></tr>
|
||||
<tr class="separator:gaf952fb46d03a8bf5dd79a1ab00b24b77"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae7f52a30ed8a645849e94f350823e0d0"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gae7f52a30ed8a645849e94f350823e0d0"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gae7f52a30ed8a645849e94f350823e0d0">two_over_pi</a> ()</td></tr>
|
||||
<tr class="separator:gae7f52a30ed8a645849e94f350823e0d0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gadbf34253039f3d5d27d5fcf7e591b3ab"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gadbf34253039f3d5d27d5fcf7e591b3ab"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gadbf34253039f3d5d27d5fcf7e591b3ab">two_over_root_pi</a> ()</td></tr>
|
||||
<tr class="separator:gadbf34253039f3d5d27d5fcf7e591b3ab"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7127480e917d0a6016a435b1e8d67176"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga7127480e917d0a6016a435b1e8d67176"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#ga7127480e917d0a6016a435b1e8d67176">two_thirds</a> ()</td></tr>
|
||||
<tr class="separator:ga7127480e917d0a6016a435b1e8d67176"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab76ba72430dc7c11be15a2895e7e61f9"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gab76ba72430dc7c11be15a2895e7e61f9"><td class="memTemplItemLeft" align="right" valign="top">genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00145.html#gab76ba72430dc7c11be15a2895e7e61f9">zero</a> ()</td></tr>
|
||||
<tr class="separator:gab76ba72430dc7c11be15a2895e7e61f9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<p>Allow to perform bit operations on integer values. </p>
|
||||
<p><<a class="el" href="a00015.html" title="OpenGL Mathematics (glm.g-truc.net)">glm/gtc/constants.hpp</a>> need to be included to use these features. </p>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a class="anchor" id="ga1cebaa574cc7c9018ccefbde3f174db5"></a>
|
||||
<a class="anchor" id="ga3220d28f6664e2091ae72f57fea57423"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::e </td>
|
||||
<td class="memname">genType glm::e </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -139,12 +139,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga2b53267cfa3c8aa96c02cdba04c53ef5"></a>
|
||||
<a class="anchor" id="gaf38c4ec0213885e6692f206fe1408c71"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::epsilon </td>
|
||||
<td class="memname">genType glm::epsilon </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -158,12 +158,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gaed1d93869801afa40958ffa062dde245"></a>
|
||||
<a class="anchor" id="gaeaac224b44a4e642a84f5133c6ce7d81"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::euler </td>
|
||||
<td class="memname">genType glm::euler </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -176,12 +176,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga14e6ecb0a19dbbfcf6cd48cb536cbd61"></a>
|
||||
<a class="anchor" id="ga3ea4aa61e3c5cc8349cac68c769c28e7"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::golden_ratio </td>
|
||||
<td class="memname">genType glm::golden_ratio </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -194,12 +194,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga8a72b0fbaa530016ccdfd28529cda87d"></a>
|
||||
<a class="anchor" id="gaa8f9279b31aaa28cfea2b3fdbb71334f"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::half_pi </td>
|
||||
<td class="memname">genType glm::half_pi </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -212,12 +212,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga554ba051aa168c8e19072f2b1ebf1ef8"></a>
|
||||
<a class="anchor" id="gaf592c9de9c5376ce741589804a9ab52e"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::ln_ln_two </td>
|
||||
<td class="memname">genType glm::ln_ln_two </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -230,12 +230,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga43d82c8d42443486d20ccc17ec797770"></a>
|
||||
<a class="anchor" id="ga05fc32d108a5065b3e6a61bdb6fcd2ee"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::ln_ten </td>
|
||||
<td class="memname">genType glm::ln_ten </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -248,12 +248,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gac2f30635c140a0e753d3eb26f63446dd"></a>
|
||||
<a class="anchor" id="gabf8770f9b8cd9fb89feb7b707f3c339e"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::ln_two </td>
|
||||
<td class="memname">genType glm::ln_two </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -266,12 +266,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga4b7505757b062b9f689d618e5790ce0a"></a>
|
||||
<a class="anchor" id="ga48eaf4ba6e62b66222b8f3e2e57f25ab"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::one </td>
|
||||
<td class="memname">genType glm::one </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -284,12 +284,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga0d476bfe1e72071895ece4c4b9e78a47"></a>
|
||||
<a class="anchor" id="ga300238bac966e9f3253e95c0f58a254c"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::one_over_pi </td>
|
||||
<td class="memname">genType glm::one_over_pi </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -302,12 +302,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga109c0c04ce9f7912254bb52800d22344"></a>
|
||||
<a class="anchor" id="gad95674cac90ae7cac519194770eb6160"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::one_over_root_two </td>
|
||||
<td class="memname">genType glm::one_over_root_two </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -320,12 +320,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga12be4efe2470ebe86e7163aefe4a545e"></a>
|
||||
<a class="anchor" id="gae599a18ebccedb61f28cb9735bf4b025"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::pi </td>
|
||||
<td class="memname">genType glm::pi </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -338,12 +338,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gacf1caeb147205714372a562a15b140f8"></a>
|
||||
<a class="anchor" id="gaf3ca5c09673ab3cdfc16a34e176803e0"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::quarter_pi </td>
|
||||
<td class="memname">genType glm::quarter_pi </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -356,12 +356,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gaafa225f0ab07202dd270d6537a5e1df8"></a>
|
||||
<a class="anchor" id="gaed74221e982333922018431aa12cda62"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::root_five </td>
|
||||
<td class="memname">genType glm::root_five </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -374,12 +374,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gad0cd42ca5c54d9896654b3048a4ef0d7"></a>
|
||||
<a class="anchor" id="ga8106d6cc821f8c4f32179e8eaff393a1"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::root_half_pi </td>
|
||||
<td class="memname">genType glm::root_half_pi </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -392,12 +392,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gacce3e8846a876b339812dd7279b3d929"></a>
|
||||
<a class="anchor" id="gac55c459d0861b77990e8719f6f4a1e92"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::root_ln_four </td>
|
||||
<td class="memname">genType glm::root_ln_four </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -410,12 +410,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gab330534be451fd5267622fb3fd246c3d"></a>
|
||||
<a class="anchor" id="gaf1497714576b7a7f7151175da6b115e4"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::root_pi </td>
|
||||
<td class="memname">genType glm::root_pi </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -428,12 +428,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gaf3f205c738a519ec082dd8a67968549c"></a>
|
||||
<a class="anchor" id="gac6ee81ef34c2db2019290d7d48daf863"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::root_three </td>
|
||||
<td class="memname">genType glm::root_three </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -446,12 +446,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga84cde9a5f5c5528a2846ab43a62f3fd0"></a>
|
||||
<a class="anchor" id="ga76136e4e8892c80e969f4ff2a7e73faa"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::root_two </td>
|
||||
<td class="memname">genType glm::root_two </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -464,12 +464,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga388e713e3a29840079d2dd1128f46166"></a>
|
||||
<a class="anchor" id="ga32406e517269a1da0c2dac765add955f"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::root_two_pi </td>
|
||||
<td class="memname">genType glm::root_two_pi </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -482,12 +482,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga4a604b1a984d351232d966e9b8fed54e"></a>
|
||||
<a class="anchor" id="gaf952fb46d03a8bf5dd79a1ab00b24b77"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::third </td>
|
||||
<td class="memname">genType glm::third </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -500,12 +500,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga579959e61ef879efbe7e8646b2d9c222"></a>
|
||||
<a class="anchor" id="gae7f52a30ed8a645849e94f350823e0d0"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::two_over_pi </td>
|
||||
<td class="memname">genType glm::two_over_pi </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -518,12 +518,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga31940e5cdb5cb1d8852548db573d43f9"></a>
|
||||
<a class="anchor" id="gadbf34253039f3d5d27d5fcf7e591b3ab"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::two_over_root_pi </td>
|
||||
<td class="memname">genType glm::two_over_root_pi </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -536,12 +536,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga284e20e3e55ffbd5b19d16054bbe2098"></a>
|
||||
<a class="anchor" id="ga7127480e917d0a6016a435b1e8d67176"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::two_thirds </td>
|
||||
<td class="memname">genType glm::two_thirds </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
@ -554,12 +554,12 @@ Functions</h2></td></tr>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga1ece9de415050c52a6e2aa5d70a20972"></a>
|
||||
<a class="anchor" id="gab76ba72430dc7c11be15a2895e7e61f9"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_CONSTEXPR T glm::zero </td>
|
||||
<td class="memname">genType glm::zero </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
|
@ -650,7 +650,7 @@ Functions</h2></td></tr>
|
||||
</dl>
|
||||
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||
<table class="tparams">
|
||||
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Currently supported: half (not recommanded), float or double. </td></tr>
|
||||
<tr><td class="paramname">T</td><td>Value type used to build the matrix. Supported: half, float or double. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
@ -89,6 +89,9 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:ga60d5647f87c2c423497d0f3bf8c407b8"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga60d5647f87c2c423497d0f3bf8c407b8"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga60d5647f87c2c423497d0f3bf8c407b8">length</a> (detail::tquat< T > const &q)</td></tr>
|
||||
<tr class="separator:ga60d5647f87c2c423497d0f3bf8c407b8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga91c6605e46a8c70c8e25bbc0f41da181"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga91c6605e46a8c70c8e25bbc0f41da181"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga91c6605e46a8c70c8e25bbc0f41da181">lerp</a> (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)</td></tr>
|
||||
<tr class="separator:ga91c6605e46a8c70c8e25bbc0f41da181"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae04ce320008c9bec0037b4ba21853cb5"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gae04ce320008c9bec0037b4ba21853cb5"><td class="memTemplItemLeft" align="right" valign="top">detail::tmat3x3< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gae04ce320008c9bec0037b4ba21853cb5">mat3_cast</a> (detail::tquat< T > const &x)</td></tr>
|
||||
<tr class="separator:gae04ce320008c9bec0037b4ba21853cb5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@ -101,15 +104,27 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:gabd269bb967469a6f1df5963455fee6be"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gabd269bb967469a6f1df5963455fee6be"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gabd269bb967469a6f1df5963455fee6be">normalize</a> (detail::tquat< T > const &q)</td></tr>
|
||||
<tr class="separator:gabd269bb967469a6f1df5963455fee6be"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf2a0323dbf6c6fb3f37b445aa899c1c7"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gaf2a0323dbf6c6fb3f37b445aa899c1c7"><td class="memTemplItemLeft" align="right" valign="top">valType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gaf2a0323dbf6c6fb3f37b445aa899c1c7">pitch</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:gaf2a0323dbf6c6fb3f37b445aa899c1c7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4d37447d81ceade1d10d68c995a4d881"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga4d37447d81ceade1d10d68c995a4d881"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga4d37447d81ceade1d10d68c995a4d881">quat_cast</a> (detail::tmat3x3< T > const &x)</td></tr>
|
||||
<tr class="separator:ga4d37447d81ceade1d10d68c995a4d881"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga24adafe33b0bcad906c8724a762e5299"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga24adafe33b0bcad906c8724a762e5299"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga24adafe33b0bcad906c8724a762e5299">quat_cast</a> (detail::tmat4x4< T > const &x)</td></tr>
|
||||
<tr class="separator:ga24adafe33b0bcad906c8724a762e5299"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7ef4c8c1ce1ca988add2f73392db0a06"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:ga7ef4c8c1ce1ca988add2f73392db0a06"><td class="memTemplItemLeft" align="right" valign="top">valType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga7ef4c8c1ce1ca988add2f73392db0a06">roll</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:ga7ef4c8c1ce1ca988add2f73392db0a06"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga297d6a9635153c76d7c011efa716b5da"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga297d6a9635153c76d7c011efa716b5da"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga297d6a9635153c76d7c011efa716b5da">rotate</a> (detail::tquat< T > const &q, typename detail::tquat< T >::value_type const &angle, detail::tvec3< T > const &axis)</td></tr>
|
||||
<tr class="separator:ga297d6a9635153c76d7c011efa716b5da"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4acb60c1b472fc6cb5322a63ca1cf9a4"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga4acb60c1b472fc6cb5322a63ca1cf9a4"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga4acb60c1b472fc6cb5322a63ca1cf9a4">slerp</a> (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)</td></tr>
|
||||
<tr class="separator:ga4acb60c1b472fc6cb5322a63ca1cf9a4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaac012c1a6bc37ce07a87745d9c596eed"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gaac012c1a6bc37ce07a87745d9c596eed"><td class="memTemplItemLeft" align="right" valign="top">valType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gaac012c1a6bc37ce07a87745d9c596eed">yaw</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:gaac012c1a6bc37ce07a87745d9c596eed"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<p>Defines a templated quaternion type and several quaternion operations. </p>
|
||||
@ -128,7 +143,7 @@ Functions</h2></td></tr>
|
||||
<p>Quaternion of double-precision floating-point numbers. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00301">301</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00359">359</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -145,7 +160,7 @@ Functions</h2></td></tr>
|
||||
<p>Quaternion of single-precision floating-point numbers. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00296">296</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00354">354</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -162,7 +177,7 @@ Functions</h2></td></tr>
|
||||
<p>Quaternion of high precision floating-point numbers. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00316">316</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00374">374</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -179,7 +194,7 @@ Functions</h2></td></tr>
|
||||
<p>Quaternion of half-precision floating-point numbers. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00291">291</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00349">349</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -196,7 +211,7 @@ Functions</h2></td></tr>
|
||||
<p>Quaternion of low precision floating-point numbers. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00306">306</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00364">364</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -213,7 +228,7 @@ Functions</h2></td></tr>
|
||||
<p>Quaternion of medium precision floating-point numbers. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00311">311</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00369">369</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -230,7 +245,7 @@ Functions</h2></td></tr>
|
||||
<p>Quaternion of floating-point numbers. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00286">286</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
<p>Definition at line <a class="el" href="a00076_source.html#l00344">344</a> of file <a class="el" href="a00076_source.html">gtc/quaternion.hpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -462,6 +477,56 @@ Functions</h2></td></tr>
|
||||
<p>Returns the length of the quaternion. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga91c6605e46a8c70c8e25bbc0f41da181"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">detail::tquat<T> glm::lerp </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">detail::tquat< T > const & </td>
|
||||
<td class="paramname"><em>x</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">detail::tquat< T > const & </td>
|
||||
<td class="paramname"><em>y</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">T const & </td>
|
||||
<td class="paramname"><em>a</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Linear interpolation of two quaternions. </p>
|
||||
<p>The interpolation is oriented.</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">x</td><td>A quaternion </td></tr>
|
||||
<tr><td class="paramname">y</td><td>A quaternion </td></tr>
|
||||
<tr><td class="paramname">a</td><td>Interpolation factor. The interpolation is defined in the range [0, 1]. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||
<table class="tparams">
|
||||
<tr><td class="paramname">T</td><td>Value type used to build the quaternion. Supported: half, float or double. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gae04ce320008c9bec0037b4ba21853cb5"></a>
|
||||
@ -481,7 +546,7 @@ Functions</h2></td></tr>
|
||||
<p>Converts a quaternion to a 3 * 3 matrix. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Referenced by <a class="el" href="a00077_source.html#l00177">glm::toMat3()</a>.</p>
|
||||
<p>Referenced by <a class="el" href="a00077_source.html#l00149">glm::toMat3()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -502,7 +567,7 @@ Functions</h2></td></tr>
|
||||
<p>Converts a quaternion to a 4 * 4 matrix. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Referenced by <a class="el" href="a00077_source.html#l00184">glm::toMat4()</a>.</p>
|
||||
<p>Referenced by <a class="el" href="a00077_source.html#l00156">glm::toMat4()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -536,8 +601,25 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Returns a SLERP interpolated quaternion of x and y according a. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
<p>Spherical linear interpolation of two quaternions. </p>
|
||||
<p>The interpolation is oriented and the rotation is performed at constant speed. For short path spherical linear interpolation, use the slerp function.</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">x</td><td>A quaternion </td></tr>
|
||||
<tr><td class="paramname">y</td><td>A quaternion </td></tr>
|
||||
<tr><td class="paramname">a</td><td>Interpolation factor. The interpolation is defined beyond the range [0, 1]. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||
<table class="tparams">
|
||||
<tr><td class="paramname">T</td><td>Value type used to build the quaternion. Supported: half, float or double. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd>
|
||||
<dd>
|
||||
- slerp(detail::tquat<T> const & x, detail::tquat<T> const & y, T const & a) </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -558,6 +640,25 @@ Functions</h2></td></tr>
|
||||
<p>Returns the normalized quaternion. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gaf2a0323dbf6c6fb3f37b445aa899c1c7"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">valType glm::pitch </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">detail::tquat< valType > const & </td>
|
||||
<td class="paramname"><em>x</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga4d37447d81ceade1d10d68c995a4d881"></a>
|
||||
@ -577,7 +678,7 @@ Functions</h2></td></tr>
|
||||
<p>Converts a 3 * 3 matrix to a quaternion. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Referenced by <a class="el" href="a00077_source.html#l00191">glm::toQuat()</a>.</p>
|
||||
<p>Referenced by <a class="el" href="a00077_source.html#l00163">glm::toQuat()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -598,6 +699,25 @@ Functions</h2></td></tr>
|
||||
<p>Converts a 4 * 4 matrix to a quaternion. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga7ef4c8c1ce1ca988add2f73392db0a06"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">valType glm::roll </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">detail::tquat< valType > const & </td>
|
||||
<td class="paramname"><em>x</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga297d6a9635153c76d7c011efa716b5da"></a>
|
||||
@ -641,6 +761,80 @@ Functions</h2></td></tr>
|
||||
</dl>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga4acb60c1b472fc6cb5322a63ca1cf9a4"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">GLM_FUNC_QUALIFIER T slerp </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">detail::tquat< T > const & </td>
|
||||
<td class="paramname"><em>x</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">detail::tquat< T > const & </td>
|
||||
<td class="paramname"><em>y</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">T const & </td>
|
||||
<td class="paramname"><em>a</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Spherical linear interpolation of two quaternions. </p>
|
||||
<p>Returns the slurp interpolation between two quaternions.</p>
|
||||
<p>The interpolation always take the short path and the rotation is performed at constant speed.</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">x</td><td>A quaternion </td></tr>
|
||||
<tr><td class="paramname">y</td><td>A quaternion </td></tr>
|
||||
<tr><td class="paramname">a</td><td>Interpolation factor. The interpolation is defined beyond the range [0, 1]. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||
<table class="tparams">
|
||||
<tr><td class="paramname">T</td><td>Value type used to build the quaternion. Supported: half, float or double. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00153.html" title="Defines a templated quaternion type and several quaternion operations.">GLM_GTC_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="a00013_source.html#l00073">73</a> of file <a class="el" href="a00013_source.html">compatibility.hpp</a>.</p>
|
||||
|
||||
<p>References <a class="el" href="a00129.html#ga3f64b3986efe205cf30300700667e761">glm::mix()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gaac012c1a6bc37ce07a87745d9c596eed"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">valType glm::yaw </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">detail::tquat< valType > const & </td>
|
||||
<td class="paramname"><em>x</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
|
@ -355,10 +355,6 @@ template<typename T > </td></tr>
|
||||
<tr class="memitem:ga71c18fe8bc1e69c2b3c11feb13cf6695"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER <br class="typebreak"/>
|
||||
detail::tvec4< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00166.html#ga71c18fe8bc1e69c2b3c11feb13cf6695">saturate</a> (const detail::tvec4< T > &x)</td></tr>
|
||||
<tr class="separator:ga71c18fe8bc1e69c2b3c11feb13cf6695"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa299989529dc364bf823ed340f92d1d0"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaa299989529dc364bf823ed340f92d1d0"></a>
|
||||
template<typename T > </td></tr>
|
||||
<tr class="memitem:gaa299989529dc364bf823ed340f92d1d0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00166.html#gaa299989529dc364bf823ed340f92d1d0">slerp</a> (detail::tquat< T > const &x, detail::tquat< T > const &y, T const &a)</td></tr>
|
||||
<tr class="separator:gaa299989529dc364bf823ed340f92d1d0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<p>Provide functions to increase the compatibility with Cg and HLSL languages. </p>
|
||||
|
@ -76,7 +76,7 @@ Functions</h2></td></tr>
|
||||
<tr class="separator:gaeab4d00cc31b8f48eae904db846eaf61"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<p>Various way to compute vector norms. </p>
|
||||
<p>Various ways to compute vector norms. </p>
|
||||
<p><<a class="el" href="a00065.html" title="OpenGL Mathematics (glm.g-truc.net)">glm/gtx/norm.hpp</a>> need to be included to use these functionalities. </p>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a class="anchor" id="ga9affa2e0e963514b276b54b778986145"></a>
|
||||
|
@ -47,9 +47,6 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:gacd88ee5f0938469119199bdb216c68a1"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gacd88ee5f0938469119199bdb216c68a1"><td class="memTemplItemLeft" align="right" valign="top">detail::tvec3< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#gacd88ee5f0938469119199bdb216c68a1">cross</a> (detail::tvec3< valType > const &v, detail::tquat< valType > const &q)</td></tr>
|
||||
<tr class="separator:gacd88ee5f0938469119199bdb216c68a1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaaf23d24e27b4e4954d6e0dcf8cc4451c"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gaaf23d24e27b4e4954d6e0dcf8cc4451c"><td class="memTemplItemLeft" align="right" valign="top">detail::tvec3< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#gaaf23d24e27b4e4954d6e0dcf8cc4451c">eulerAngles</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:gaaf23d24e27b4e4954d6e0dcf8cc4451c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae94ef4f3c0dd37dd65a95de207d1a27a"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gae94ef4f3c0dd37dd65a95de207d1a27a"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#gae94ef4f3c0dd37dd65a95de207d1a27a">exp</a> (detail::tquat< valType > const &q, valType const &exponent)</td></tr>
|
||||
<tr class="separator:gae94ef4f3c0dd37dd65a95de207d1a27a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@ -65,15 +62,9 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:ga68d8d03cc87b3980abec4d80534f3d8e"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:ga68d8d03cc87b3980abec4d80534f3d8e"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#ga68d8d03cc87b3980abec4d80534f3d8e">log</a> (detail::tquat< valType > const &q)</td></tr>
|
||||
<tr class="separator:ga68d8d03cc87b3980abec4d80534f3d8e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf2a0323dbf6c6fb3f37b445aa899c1c7"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gaf2a0323dbf6c6fb3f37b445aa899c1c7"><td class="memTemplItemLeft" align="right" valign="top">valType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#gaf2a0323dbf6c6fb3f37b445aa899c1c7">pitch</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:gaf2a0323dbf6c6fb3f37b445aa899c1c7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7765f7d8a3399af25f8bc7956a77c7b2"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:ga7765f7d8a3399af25f8bc7956a77c7b2"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#ga7765f7d8a3399af25f8bc7956a77c7b2">pow</a> (detail::tquat< valType > const &x, valType const &y)</td></tr>
|
||||
<tr class="separator:ga7765f7d8a3399af25f8bc7956a77c7b2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7ef4c8c1ce1ca988add2f73392db0a06"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:ga7ef4c8c1ce1ca988add2f73392db0a06"><td class="memTemplItemLeft" align="right" valign="top">valType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#ga7ef4c8c1ce1ca988add2f73392db0a06">roll</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:ga7ef4c8c1ce1ca988add2f73392db0a06"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad1ada3be83514169fed6054b4e68b5ca"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gad1ada3be83514169fed6054b4e68b5ca"><td class="memTemplItemLeft" align="right" valign="top">detail::tvec3< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#gad1ada3be83514169fed6054b4e68b5ca">rotate</a> (detail::tquat< valType > const &q, detail::tvec3< valType > const &v)</td></tr>
|
||||
<tr class="separator:gad1ada3be83514169fed6054b4e68b5ca"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@ -98,9 +89,6 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:ga25b6237ccb6c4a69d57a181aac99aa43"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:ga25b6237ccb6c4a69d57a181aac99aa43"><td class="memTemplItemLeft" align="right" valign="top">detail::tquat< valType > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#ga25b6237ccb6c4a69d57a181aac99aa43">toQuat</a> (detail::tmat4x4< valType > const &x)</td></tr>
|
||||
<tr class="separator:ga25b6237ccb6c4a69d57a181aac99aa43"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaac012c1a6bc37ce07a87745d9c596eed"><td class="memTemplParams" colspan="2">template<typename valType > </td></tr>
|
||||
<tr class="memitem:gaac012c1a6bc37ce07a87745d9c596eed"><td class="memTemplItemLeft" align="right" valign="top">valType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00198.html#gaac012c1a6bc37ce07a87745d9c596eed">yaw</a> (detail::tquat< valType > const &x)</td></tr>
|
||||
<tr class="separator:gaac012c1a6bc37ce07a87745d9c596eed"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<p>Extented quaternion types and functions. </p>
|
||||
@ -162,25 +150,6 @@ Functions</h2></td></tr>
|
||||
<p>Compute a cross product between a vector and a quaternion. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gaaf23d24e27b4e4954d6e0dcf8cc4451c"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">detail::tvec3<valType> glm::eulerAngles </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">detail::tquat< valType > const & </td>
|
||||
<td class="paramname"><em>x</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Returns euler angles, yitch as x, yaw as y, roll as z. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gae94ef4f3c0dd37dd65a95de207d1a27a"></a>
|
||||
@ -318,25 +287,6 @@ Functions</h2></td></tr>
|
||||
<p>Returns a log of a quaternion. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gaf2a0323dbf6c6fb3f37b445aa899c1c7"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">valType glm::pitch </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">detail::tquat< valType > const & </td>
|
||||
<td class="paramname"><em>x</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Returns pitch value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga7765f7d8a3399af25f8bc7956a77c7b2"></a>
|
||||
@ -366,25 +316,6 @@ Functions</h2></td></tr>
|
||||
<p>Returns x raised to the y power. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga7ef4c8c1ce1ca988add2f73392db0a06"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">valType glm::roll </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">detail::tquat< valType > const & </td>
|
||||
<td class="paramname"><em>x</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Returns roll value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gad1ada3be83514169fed6054b4e68b5ca"></a>
|
||||
@ -547,7 +478,7 @@ Functions</h2></td></tr>
|
||||
<p>Converts a quaternion to a 3 * 3 matrix. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="a00077_source.html#l00177">177</a> of file <a class="el" href="a00077_source.html">gtx/quaternion.hpp</a>.</p>
|
||||
<p>Definition at line <a class="el" href="a00077_source.html#l00149">149</a> of file <a class="el" href="a00077_source.html">gtx/quaternion.hpp</a>.</p>
|
||||
|
||||
<p>References <a class="el" href="a00153.html#gae04ce320008c9bec0037b4ba21853cb5">glm::mat3_cast()</a>.</p>
|
||||
|
||||
@ -570,7 +501,7 @@ Functions</h2></td></tr>
|
||||
<p>Converts a quaternion to a 4 * 4 matrix. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="a00077_source.html#l00184">184</a> of file <a class="el" href="a00077_source.html">gtx/quaternion.hpp</a>.</p>
|
||||
<p>Definition at line <a class="el" href="a00077_source.html#l00156">156</a> of file <a class="el" href="a00077_source.html">gtx/quaternion.hpp</a>.</p>
|
||||
|
||||
<p>References <a class="el" href="a00153.html#ga8c376eb15971eb52d85df5ee26825627">glm::mat4_cast()</a>.</p>
|
||||
|
||||
@ -593,7 +524,7 @@ Functions</h2></td></tr>
|
||||
<p>Converts a 3 * 3 matrix to a quaternion. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="a00077_source.html#l00191">191</a> of file <a class="el" href="a00077_source.html">gtx/quaternion.hpp</a>.</p>
|
||||
<p>Definition at line <a class="el" href="a00077_source.html#l00163">163</a> of file <a class="el" href="a00077_source.html">gtx/quaternion.hpp</a>.</p>
|
||||
|
||||
<p>References <a class="el" href="a00153.html#ga4d37447d81ceade1d10d68c995a4d881">glm::quat_cast()</a>.</p>
|
||||
|
||||
@ -616,29 +547,10 @@ Functions</h2></td></tr>
|
||||
<p>Converts a 4 * 4 matrix to a quaternion. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="a00077_source.html#l00198">198</a> of file <a class="el" href="a00077_source.html">gtx/quaternion.hpp</a>.</p>
|
||||
<p>Definition at line <a class="el" href="a00077_source.html#l00170">170</a> of file <a class="el" href="a00077_source.html">gtx/quaternion.hpp</a>.</p>
|
||||
|
||||
<p>References <a class="el" href="a00153.html#ga4d37447d81ceade1d10d68c995a4d881">glm::quat_cast()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="gaac012c1a6bc37ce07a87745d9c596eed"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">valType glm::yaw </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">detail::tquat< valType > const & </td>
|
||||
<td class="paramname"><em>x</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Returns yaw value of euler angles expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise. </p>
|
||||
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00198.html" title="Extented quaternion types and functions.">GLM_GTX_quaternion</a> </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
|
@ -39,7 +39,7 @@
|
||||
<div class="textblock"><dl class="reflist">
|
||||
<dt><a class="anchor" id="_todo000003"></a>Member <a class="el" href="a00132.html#ga5c4d37c42926b09be4384a9656f73ee4">glm::bitCount</a> (genIUType< T > const &Value)</dt>
|
||||
<dd>Clarify the declaration to specify that scalars are suported. </dd>
|
||||
<dt><a class="anchor" id="_todo000007"></a>Member <a class="el" href="a00145.html#ga2b53267cfa3c8aa96c02cdba04c53ef5">glm::epsilon</a> ()</dt>
|
||||
<dt><a class="anchor" id="_todo000007"></a>Member <a class="el" href="a00145.html#gaf38c4ec0213885e6692f206fe1408c71">glm::epsilon</a> ()</dt>
|
||||
<dd>Implement epsilon for half-precision floating point type. </dd>
|
||||
<dt><a class="anchor" id="_todo000004"></a>Member <a class="el" href="a00132.html#gaf921488d20990ec15f3fde3d1db919f0">glm::findLSB</a> (genIUType< T > const &Value)</dt>
|
||||
<dd>Clarify the declaration to specify that scalars are suported. </dd>
|
||||
|
@ -83,7 +83,7 @@
|
||||
<tr id="row_1_25_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00185.html" target="_self">GLM_GTX_matrix_query</a></td><td class="desc">Query to evaluate matrix properties</td></tr>
|
||||
<tr id="row_1_26_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00186.html" target="_self">GLM_GTX_mixed_producte</a></td><td class="desc">Mixed product of 3 vectors</td></tr>
|
||||
<tr id="row_1_27_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00187.html" target="_self">GLM_GTX_multiple</a></td><td class="desc">Find the closest number of a number multiple of other number</td></tr>
|
||||
<tr id="row_1_28_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00188.html" target="_self">GLM_GTX_norm</a></td><td class="desc">Various way to compute vector norms</td></tr>
|
||||
<tr id="row_1_28_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00188.html" target="_self">GLM_GTX_norm</a></td><td class="desc">Various ways to compute vector norms</td></tr>
|
||||
<tr id="row_1_29_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00189.html" target="_self">GLM_GTX_normal</a></td><td class="desc">Compute the normal of a triangle</td></tr>
|
||||
<tr id="row_1_30_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00190.html" target="_self">GLM_GTX_normalize_dot</a></td><td class="desc">Dot product of vectors that need to be normalize with a single square root</td></tr>
|
||||
<tr id="row_1_31_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00191.html" target="_self">GLM_GTX_number_precision</a></td><td class="desc">Defined size types</td></tr>
|
||||
|
BIN
doc/glm.pdf
BIN
doc/glm.pdf
Binary file not shown.
@ -445,6 +445,13 @@ namespace detail
|
||||
# define GLM_RESTRICT __declspec(restrict)
|
||||
# define GLM_RESTRICT_VAR __restrict
|
||||
# define GLM_CONSTEXPR
|
||||
#elif(GLM_COMPILER & GLM_COMPILER_INTEL)
|
||||
# define GLM_DEPRECATED
|
||||
# define GLM_ALIGN(x) __declspec(align(x))
|
||||
# define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct
|
||||
# define GLM_RESTRICT
|
||||
# define GLM_RESTRICT_VAR __restrict
|
||||
# define GLM_CONSTEXPR
|
||||
#elif((GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC)) && (GLM_COMPILER >= GLM_COMPILER_GCC31))
|
||||
# define GLM_DEPRECATED __attribute__((__deprecated__))
|
||||
# define GLM_ALIGN(x) __attribute__((aligned(x)))
|
||||
|
@ -278,8 +278,8 @@ namespace glm
|
||||
/// 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);
|
||||
/// t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
|
||||
/// return t * t * (3 - 2 * t);
|
||||
/// Results are undefined if edge0 >= edge1.
|
||||
///
|
||||
/// @tparam genType Floating-point scalar or vector types.
|
||||
|
@ -275,7 +275,7 @@ namespace detail
|
||||
//// Only valid if (INT_MIN <= x-y <= INT_MAX)
|
||||
//// min(x,y)
|
||||
//r = y + ((x - y) & ((x - y) >> (sizeof(int) *
|
||||
//CHAR_BIT – 1)));
|
||||
//CHAR_BIT - 1)));
|
||||
//// max(x,y)
|
||||
//r = x - ((x - y) & ((x - y) >> (sizeof(int) *
|
||||
//CHAR_BIT - 1)));
|
||||
@ -615,7 +615,7 @@ namespace detail
|
||||
genType const & x
|
||||
)
|
||||
{
|
||||
GLM_STATIC_ASSERT(detail::type<genType>::is_float, "'mix' only accept floating-point inputs");
|
||||
GLM_STATIC_ASSERT(detail::type<genType>::is_float, "'step' only accept floating-point inputs");
|
||||
|
||||
return x < edge ? genType(0) : genType(1);
|
||||
}
|
||||
@ -707,7 +707,7 @@ namespace detail
|
||||
genType const & x
|
||||
)
|
||||
{
|
||||
GLM_STATIC_ASSERT(detail::type<genType>::is_float, "'mix' only accept floating-point inputs");
|
||||
GLM_STATIC_ASSERT(detail::type<genType>::is_float, "'smoothstep' only accept floating-point inputs");
|
||||
|
||||
genType tmp = clamp((x - edge0) / (edge1 - edge0), genType(0), genType(1));
|
||||
return tmp * tmp * (genType(3) - genType(2) * tmp);
|
||||
@ -811,6 +811,8 @@ namespace detail
|
||||
# else
|
||||
return std::isnan(x);
|
||||
# endif
|
||||
# elif(GLM_COMPILER & GLM_COMPILER_CUDA)
|
||||
return isnan(x) != 0;
|
||||
# else
|
||||
return std::isnan(x);
|
||||
# endif
|
||||
@ -866,6 +868,9 @@ namespace detail
|
||||
# else
|
||||
return std::isinf(x);
|
||||
# endif
|
||||
# elif(GLM_COMPILER & GLM_COMPILER_CUDA)
|
||||
// http://developer.download.nvidia.com/compute/cuda/4_2/rel/toolkit/docs/online/group__CUDA__MATH__DOUBLE_g13431dd2b40b51f9139cbb7f50c18fab.html#g13431dd2b40b51f9139cbb7f50c18fab
|
||||
return isinf(double(x)) != 0;
|
||||
# else
|
||||
return std::isinf(x);
|
||||
# endif
|
||||
|
@ -105,7 +105,7 @@ namespace glm
|
||||
/// 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.
|
||||
/// 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
|
||||
@ -125,7 +125,7 @@ namespace glm
|
||||
/// 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
|
||||
/// 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
|
||||
|
@ -136,12 +136,42 @@ namespace glm
|
||||
|
||||
GLM_FUNC_QUALIFIER double packDouble2x32(detail::tvec2<detail::uint32> const & v)
|
||||
{
|
||||
return *(double*)&v;
|
||||
struct uint32_pair
|
||||
{
|
||||
detail::uint32 x;
|
||||
detail::uint32 y;
|
||||
};
|
||||
|
||||
union helper
|
||||
{
|
||||
uint32_pair input;
|
||||
double output;
|
||||
} Helper;
|
||||
|
||||
Helper.input.x = v.x;
|
||||
Helper.input.y = v.y;
|
||||
|
||||
return Helper.output;
|
||||
//return *(double*)&v;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::tvec2<uint> unpackDouble2x32(double const & v)
|
||||
{
|
||||
return *(detail::tvec2<uint>*)&v;
|
||||
struct uint32_pair
|
||||
{
|
||||
detail::uint32 x;
|
||||
detail::uint32 y;
|
||||
};
|
||||
|
||||
union helper
|
||||
{
|
||||
double input;
|
||||
uint32_pair output;
|
||||
} Helper;
|
||||
|
||||
Helper.input = v;
|
||||
|
||||
return detail::tvec2<uint>(Helper.output.x, Helper.output.y);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER uint packHalf2x16(detail::tvec2<float> const & v)
|
||||
|
@ -62,7 +62,7 @@ namespace detail{
|
||||
static const ieee754_QNAN absMask;
|
||||
static const __m128 GLM_VAR_USED abs4Mask = _mm_set_ps1(absMask.f);
|
||||
|
||||
static const __m128 GLM_VAR_USED _epi32_sign_mask = _mm_castsi128_ps(_mm_set1_epi32(0x80000000));
|
||||
static const __m128 GLM_VAR_USED _epi32_sign_mask = _mm_castsi128_ps(_mm_set1_epi32(static_cast<int>(0x80000000)));
|
||||
//static const __m128 GLM_VAR_USED _epi32_inv_sign_mask = _mm_castsi128_ps(_mm_set1_epi32(0x7FFFFFFF));
|
||||
//static const __m128 GLM_VAR_USED _epi32_mant_mask = _mm_castsi128_ps(_mm_set1_epi32(0x7F800000));
|
||||
//static const __m128 GLM_VAR_USED _epi32_inv_mant_mask = _mm_castsi128_ps(_mm_set1_epi32(0x807FFFFF));
|
||||
|
@ -46,7 +46,7 @@ GLM_FUNC_QUALIFIER matType sse_comp_mul_ps
|
||||
out[3] = _mm_mul_ps(in1[3], in2[3]);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER void sse_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4])
|
||||
GLM_FUNC_QUALIFIER void sse_add_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4])
|
||||
{
|
||||
{
|
||||
out[0] = _mm_add_ps(in1[0], in2[0]);
|
||||
@ -56,7 +56,7 @@ GLM_FUNC_QUALIFIER void sse_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4])
|
||||
}
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER void sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4])
|
||||
GLM_FUNC_QUALIFIER void sse_sub_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4])
|
||||
{
|
||||
{
|
||||
out[0] = _mm_sub_ps(in1[0], in2[0]);
|
||||
@ -66,7 +66,7 @@ GLM_FUNC_QUALIFIER void sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4])
|
||||
}
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 m[4], __m128 v)
|
||||
GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 const m[4], __m128 v)
|
||||
{
|
||||
__m128 v0 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(0, 0, 0, 0));
|
||||
__m128 v1 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(1, 1, 1, 1));
|
||||
@ -85,7 +85,7 @@ GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 m[4], __m128 v)
|
||||
return a2;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 v, __m128 m[4])
|
||||
GLM_FUNC_QUALIFIER __m128 sse_mul_ps(__m128 v, __m128 const m[4])
|
||||
{
|
||||
__m128 i0 = m[0];
|
||||
__m128 i1 = m[1];
|
||||
|
@ -36,7 +36,7 @@
|
||||
#define GLM_VERSION_MAJOR 0
|
||||
#define GLM_VERSION_MINOR 9
|
||||
#define GLM_VERSION_PATCH 4
|
||||
#define GLM_VERSION_REVISION 0
|
||||
#define GLM_VERSION_REVISION 2
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Platform
|
||||
@ -536,6 +536,13 @@
|
||||
# define GLM_ARCH GLM_ARCH_PURE
|
||||
#endif
|
||||
|
||||
// With MinGW-W64, including intrinsic headers before intrin.h will produce some errors. The problem is
|
||||
// that windows.h (and maybe other headers) will silently include intrin.h, which of course causes problems.
|
||||
// To fix, we just explicitly include intrin.h here.
|
||||
#if defined(__MINGW32__) && (GLM_ARCH != GLM_ARCH_PURE)
|
||||
# include <intrin.h>
|
||||
#endif
|
||||
|
||||
//#if(GLM_ARCH != GLM_ARCH_PURE)
|
||||
#if(GLM_ARCH & GLM_ARCH_AVX2)
|
||||
# include <immintrin.h>
|
||||
|
@ -155,7 +155,7 @@ namespace detail
|
||||
// We convert f to a half zero.
|
||||
//
|
||||
|
||||
return 0;
|
||||
return hdata(s);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -57,11 +57,11 @@ namespace glm
|
||||
/// Returns the component-wise compare of |x - y| < epsilon.
|
||||
/// @see gtc_epsilon
|
||||
template <typename genType>
|
||||
typename genType::boolType epsilonEqual(
|
||||
genType const & x,
|
||||
genType const & y,
|
||||
typename genType::value_type const & epsilon);
|
||||
|
||||
typename genType::boolType epsilonEqual(
|
||||
genType const & x,
|
||||
genType const & y,
|
||||
typename genType::value_type const & epsilon);
|
||||
|
||||
/// Returns the component-wise compare of |x - y| < epsilon.
|
||||
/// @see gtc_epsilon
|
||||
template <typename genType>
|
||||
@ -73,11 +73,11 @@ namespace glm
|
||||
/// Returns the component-wise compare of |x - y| < epsilon.
|
||||
/// @see gtc_epsilon
|
||||
template <typename genType>
|
||||
typename genType::boolType epsilonNotEqual(
|
||||
genType const & x,
|
||||
genType const & y,
|
||||
typename genType::value_type const & epsilon);
|
||||
|
||||
typename genType::boolType epsilonNotEqual(
|
||||
genType const & x,
|
||||
genType const & y,
|
||||
typename genType::value_type const & epsilon);
|
||||
|
||||
/// Returns the component-wise compare of |x - y| >= epsilon.
|
||||
/// @see gtc_epsilon
|
||||
template <typename genType>
|
||||
|
@ -269,21 +269,6 @@ namespace glm
|
||||
abs(x.w - y.w) < epsilon);
|
||||
}
|
||||
|
||||
template <typename valType>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool> epsilonEqual
|
||||
(
|
||||
detail::tquat<valType> const & x,
|
||||
detail::tquat<valType> const & y,
|
||||
detail::tquat<valType> const & epsilon
|
||||
)
|
||||
{
|
||||
return detail::tvec4<bool>(
|
||||
abs(x.x - y.x) < epsilon.x,
|
||||
abs(x.y - y.y) < epsilon.y,
|
||||
abs(x.z - y.z) < epsilon.z,
|
||||
abs(x.w - y.w) < epsilon.w);
|
||||
}
|
||||
|
||||
template <typename valType>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool> epsilonNotEqual
|
||||
(
|
||||
@ -298,19 +283,4 @@ namespace glm
|
||||
abs(x.z - y.z) >= epsilon,
|
||||
abs(x.w - y.w) >= epsilon);
|
||||
}
|
||||
|
||||
template <typename valType>
|
||||
GLM_FUNC_QUALIFIER detail::tvec4<bool> epsilonNotEqual
|
||||
(
|
||||
detail::tquat<valType> const & x,
|
||||
detail::tquat<valType> const & y,
|
||||
detail::tquat<valType> const & epsilon
|
||||
)
|
||||
{
|
||||
return detail::tvec4<bool>(
|
||||
abs(x.x - y.x) >= epsilon.x,
|
||||
abs(x.y - y.y) >= epsilon.y,
|
||||
abs(x.z - y.z) >= epsilon.z,
|
||||
abs(x.w - y.w) >= epsilon.w);
|
||||
}
|
||||
}//namespace glm
|
||||
|
@ -87,8 +87,8 @@ namespace glm
|
||||
///
|
||||
/// @param m Input matrix multiplied by this rotation matrix.
|
||||
/// @param angle Rotation angle expressed in radians if GLM_FORCE_RADIANS is define or degrees otherwise.
|
||||
/// @param axis Rotation axis.
|
||||
/// @tparam T Value type used to build the matrix. Currently supported: half (not recommanded), float or double.
|
||||
/// @param axis Rotation axis, recommanded to be normalized.
|
||||
/// @tparam T Value type used to build the matrix. Supported: half, float or double.
|
||||
/// @see gtc_matrix_transform
|
||||
/// @see gtx_transform
|
||||
/// @see - rotate(T angle, T x, T y, T z)
|
||||
@ -143,7 +143,7 @@ namespace glm
|
||||
/// @param top
|
||||
/// @tparam T Value type used to build the matrix. Currently supported: half (not recommanded), float or double.
|
||||
/// @see gtc_matrix_transform
|
||||
/// @see - glm::ortho(T const & left, T const & right, T const & bottom, T const & top, T const & zNear, T const & zFar)
|
||||
/// @see - glm::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,
|
||||
@ -209,7 +209,7 @@ namespace glm
|
||||
/// @param near
|
||||
/// @tparam T Value type used to build the matrix. Currently supported: half (not recommanded), float or double.
|
||||
/// @see gtc_matrix_transform
|
||||
template <typename T>
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> infinitePerspective(
|
||||
T fovy, T aspect, T near);
|
||||
|
||||
@ -220,7 +220,7 @@ namespace glm
|
||||
/// @param near
|
||||
/// @tparam T Value type used to build the matrix. Currently supported: half (not recommanded), float or double.
|
||||
/// @see gtc_matrix_transform
|
||||
template <typename T>
|
||||
template <typename T>
|
||||
detail::tmat4x4<T> tweakedInfinitePerspective(
|
||||
T fovy, T aspect, T near);
|
||||
|
||||
|
@ -236,7 +236,13 @@ namespace glm
|
||||
valType const & zFar
|
||||
)
|
||||
{
|
||||
valType range = tan(radians(fovy / valType(2))) * zNear;
|
||||
#ifdef GLM_FORCE_RADIANS
|
||||
valType const rad = fovy;
|
||||
#else
|
||||
valType const rad = glm::radians(fovy);
|
||||
#endif
|
||||
|
||||
valType range = tan(radians(rad / valType(2))) * zNear;
|
||||
valType left = -range * aspect;
|
||||
valType right = range * aspect;
|
||||
valType bottom = -range;
|
||||
|
@ -22,12 +22,13 @@
|
||||
///
|
||||
/// @ref gtc_quaternion
|
||||
/// @file glm/gtc/quaternion.hpp
|
||||
/// @date 2009-05-21 / 2011-06-05
|
||||
/// @date 2009-05-21 / 2012-12-20
|
||||
/// @author Christophe Riccio
|
||||
///
|
||||
/// @see core (dependence)
|
||||
/// @see gtc_half_float (dependence)
|
||||
///
|
||||
/// @see gtc_constants (dependence)
|
||||
///
|
||||
/// @defgroup gtc_quaternion GLM_GTC_quaternion
|
||||
/// @ingroup gtc
|
||||
///
|
||||
@ -42,6 +43,7 @@
|
||||
// Dependency:
|
||||
#include "../glm.hpp"
|
||||
#include "../gtc/half_float.hpp"
|
||||
#include "../gtc/constants.hpp"
|
||||
|
||||
#if(defined(GLM_MESSAGES) && !defined(glm_ext))
|
||||
# pragma message("GLM: GLM_GTC_quaternion extension included")
|
||||
@ -169,15 +171,50 @@ namespace detail
|
||||
detail::tquat<T> const & q1,
|
||||
detail::tquat<T> const & q2);
|
||||
|
||||
/// Returns a SLERP interpolated quaternion of x and y according 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.
|
||||
///
|
||||
/// @param x A quaternion
|
||||
/// @param y A quaternion
|
||||
/// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1].
|
||||
/// @tparam T Value type used to build the quaternion. Supported: half, float or double.
|
||||
/// @see gtc_quaternion
|
||||
/// @see - slerp(detail::tquat<T> const & x, detail::tquat<T> const & y, T const & a)
|
||||
template <typename T>
|
||||
detail::tquat<T> mix(
|
||||
detail::tquat<T> const & x,
|
||||
detail::tquat<T> const & y,
|
||||
T const & a);
|
||||
|
||||
|
||||
/// Linear interpolation of two quaternions.
|
||||
/// The interpolation is oriented.
|
||||
///
|
||||
/// @param x A quaternion
|
||||
/// @param y A quaternion
|
||||
/// @param a Interpolation factor. The interpolation is defined in the range [0, 1].
|
||||
/// @tparam T Value type used to build the quaternion. Supported: half, float or double.
|
||||
/// @see gtc_quaternion
|
||||
template <typename T>
|
||||
detail::tquat<T> lerp(
|
||||
detail::tquat<T> const & x,
|
||||
detail::tquat<T> 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.
|
||||
///
|
||||
/// @param x A quaternion
|
||||
/// @param y A quaternion
|
||||
/// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1].
|
||||
/// @tparam T Value type used to build the quaternion. Supported: half, float or double.
|
||||
/// @see gtc_quaternion
|
||||
template <typename T>
|
||||
detail::tquat<T> slerp(
|
||||
detail::tquat<T> const & x,
|
||||
detail::tquat<T> const & y,
|
||||
T const & a);
|
||||
|
||||
/// Returns the q conjugate.
|
||||
///
|
||||
/// @see gtc_quaternion
|
||||
|
@ -443,6 +443,7 @@ namespace detail
|
||||
return normalize(beta * x + alpha * y);
|
||||
}
|
||||
*/
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T> mix
|
||||
(
|
||||
@ -451,8 +452,77 @@ namespace detail
|
||||
T const & a
|
||||
)
|
||||
{
|
||||
T angle = acos(dot(x, y));
|
||||
return (glm::sin((T(1) - a) * angle) * x + glm::sin(a * angle) * y) / glm::sin(angle);
|
||||
T cosTheta = dot(x, y);
|
||||
|
||||
// Perform a linear interpolation when cosTheta is close to 1 to avoid side effect of sin(angle) becoming a zero denominator
|
||||
if(cosTheta > T(1) - epsilon<T>())
|
||||
{
|
||||
// Linear interpolation
|
||||
return detail::tquat<T>(
|
||||
mix(x.w, y.w, a),
|
||||
mix(x.x, y.x, a),
|
||||
mix(x.y, y.y, a),
|
||||
mix(x.z, y.z, a));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Essential Mathematics, page 467
|
||||
T angle = acos(cosTheta);
|
||||
return (sin((T(1) - a) * angle) * x + sin(a * angle) * y) / sin(angle);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T> lerp
|
||||
(
|
||||
detail::tquat<T> const & x,
|
||||
detail::tquat<T> const & y,
|
||||
T const & a
|
||||
)
|
||||
{
|
||||
// Lerp is only defined in [0, 1]
|
||||
assert(a >= T(0));
|
||||
assert(a <= T(1));
|
||||
|
||||
return x * (T(1) - a) + (y * a);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
GLM_FUNC_QUALIFIER detail::tquat<T> slerp
|
||||
(
|
||||
detail::tquat<T> const & x,
|
||||
detail::tquat<T> const & y,
|
||||
T const & a
|
||||
)
|
||||
{
|
||||
detail::tquat<T> z = y;
|
||||
|
||||
T cosTheta = dot(x, y);
|
||||
|
||||
// If cosTheta < 0, the interpolation will take the long way around the sphere.
|
||||
// To fix this, one quat must be negated.
|
||||
if (cosTheta < T(0))
|
||||
{
|
||||
z = -y;
|
||||
cosTheta = -cosTheta;
|
||||
}
|
||||
|
||||
// Perform a linear interpolation when cosTheta is close to 1 to avoid side effect of sin(angle) becoming a zero denominator
|
||||
if(cosTheta > T(1) - epsilon<T>())
|
||||
{
|
||||
// Linear interpolation
|
||||
return detail::tquat<T>(
|
||||
mix(x.w, y.w, a),
|
||||
mix(x.x, y.x, a),
|
||||
mix(x.y, y.y, a),
|
||||
mix(x.z, y.z, a));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Essential Mathematics, page 467
|
||||
T angle = acos(cosTheta);
|
||||
return (sin((T(1) - a) * angle) * x + sin(a * angle) * z) / sin(angle);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@ -592,7 +662,7 @@ namespace detail
|
||||
typename detail::tquat<T>::value_type fourYSquaredMinus1 = m[1][1] - m[0][0] - m[2][2];
|
||||
typename detail::tquat<T>::value_type fourZSquaredMinus1 = m[2][2] - m[0][0] - m[1][1];
|
||||
typename detail::tquat<T>::value_type fourWSquaredMinus1 = m[0][0] + m[1][1] + m[2][2];
|
||||
|
||||
|
||||
int biggestIndex = 0;
|
||||
typename detail::tquat<T>::value_type fourBiggestSquaredMinus1 = fourWSquaredMinus1;
|
||||
if(fourXSquaredMinus1 > fourBiggestSquaredMinus1)
|
||||
@ -641,6 +711,10 @@ namespace detail
|
||||
Result.y = (m[1][2] + m[2][1]) * mult;
|
||||
Result.z = biggestVal;
|
||||
break;
|
||||
|
||||
default: // Silence a -Wswitch-default warning in GCC. Should never actually get here. Assert is just for sanity.
|
||||
assert(false);
|
||||
break;
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
|
@ -36,8 +36,10 @@
|
||||
#include <cmath>
|
||||
#include <cfloat>
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4127)
|
||||
#if(GLM_COMPILER & GLM_COMPILER_VC)
|
||||
# pragma warning(push)
|
||||
# pragma warning(disable : 4127)
|
||||
#endif
|
||||
|
||||
typedef union
|
||||
{
|
||||
@ -186,7 +188,9 @@ namespace detail
|
||||
}//namespace detail
|
||||
}//namespace glm
|
||||
|
||||
#pragma warning(pop)
|
||||
#if(GLM_COMPILER & GLM_COMPILER_VC)
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
||||
#if((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS)))
|
||||
# define GLM_NEXT_AFTER_FLT(x, toward) glm::detail::nextafterf((x), (toward))
|
||||
|
@ -12,7 +12,7 @@ namespace glm
|
||||
template <typename genType>
|
||||
GLM_FUNC_QUALIFIER typename genType::value_type compAdd(genType const & v)
|
||||
{
|
||||
typename genType::size_type result = typename genType::value_type(0);
|
||||
typename genType::value_type result = typename genType::value_type(0);
|
||||
for(typename genType::size_type i = 0; i < v.length(); ++i)
|
||||
result += v[i];
|
||||
return result;
|
||||
|
@ -31,7 +31,7 @@
|
||||
/// @defgroup gtx_norm GLM_GTX_norm
|
||||
/// @ingroup gtx
|
||||
///
|
||||
/// @brief Various way to compute vector norms.
|
||||
/// @brief Various ways to compute vector norms.
|
||||
///
|
||||
/// <glm/gtx/norm.hpp> need to be included to use these functionalities.
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -91,6 +91,8 @@ namespace detail
|
||||
fvec4SIMD const & v3);
|
||||
explicit fmat4x4SIMD(
|
||||
tmat4x4<float> const & m);
|
||||
explicit fmat4x4SIMD(
|
||||
__m128 const in[4]);
|
||||
|
||||
// Conversions
|
||||
//template <typename U>
|
||||
|
@ -26,7 +26,14 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::size_type fmat4x4SIMD::row_size()
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD()
|
||||
{}
|
||||
{
|
||||
#ifndef GLM_SIMD_ENABLE_DEFAULT_INIT
|
||||
this->Data[0] = fvec4SIMD(1.0f, 0, 0, 0);
|
||||
this->Data[1] = fvec4SIMD(0, 1.0f, 0, 0);
|
||||
this->Data[2] = fvec4SIMD(0, 0, 1.0f, 0);
|
||||
this->Data[3] = fvec4SIMD(0, 0, 0, 1.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD(float const & s)
|
||||
{
|
||||
@ -75,6 +82,17 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
||||
this->Data[3] = fvec4SIMD(m[3]);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
||||
(
|
||||
__m128 const in[4]
|
||||
)
|
||||
{
|
||||
this->Data[0] = in[0];
|
||||
this->Data[1] = in[1];
|
||||
this->Data[2] = in[2];
|
||||
this->Data[3] = in[3];
|
||||
}
|
||||
|
||||
//////////////////////////////////////
|
||||
// Accesses
|
||||
|
||||
@ -84,7 +102,7 @@ GLM_FUNC_QUALIFIER fvec4SIMD & fmat4x4SIMD::operator[]
|
||||
)
|
||||
{
|
||||
assert(
|
||||
i >= fmat4x4SIMD::size_type(0) &&
|
||||
//i >= fmat4x4SIMD::size_type(0) &&
|
||||
i < fmat4x4SIMD::col_size());
|
||||
|
||||
return this->Data[i];
|
||||
@ -96,7 +114,7 @@ GLM_FUNC_QUALIFIER fvec4SIMD const & fmat4x4SIMD::operator[]
|
||||
) const
|
||||
{
|
||||
assert(
|
||||
i >= fmat4x4SIMD::size_type(0) &&
|
||||
//i >= fmat4x4SIMD::size_type(0) &&
|
||||
i < fmat4x4SIMD::col_size());
|
||||
|
||||
return this->Data[i];
|
||||
@ -232,6 +250,274 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-- ()
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Binary operators
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator+
|
||||
(
|
||||
const fmat4x4SIMD &m,
|
||||
float const & s
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
m[0] + s,
|
||||
m[1] + s,
|
||||
m[2] + s,
|
||||
m[3] + s
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator+
|
||||
(
|
||||
float const & s,
|
||||
const fmat4x4SIMD &m
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
m[0] + s,
|
||||
m[1] + s,
|
||||
m[2] + s,
|
||||
m[3] + s
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator+
|
||||
(
|
||||
const fmat4x4SIMD &m1,
|
||||
const fmat4x4SIMD &m2
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
m1[0] + m2[0],
|
||||
m1[1] + m2[1],
|
||||
m1[2] + m2[2],
|
||||
m1[3] + m2[3]
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator-
|
||||
(
|
||||
const fmat4x4SIMD &m,
|
||||
float const & s
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
m[0] - s,
|
||||
m[1] - s,
|
||||
m[2] - s,
|
||||
m[3] - s
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator-
|
||||
(
|
||||
float const & s,
|
||||
const fmat4x4SIMD &m
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
s - m[0],
|
||||
s - m[1],
|
||||
s - m[2],
|
||||
s - m[3]
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator-
|
||||
(
|
||||
const fmat4x4SIMD &m1,
|
||||
const fmat4x4SIMD &m2
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
m1[0] - m2[0],
|
||||
m1[1] - m2[1],
|
||||
m1[2] - m2[2],
|
||||
m1[3] - m2[3]
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator*
|
||||
(
|
||||
const fmat4x4SIMD &m,
|
||||
float const & s
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
m[0] * s,
|
||||
m[1] * s,
|
||||
m[2] * s,
|
||||
m[3] * s
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator*
|
||||
(
|
||||
float const & s,
|
||||
const fmat4x4SIMD &m
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
m[0] * s,
|
||||
m[1] * s,
|
||||
m[2] * s,
|
||||
m[3] * s
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator*
|
||||
(
|
||||
const fmat4x4SIMD &m,
|
||||
fvec4SIMD const & v
|
||||
)
|
||||
{
|
||||
return sse_mul_ps(&m.Data[0].Data, v.Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator*
|
||||
(
|
||||
fvec4SIMD const & v,
|
||||
const fmat4x4SIMD &m
|
||||
)
|
||||
{
|
||||
return sse_mul_ps(v.Data, &m.Data[0].Data);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator*
|
||||
(
|
||||
const fmat4x4SIMD &m1,
|
||||
const fmat4x4SIMD &m2
|
||||
)
|
||||
{
|
||||
fmat4x4SIMD result;
|
||||
sse_mul_ps(&m1.Data[0].Data, &m2.Data[0].Data, &result.Data[0].Data);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator/
|
||||
(
|
||||
const fmat4x4SIMD &m,
|
||||
float const & s
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
m[0] / s,
|
||||
m[1] / s,
|
||||
m[2] / s,
|
||||
m[3] / s
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator/
|
||||
(
|
||||
float const & s,
|
||||
const fmat4x4SIMD &m
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
s / m[0],
|
||||
s / m[1],
|
||||
s / m[2],
|
||||
s / m[3]
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator/
|
||||
(
|
||||
const fmat4x4SIMD &m,
|
||||
fvec4SIMD const & v
|
||||
)
|
||||
{
|
||||
return inverse(m) * v;
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD operator/
|
||||
(
|
||||
fvec4SIMD const & v,
|
||||
const fmat4x4SIMD &m
|
||||
)
|
||||
{
|
||||
return v * inverse(m);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD operator/
|
||||
(
|
||||
const fmat4x4SIMD &m1,
|
||||
const fmat4x4SIMD &m2
|
||||
)
|
||||
{
|
||||
__m128 result[4];
|
||||
__m128 inv[4];
|
||||
|
||||
sse_inverse_ps(&m2.Data[0].Data, inv);
|
||||
sse_mul_ps(&m1.Data[0].Data, inv, result);
|
||||
|
||||
return fmat4x4SIMD(result);
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
// Unary constant operators
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD const operator-
|
||||
(
|
||||
fmat4x4SIMD const & m
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
-m[0],
|
||||
-m[1],
|
||||
-m[2],
|
||||
-m[3]
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD const operator--
|
||||
(
|
||||
fmat4x4SIMD const & m,
|
||||
int
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
m[0] - 1.0f,
|
||||
m[1] - 1.0f,
|
||||
m[2] - 1.0f,
|
||||
m[3] - 1.0f
|
||||
);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER fmat4x4SIMD const operator++
|
||||
(
|
||||
fmat4x4SIMD const & m,
|
||||
int
|
||||
)
|
||||
{
|
||||
return detail::fmat4x4SIMD
|
||||
(
|
||||
m[0] + 1.0f,
|
||||
m[1] + 1.0f,
|
||||
m[2] + 1.0f,
|
||||
m[3] + 1.0f
|
||||
);
|
||||
}
|
||||
|
||||
}//namespace detail
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::tmat4x4<float> mat4_cast
|
||||
|
@ -54,6 +54,14 @@
|
||||
# pragma message("GLM: GLM_GTX_simd_vec4 extension included")
|
||||
#endif
|
||||
|
||||
|
||||
// Warning silencer for nameless struct/union.
|
||||
#if (GLM_COMPILER & GLM_COMPILER_VC)
|
||||
# pragma warning(push)
|
||||
# pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
|
||||
#endif
|
||||
|
||||
|
||||
namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
@ -69,7 +77,15 @@ namespace detail
|
||||
typedef fvec4SIMD type;
|
||||
typedef tvec4<bool> bool_type;
|
||||
|
||||
__m128 Data;
|
||||
#ifdef GLM_SIMD_ENABLE_XYZW_UNION
|
||||
union
|
||||
{
|
||||
__m128 Data;
|
||||
struct {float x, y, z, w;};
|
||||
};
|
||||
#else
|
||||
__m128 Data;
|
||||
#endif
|
||||
|
||||
//////////////////////////////////////
|
||||
// Implicit basic constructors
|
||||
@ -289,8 +305,8 @@ namespace detail
|
||||
//! 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);
|
||||
//! t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
|
||||
//! return t * t * (3 - 2 * t);
|
||||
//! Results are undefined if edge0 >= edge1.
|
||||
//! (From GLM_GTX_simd_vec4 extension, common function)
|
||||
detail::fvec4SIMD smoothstep(
|
||||
@ -490,6 +506,12 @@ namespace detail
|
||||
|
||||
#include "simd_vec4.inl"
|
||||
|
||||
|
||||
#if (GLM_COMPILER & GLM_COMPILER_VC)
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
||||
|
||||
#endif//(GLM_ARCH != GLM_ARCH_PURE)
|
||||
|
||||
#endif//GLM_GTX_simd_vec4
|
||||
|
@ -20,6 +20,9 @@ struct mask
|
||||
// Implicit basic constructors
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD()
|
||||
#ifdef GLM_SIMD_ENABLE_DEFAULT_INIT
|
||||
: Data(_mm_set_ps(0.0f, 0.0f, 0.0f, 0.0f))
|
||||
#endif
|
||||
{}
|
||||
|
||||
GLM_FUNC_QUALIFIER fvec4SIMD::fvec4SIMD(__m128 const & Data) :
|
||||
@ -449,7 +452,7 @@ GLM_FUNC_QUALIFIER detail::fvec4SIMD mix
|
||||
{
|
||||
__m128 Sub0 = _mm_sub_ps(y.Data, x.Data);
|
||||
__m128 Mul0 = _mm_mul_ps(a.Data, Sub0);
|
||||
return _mm_mul_ps(x.Data, Mul0);
|
||||
return _mm_add_ps(x.Data, Mul0);
|
||||
}
|
||||
|
||||
GLM_FUNC_QUALIFIER detail::fvec4SIMD step
|
||||
|
28
readme.txt
28
readme.txt
@ -7,7 +7,7 @@ glm@g-truc.net
|
||||
================================================================================
|
||||
The MIT License
|
||||
--------------------------------------------------------------------------------
|
||||
Copyright (c) 2005 - 2012 G-Truc Creation (www.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
|
||||
@ -36,6 +36,32 @@ GLM is a header only library, there is nothing to build, just include it.
|
||||
More informations in GLM manual:
|
||||
http://glm.g-truc.net/glm.pdf
|
||||
|
||||
================================================================================
|
||||
GLM 0.9.4.2: 2013-01-XX
|
||||
--------------------------------------------------------------------------------
|
||||
- Fixed compAdd from GTX_component_wise
|
||||
- Fixed SIMD support for Intel compiler on Windows
|
||||
- Fixed isnan and isinf for CUDA compiler
|
||||
- Fixed GLM_FORCE_RADIANS on glm::perspective
|
||||
- Fixed GCC warnings
|
||||
- Fixed packDouble2x32 on XCode
|
||||
- Fixed mix for vec4 SSE implementation
|
||||
- Fixed 0x2013 dash character in comments that cause issue in Windows
|
||||
Japanese mode
|
||||
|
||||
================================================================================
|
||||
GLM 0.9.4.1: 2012-12-22
|
||||
--------------------------------------------------------------------------------
|
||||
- Improved half support: -0.0 case and implicit conversions
|
||||
- Fixed Intel Composer Compiler support on Linux
|
||||
- Fixed interaction between quaternion and euler angles
|
||||
- Fixed GTC_constants build
|
||||
- Fixed GTX_multiple
|
||||
- Fixed quat slerp using mix function when cosTheta close to 1
|
||||
- Improved fvec4SIMD and fmat4x4SIMD implementations
|
||||
- Fixed assert messages
|
||||
- Added slerp and lerp quaternion functions and tests
|
||||
|
||||
================================================================================
|
||||
GLM 0.9.4.0: 2012-11-18
|
||||
--------------------------------------------------------------------------------
|
||||
|
@ -11,42 +11,42 @@
|
||||
|
||||
int test_int_size()
|
||||
{
|
||||
return
|
||||
sizeof(glm::int_t) != sizeof(glm::lowp_int) &&
|
||||
sizeof(glm::int_t) != sizeof(glm::mediump_int) &&
|
||||
sizeof(glm::int_t) != sizeof(glm::highp_int);
|
||||
return
|
||||
sizeof(glm::int_t) != sizeof(glm::lowp_int) &&
|
||||
sizeof(glm::int_t) != sizeof(glm::mediump_int) &&
|
||||
sizeof(glm::int_t) != sizeof(glm::highp_int);
|
||||
}
|
||||
|
||||
int test_uint_size()
|
||||
{
|
||||
return
|
||||
sizeof(glm::uint_t) != sizeof(glm::lowp_uint) &&
|
||||
sizeof(glm::uint_t) != sizeof(glm::mediump_uint) &&
|
||||
sizeof(glm::uint_t) != sizeof(glm::highp_uint);
|
||||
return
|
||||
sizeof(glm::uint_t) != sizeof(glm::lowp_uint) &&
|
||||
sizeof(glm::uint_t) != sizeof(glm::mediump_uint) &&
|
||||
sizeof(glm::uint_t) != sizeof(glm::highp_uint);
|
||||
}
|
||||
|
||||
int test_int_precision()
|
||||
{
|
||||
return (
|
||||
sizeof(glm::lowp_int) <= sizeof(glm::mediump_int) &&
|
||||
sizeof(glm::mediump_int) <= sizeof(glm::highp_int)) ? 0 : 1;
|
||||
return (
|
||||
sizeof(glm::lowp_int) <= sizeof(glm::mediump_int) &&
|
||||
sizeof(glm::mediump_int) <= sizeof(glm::highp_int)) ? 0 : 1;
|
||||
}
|
||||
|
||||
int test_uint_precision()
|
||||
{
|
||||
return (
|
||||
sizeof(glm::lowp_uint) <= sizeof(glm::mediump_uint) &&
|
||||
sizeof(glm::mediump_uint) <= sizeof(glm::highp_uint)) ? 0 : 1;
|
||||
return (
|
||||
sizeof(glm::lowp_uint) <= sizeof(glm::mediump_uint) &&
|
||||
sizeof(glm::mediump_uint) <= sizeof(glm::highp_uint)) ? 0 : 1;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int Error = 0;
|
||||
|
||||
Error += test_int_size();
|
||||
Error += test_int_precision();
|
||||
Error += test_uint_size();
|
||||
Error += test_uint_precision();
|
||||
|
||||
int Error = 0;
|
||||
|
||||
Error += test_int_size();
|
||||
Error += test_int_precision();
|
||||
Error += test_uint_size();
|
||||
Error += test_uint_precision();
|
||||
|
||||
return Error;
|
||||
}
|
||||
|
@ -17,14 +17,11 @@ int test_defined()
|
||||
glm::epsilonEqual(glm::vec2(), glm::vec2(), glm::vec2());
|
||||
glm::epsilonEqual(glm::vec3(), glm::vec3(), glm::vec3());
|
||||
glm::epsilonEqual(glm::vec4(), glm::vec4(), glm::vec4());
|
||||
glm::epsilonEqual(glm::quat(), glm::quat(), glm::quat());
|
||||
|
||||
glm::epsilonNotEqual(glm::vec2(), glm::vec2(), glm::vec2());
|
||||
glm::epsilonNotEqual(glm::vec3(), glm::vec3(), glm::vec3());
|
||||
glm::epsilonNotEqual(glm::vec4(), glm::vec4(), glm::vec4());
|
||||
glm::epsilonNotEqual(glm::quat(), glm::quat(), glm::quat());
|
||||
|
||||
|
||||
|
||||
glm::epsilonEqual(glm::vec2(), glm::vec2(), 0.0f);
|
||||
glm::epsilonEqual(glm::vec3(), glm::vec3(), 0.0f);
|
||||
glm::epsilonEqual(glm::vec4(), glm::vec4(), 0.0f);
|
||||
|
@ -144,6 +144,67 @@ int test_quat_euler()
|
||||
return Error;
|
||||
}
|
||||
|
||||
int test_quat_slerp()
|
||||
{
|
||||
int Error(0);
|
||||
|
||||
float const Epsilon = 0.0001f;//glm::epsilon<float>();
|
||||
|
||||
float sqrt2 = sqrt(2.0f)/2.0f;
|
||||
glm::quat id;
|
||||
glm::quat Y90rot(sqrt2, 0.0f, sqrt2, 0.0f);
|
||||
glm::quat Y180rot(0.0f, 0.0f, 1.0f, 0.0f);
|
||||
|
||||
// Testing a == 0
|
||||
// Must be id
|
||||
glm::quat id2 = glm::slerp(id, Y90rot, 0.0f);
|
||||
Error += glm::all(glm::epsilonEqual(id, id2, Epsilon)) ? 0 : 1;
|
||||
|
||||
// Testing a == 1
|
||||
// Must be 90° rotation on Y : 0 0.7 0 0.7
|
||||
glm::quat Y90rot2 = glm::slerp(id, Y90rot, 1.0f);
|
||||
Error += glm::all(glm::epsilonEqual(Y90rot, Y90rot2, Epsilon)) ? 0 : 1;
|
||||
|
||||
// Testing standard, easy case
|
||||
// Must be 45° rotation on Y : 0 0.38 0 0.92
|
||||
glm::quat Y45rot1 = glm::slerp(id, Y90rot, 0.5f);
|
||||
|
||||
// Testing reverse case
|
||||
// Must be 45° rotation on Y : 0 0.38 0 0.92
|
||||
glm::quat Ym45rot2 = glm::slerp(Y90rot, id, 0.5f);
|
||||
|
||||
// Testing against full circle around the sphere instead of shortest path
|
||||
// Must be 45° rotation on Y
|
||||
// certainly not a 135° rotation
|
||||
glm::quat Y45rot3 = glm::slerp(id , -Y90rot, 0.5f);
|
||||
float Y45angle3 = glm::angle(Y45rot3);
|
||||
Error += glm::epsilonEqual(Y45angle3, 45.f, Epsilon) ? 0 : 1;
|
||||
Error += glm::all(glm::epsilonEqual(Ym45rot2, Y45rot3, Epsilon)) ? 0 : 1;
|
||||
|
||||
// Same, but inverted
|
||||
// Must also be 45° rotation on Y : 0 0.38 0 0.92
|
||||
// -0 -0.38 -0 -0.92 is ok too
|
||||
glm::quat Y45rot4 = glm::slerp(-Y90rot, id, 0.5f);
|
||||
Error += glm::all(glm::epsilonEqual(Ym45rot2, -Y45rot4, Epsilon)) ? 0 : 1;
|
||||
|
||||
// Testing q1 = q2
|
||||
// Must be 90° rotation on Y : 0 0.7 0 0.7
|
||||
glm::quat Y90rot3 = glm::slerp(Y90rot, Y90rot, 0.5f);
|
||||
Error += glm::all(glm::epsilonEqual(Y90rot, Y90rot3, Epsilon)) ? 0 : 1;
|
||||
|
||||
// Testing 180° rotation
|
||||
// Must be 90° rotation on almost any axis that is on the XZ plane
|
||||
glm::quat XZ90rot = glm::slerp(id, -Y90rot, 0.5f);
|
||||
float XZ90angle = glm::angle(XZ90rot); // Must be PI/4 = 0.78;
|
||||
Error += glm::epsilonEqual(XZ90angle, 45.f, Epsilon) ? 0 : 1;
|
||||
|
||||
// Testing almost equal quaternions (this test should pass through the linear interpolation)
|
||||
// Must be 0 0.00X 0 0.99999
|
||||
glm::quat almostid = glm::slerp(id, glm::angleAxis(0.1f, 0.0f, 1.0f, 0.0f), 0.5f);
|
||||
|
||||
return Error;
|
||||
}
|
||||
|
||||
int test_quat_type()
|
||||
{
|
||||
glm::quat A;
|
||||
@ -163,6 +224,7 @@ int main()
|
||||
Error += test_quat_mix();
|
||||
Error += test_quat_normalize();
|
||||
Error += test_quat_euler();
|
||||
Error += test_quat_slerp();
|
||||
|
||||
return Error;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user