Updated API documentation

This commit is contained in:
Christophe Riccio
2018-05-08 13:51:58 +02:00
parent 4d4dbcade6
commit c3a41b0ef8
470 changed files with 72126 additions and 68787 deletions

View File

@@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>0.9.9 API documenation: glm.hpp Source File</title>
<title>0.9.9 API documenation: geometric.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@@ -85,71 +85,62 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">glm.hpp</div> </div>
<div class="title">geometric.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00035.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00002.html">detail/_fixes.hpp</a>&quot;</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00094.html">detail/setup.hpp</a>&quot;</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00124.html">detail/type_vec3.hpp</a>&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00138.html">glm</a></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;{</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; GLM_FUNC_DECL T <a class="code" href="a00147.html#ga0cdabbb000834d994a1d6dc56f8f5263">length</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x);</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; GLM_FUNC_DECL T <a class="code" href="a00147.html#gaa68de6c53e20dfb2dac2d20197562e3f">distance</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; p0, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; p1);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; GLM_FUNC_DECL T <a class="code" href="a00147.html#gaad6c5d9d39bdc0bf43baf1b22e147a0a">dot</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, qualifier Q&gt;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; GLM_FUNC_DECL vec&lt;3, T, Q&gt; <a class="code" href="a00147.html#gaeeec0794212fe84fc9d261de067c9587">cross</a>(vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; x, vec&lt;3, T, Q&gt; <span class="keyword">const</span>&amp; y);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; GLM_FUNC_DECL vec&lt;L, T, Q&gt; <a class="code" href="a00147.html#ga3b8d3dcae77870781392ed2902cce597">normalize</a>(vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; x);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; GLM_FUNC_DECL vec&lt;L, T, Q&gt; <a class="code" href="a00147.html#ga7aed0a36c738169402404a3a5d54e43b">faceforward</a>(</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; N,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; I,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; Nref);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="preprocessor">#include &lt;climits&gt;</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="preprocessor">#include &lt;cfloat&gt;</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="preprocessor">#include &lt;limits&gt;</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor">#include &lt;cassert&gt;</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00033.html">fwd.hpp</a>&quot;</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_MESSAGE_CORE_INCLUDED_DISPLAYED)</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="preprocessor"># define GLM_MESSAGE_CORE_INCLUDED_DISPLAYED</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="preprocessor"># pragma message(&quot;GLM: Core library included&quot;)</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="preprocessor">#endif//GLM_MESSAGES</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00127.html">vec2.hpp</a>&quot;</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00128.html">vec3.hpp</a>&quot;</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00129.html">vec4.hpp</a>&quot;</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00046.html">mat2x2.hpp</a>&quot;</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00047.html">mat2x3.hpp</a>&quot;</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00048.html">mat2x4.hpp</a>&quot;</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00049.html">mat3x2.hpp</a>&quot;</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00050.html">mat3x3.hpp</a>&quot;</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00051.html">mat3x4.hpp</a>&quot;</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00052.html">mat4x2.hpp</a>&quot;</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00053.html">mat4x3.hpp</a>&quot;</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00054.html">mat4x4.hpp</a>&quot;</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00100.html">trigonometric.hpp</a>&quot;</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00024.html">exponential.hpp</a>&quot;</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00015.html">common.hpp</a>&quot;</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00077.html">packing.hpp</a>&quot;</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00034.html">geometric.hpp</a>&quot;</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00055.html">matrix.hpp</a>&quot;</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="preprocessor">#include &quot;vector_relational.hpp&quot;</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00041.html">integer.hpp</a>&quot;</span></div>
<div class="ttc" id="a00024_html"><div class="ttname"><a href="a00024.html">exponential.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00127_html"><div class="ttname"><a href="a00127.html">vec2.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00015_html"><div class="ttname"><a href="a00015.html">common.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00047_html"><div class="ttname"><a href="a00047.html">mat2x3.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00050_html"><div class="ttname"><a href="a00050.html">mat3x3.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00055_html"><div class="ttname"><a href="a00055.html">matrix.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00041_html"><div class="ttname"><a href="a00041.html">integer.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00100_html"><div class="ttname"><a href="a00100.html">trigonometric.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00129_html"><div class="ttname"><a href="a00129.html">vec4.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00046_html"><div class="ttname"><a href="a00046.html">mat2x2.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00034_html"><div class="ttname"><a href="a00034.html">geometric.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00049_html"><div class="ttname"><a href="a00049.html">mat3x2.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00054_html"><div class="ttname"><a href="a00054.html">mat4x4.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00052_html"><div class="ttname"><a href="a00052.html">mat4x2.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00033_html"><div class="ttname"><a href="a00033.html">fwd.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00077_html"><div class="ttname"><a href="a00077.html">packing.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00094_html"><div class="ttname"><a href="a00094.html">setup.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00053_html"><div class="ttname"><a href="a00053.html">mat4x3.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00128_html"><div class="ttname"><a href="a00128.html">vec3.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00051_html"><div class="ttname"><a href="a00051.html">mat3x4.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00002_html"><div class="ttname"><a href="a00002.html">_fixes.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00048_html"><div class="ttname"><a href="a00048.html">mat2x4.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; GLM_FUNC_DECL vec&lt;L, T, Q&gt; <a class="code" href="a00147.html#ga5631dd1d5618de5450b1ea3cf3e94905">reflect</a>(</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; I,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; N);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">template</span>&lt;length_t L, <span class="keyword">typename</span> T, qualifier Q&gt;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; GLM_FUNC_DECL vec&lt;L, T, Q&gt; <a class="code" href="a00147.html#ga01da3dff9e2ef6b9d4915c3047e22b74">refract</a>(</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; I,</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; vec&lt;L, T, Q&gt; <span class="keyword">const</span>&amp; N,</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; T eta);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;}<span class="comment">//namespace glm</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="preprocessor">#include &quot;detail/func_geometric.inl&quot;</span></div>
<div class="ttc" id="a00124_html"><div class="ttname"><a href="a00124.html">type_vec3.hpp</a></div><div class="ttdoc">Core features </div></div>
<div class="ttc" id="a00147_html_ga3b8d3dcae77870781392ed2902cce597"><div class="ttname"><a href="a00147.html#ga3b8d3dcae77870781392ed2902cce597">glm::normalize</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; normalize(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns a vector in the same direction as x but with length of 1. </div></div>
<div class="ttc" id="a00147_html_ga7aed0a36c738169402404a3a5d54e43b"><div class="ttname"><a href="a00147.html#ga7aed0a36c738169402404a3a5d54e43b">glm::faceforward</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; faceforward(vec&lt; L, T, Q &gt; const &amp;N, vec&lt; L, T, Q &gt; const &amp;I, vec&lt; L, T, Q &gt; const &amp;Nref)</div><div class="ttdoc">If dot(Nref, I) < 0.0, return N, otherwise, return -N. </div></div>
<div class="ttc" id="a00147_html_gaa68de6c53e20dfb2dac2d20197562e3f"><div class="ttname"><a href="a00147.html#gaa68de6c53e20dfb2dac2d20197562e3f">glm::distance</a></div><div class="ttdeci">GLM_FUNC_DECL T distance(vec&lt; L, T, Q &gt; const &amp;p0, vec&lt; L, T, Q &gt; const &amp;p1)</div><div class="ttdoc">Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). </div></div>
<div class="ttc" id="a00147_html_ga01da3dff9e2ef6b9d4915c3047e22b74"><div class="ttname"><a href="a00147.html#ga01da3dff9e2ef6b9d4915c3047e22b74">glm::refract</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; refract(vec&lt; L, T, Q &gt; const &amp;I, vec&lt; L, T, Q &gt; const &amp;N, T eta)</div><div class="ttdoc">For the incident vector I and surface normal N, and the ratio of indices of refraction eta...</div></div>
<div class="ttc" id="a00138_html"><div class="ttname"><a href="a00138.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
<div class="ttc" id="a00147_html_ga5631dd1d5618de5450b1ea3cf3e94905"><div class="ttname"><a href="a00147.html#ga5631dd1d5618de5450b1ea3cf3e94905">glm::reflect</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; L, T, Q &gt; reflect(vec&lt; L, T, Q &gt; const &amp;I, vec&lt; L, T, Q &gt; const &amp;N)</div><div class="ttdoc">For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...</div></div>
<div class="ttc" id="a00147_html_gaeeec0794212fe84fc9d261de067c9587"><div class="ttname"><a href="a00147.html#gaeeec0794212fe84fc9d261de067c9587">glm::cross</a></div><div class="ttdeci">GLM_FUNC_DECL vec&lt; 3, T, Q &gt; cross(vec&lt; 3, T, Q &gt; const &amp;x, vec&lt; 3, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the cross product of x and y. </div></div>
<div class="ttc" id="a00147_html_ga0cdabbb000834d994a1d6dc56f8f5263"><div class="ttname"><a href="a00147.html#ga0cdabbb000834d994a1d6dc56f8f5263">glm::length</a></div><div class="ttdeci">GLM_FUNC_DECL T length(vec&lt; L, T, Q &gt; const &amp;x)</div><div class="ttdoc">Returns the length of x, i.e., sqrt(x * x). </div></div>
<div class="ttc" id="a00147_html_gaad6c5d9d39bdc0bf43baf1b22e147a0a"><div class="ttname"><a href="a00147.html#gaad6c5d9d39bdc0bf43baf1b22e147a0a">glm::dot</a></div><div class="ttdeci">GLM_FUNC_DECL T dot(vec&lt; L, T, Q &gt; const &amp;x, vec&lt; L, T, Q &gt; const &amp;y)</div><div class="ttdoc">Returns the dot product of x and y, i.e., result = x * y. </div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>