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_GTX_std_based_type</title>
<title>0.9.9 API documenation: GLM_GTX_quaternion</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>
@@ -76,179 +76,728 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> </div>
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">GLM_GTX_std_based_type<div class="ingroups"><a class="el" href="a00148.html">Experimental extensions</a></div></div> </div>
<div class="title">GLM_GTX_quaternion<div class="ingroups"><a class="el" href="a00154.html">Experimental extensions</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Include &lt;<a class="el" href="a00096.html" title="GLM_GTX_std_based_type ">glm/gtx/std_based_type.hpp</a>&gt; to use the features of this extension.
<p>Include &lt;<a class="el" href="a00084.html" title="GLM_GTX_quaternion ">glm/gtx/quaternion.hpp</a>&gt; to use the features of this extension.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaeb877ac8f9a3703961736c1c5072cf68"><td class="memItemLeft" align="right" valign="top">typedef vec&lt; 1, std::size_t, defaultp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00219.html#gaeb877ac8f9a3703961736c1c5072cf68">size1</a></td></tr>
<tr class="memdesc:gaeb877ac8f9a3703961736c1c5072cf68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector type based of one std::size_t component. <a href="a00219.html#gaeb877ac8f9a3703961736c1c5072cf68">More...</a><br /></td></tr>
<tr class="separator:gaeb877ac8f9a3703961736c1c5072cf68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf6accc57f5aa50447ba7310ce3f0d6f"><td class="memItemLeft" align="right" valign="top">typedef vec&lt; 1, std::size_t, defaultp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00219.html#gaaf6accc57f5aa50447ba7310ce3f0d6f">size1_t</a></td></tr>
<tr class="memdesc:gaaf6accc57f5aa50447ba7310ce3f0d6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector type based of one std::size_t component. <a href="a00219.html#gaaf6accc57f5aa50447ba7310ce3f0d6f">More...</a><br /></td></tr>
<tr class="separator:gaaf6accc57f5aa50447ba7310ce3f0d6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1bfe8c4975ff282bce41be2bacd524fe"><td class="memItemLeft" align="right" valign="top">typedef vec&lt; 2, std::size_t, defaultp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00219.html#ga1bfe8c4975ff282bce41be2bacd524fe">size2</a></td></tr>
<tr class="memdesc:ga1bfe8c4975ff282bce41be2bacd524fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector type based of two std::size_t components. <a href="a00219.html#ga1bfe8c4975ff282bce41be2bacd524fe">More...</a><br /></td></tr>
<tr class="separator:ga1bfe8c4975ff282bce41be2bacd524fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5976c25657d4e2b5f73f39364c3845d6"><td class="memItemLeft" align="right" valign="top">typedef vec&lt; 2, std::size_t, defaultp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00219.html#ga5976c25657d4e2b5f73f39364c3845d6">size2_t</a></td></tr>
<tr class="memdesc:ga5976c25657d4e2b5f73f39364c3845d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector type based of two std::size_t components. <a href="a00219.html#ga5976c25657d4e2b5f73f39364c3845d6">More...</a><br /></td></tr>
<tr class="separator:ga5976c25657d4e2b5f73f39364c3845d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1c72956d0359b0db332c6c8774d3b04"><td class="memItemLeft" align="right" valign="top">typedef vec&lt; 3, std::size_t, defaultp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00219.html#gae1c72956d0359b0db332c6c8774d3b04">size3</a></td></tr>
<tr class="memdesc:gae1c72956d0359b0db332c6c8774d3b04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector type based of three std::size_t components. <a href="a00219.html#gae1c72956d0359b0db332c6c8774d3b04">More...</a><br /></td></tr>
<tr class="separator:gae1c72956d0359b0db332c6c8774d3b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2654983c60d641fd3808e65a8dfad8d"><td class="memItemLeft" align="right" valign="top">typedef vec&lt; 3, std::size_t, defaultp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00219.html#gaf2654983c60d641fd3808e65a8dfad8d">size3_t</a></td></tr>
<tr class="memdesc:gaf2654983c60d641fd3808e65a8dfad8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector type based of three std::size_t components. <a href="a00219.html#gaf2654983c60d641fd3808e65a8dfad8d">More...</a><br /></td></tr>
<tr class="separator:gaf2654983c60d641fd3808e65a8dfad8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a19dde617beaf8ce3cfc2ac5064e9aa"><td class="memItemLeft" align="right" valign="top">typedef vec&lt; 4, std::size_t, defaultp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00219.html#ga3a19dde617beaf8ce3cfc2ac5064e9aa">size4</a></td></tr>
<tr class="memdesc:ga3a19dde617beaf8ce3cfc2ac5064e9aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector type based of four std::size_t components. <a href="a00219.html#ga3a19dde617beaf8ce3cfc2ac5064e9aa">More...</a><br /></td></tr>
<tr class="separator:ga3a19dde617beaf8ce3cfc2ac5064e9aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa423efcea63675a2df26990dbcb58656"><td class="memItemLeft" align="right" valign="top">typedef vec&lt; 4, std::size_t, defaultp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00219.html#gaa423efcea63675a2df26990dbcb58656">size4_t</a></td></tr>
<tr class="memdesc:gaa423efcea63675a2df26990dbcb58656"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector type based of four std::size_t components. <a href="a00219.html#gaa423efcea63675a2df26990dbcb58656">More...</a><br /></td></tr>
<tr class="separator:gaa423efcea63675a2df26990dbcb58656"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga8639615408166d0dddda1b91a940b338"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga8639615408166d0dddda1b91a940b338"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga8639615408166d0dddda1b91a940b338">cross</a> (tquat&lt; T, Q &gt; const &amp;q, vec&lt; 3, T, Q &gt; const &amp;v)</td></tr>
<tr class="memdesc:ga8639615408166d0dddda1b91a940b338"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute a cross product between a quaternion and a vector. <a href="a00219.html#ga8639615408166d0dddda1b91a940b338">More...</a><br /></td></tr>
<tr class="separator:ga8639615408166d0dddda1b91a940b338"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa75ca5654e0dc3b61c05db091f7d46ce"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gaa75ca5654e0dc3b61c05db091f7d46ce"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#gaa75ca5654e0dc3b61c05db091f7d46ce">cross</a> (vec&lt; 3, T, Q &gt; const &amp;v, tquat&lt; T, Q &gt; const &amp;q)</td></tr>
<tr class="memdesc:gaa75ca5654e0dc3b61c05db091f7d46ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute a cross product between a vector and a quaternion. <a href="a00219.html#gaa75ca5654e0dc3b61c05db091f7d46ce">More...</a><br /></td></tr>
<tr class="separator:gaa75ca5654e0dc3b61c05db091f7d46ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72275e87ce62dc75a06d39a6c049835c"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga72275e87ce62dc75a06d39a6c049835c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga72275e87ce62dc75a06d39a6c049835c">exp</a> (tquat&lt; T, Q &gt; const &amp;q)</td></tr>
<tr class="memdesc:ga72275e87ce62dc75a06d39a6c049835c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a exp of a quaternion. <a href="a00219.html#ga72275e87ce62dc75a06d39a6c049835c">More...</a><br /></td></tr>
<tr class="separator:ga72275e87ce62dc75a06d39a6c049835c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga312385d0a8caa24c1daaa1d00ce4c2d3"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga312385d0a8caa24c1daaa1d00ce4c2d3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga312385d0a8caa24c1daaa1d00ce4c2d3">extractRealComponent</a> (tquat&lt; T, Q &gt; const &amp;q)</td></tr>
<tr class="memdesc:ga312385d0a8caa24c1daaa1d00ce4c2d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract the real component of a quaternion. <a href="a00219.html#ga312385d0a8caa24c1daaa1d00ce4c2d3">More...</a><br /></td></tr>
<tr class="separator:ga312385d0a8caa24c1daaa1d00ce4c2d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5c77bc74dfc750aaf271d68f271bf2b"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gac5c77bc74dfc750aaf271d68f271bf2b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#gac5c77bc74dfc750aaf271d68f271bf2b">fastMix</a> (tquat&lt; T, Q &gt; const &amp;x, tquat&lt; T, Q &gt; const &amp;y, T const &amp;a)</td></tr>
<tr class="memdesc:gac5c77bc74dfc750aaf271d68f271bf2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Quaternion normalized linear interpolation. <a href="a00219.html#gac5c77bc74dfc750aaf271d68f271bf2b">More...</a><br /></td></tr>
<tr class="separator:gac5c77bc74dfc750aaf271d68f271bf2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9be2084562a52ae8923813233563a28"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gac9be2084562a52ae8923813233563a28"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#gac9be2084562a52ae8923813233563a28">intermediate</a> (tquat&lt; T, Q &gt; const &amp;prev, tquat&lt; T, Q &gt; const &amp;curr, tquat&lt; T, Q &gt; const &amp;next)</td></tr>
<tr class="memdesc:gac9be2084562a52ae8923813233563a28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an intermediate control point for squad interpolation. <a href="a00219.html#gac9be2084562a52ae8923813233563a28">More...</a><br /></td></tr>
<tr class="separator:gac9be2084562a52ae8923813233563a28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga229bacc3051770b030042fe266f7b0cb"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga229bacc3051770b030042fe266f7b0cb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga229bacc3051770b030042fe266f7b0cb">length2</a> (tquat&lt; T, Q &gt; const &amp;q)</td></tr>
<tr class="memdesc:ga229bacc3051770b030042fe266f7b0cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the squared length of x. <a href="a00219.html#ga229bacc3051770b030042fe266f7b0cb">More...</a><br /></td></tr>
<tr class="separator:ga229bacc3051770b030042fe266f7b0cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad510f1a4ea26994b341c094ec4f4eed"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gaad510f1a4ea26994b341c094ec4f4eed"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#gaad510f1a4ea26994b341c094ec4f4eed">log</a> (tquat&lt; T, Q &gt; const &amp;q)</td></tr>
<tr class="memdesc:gaad510f1a4ea26994b341c094ec4f4eed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a log of a quaternion. <a href="a00219.html#gaad510f1a4ea26994b341c094ec4f4eed">More...</a><br /></td></tr>
<tr class="separator:gaad510f1a4ea26994b341c094ec4f4eed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad382fc37392d537aecf2245a4597d8a3"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gad382fc37392d537aecf2245a4597d8a3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#gad382fc37392d537aecf2245a4597d8a3">pow</a> (tquat&lt; T, Q &gt; const &amp;x, T const &amp;y)</td></tr>
<tr class="memdesc:gad382fc37392d537aecf2245a4597d8a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns x raised to the y power. <a href="a00219.html#gad382fc37392d537aecf2245a4597d8a3">More...</a><br /></td></tr>
<tr class="separator:gad382fc37392d537aecf2245a4597d8a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga40788ce1d74fac29fa000af893a3ceb5"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga40788ce1d74fac29fa000af893a3ceb5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga40788ce1d74fac29fa000af893a3ceb5">quat_identity</a> ()</td></tr>
<tr class="memdesc:ga40788ce1d74fac29fa000af893a3ceb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an identity quaternion. <a href="a00219.html#ga40788ce1d74fac29fa000af893a3ceb5">More...</a><br /></td></tr>
<tr class="separator:ga40788ce1d74fac29fa000af893a3ceb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga668d9ec9964ced2b455d416677e1e8b9"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga668d9ec9964ced2b455d416677e1e8b9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga668d9ec9964ced2b455d416677e1e8b9">quatLookAt</a> (vec&lt; 3, T, Q &gt; const &amp;direction, vec&lt; 3, T, Q &gt; const &amp;up)</td></tr>
<tr class="memdesc:ga668d9ec9964ced2b455d416677e1e8b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build a look at quaternion based on the default handedness. <a href="a00219.html#ga668d9ec9964ced2b455d416677e1e8b9">More...</a><br /></td></tr>
<tr class="separator:ga668d9ec9964ced2b455d416677e1e8b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f1b3fba52fcab952d0ab523177ff443"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga6f1b3fba52fcab952d0ab523177ff443"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga6f1b3fba52fcab952d0ab523177ff443">quatLookAtLH</a> (vec&lt; 3, T, Q &gt; const &amp;direction, vec&lt; 3, T, Q &gt; const &amp;up)</td></tr>
<tr class="memdesc:ga6f1b3fba52fcab952d0ab523177ff443"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build a left-handed look at quaternion. <a href="a00219.html#ga6f1b3fba52fcab952d0ab523177ff443">More...</a><br /></td></tr>
<tr class="separator:ga6f1b3fba52fcab952d0ab523177ff443"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad30cbeb78315773b6d18d9d1c1c75b77"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gad30cbeb78315773b6d18d9d1c1c75b77"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#gad30cbeb78315773b6d18d9d1c1c75b77">quatLookAtRH</a> (vec&lt; 3, T, Q &gt; const &amp;direction, vec&lt; 3, T, Q &gt; const &amp;up)</td></tr>
<tr class="memdesc:gad30cbeb78315773b6d18d9d1c1c75b77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build a right-handed look at quaternion. <a href="a00219.html#gad30cbeb78315773b6d18d9d1c1c75b77">More...</a><br /></td></tr>
<tr class="separator:gad30cbeb78315773b6d18d9d1c1c75b77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49730f975e7f0ee3862a20b767aba583"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga49730f975e7f0ee3862a20b767aba583"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec&lt; 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga49730f975e7f0ee3862a20b767aba583">rotate</a> (tquat&lt; T, Q &gt; const &amp;q, vec&lt; 3, T, Q &gt; const &amp;v)</td></tr>
<tr class="memdesc:ga49730f975e7f0ee3862a20b767aba583"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns quarternion square root. <a href="a00219.html#ga49730f975e7f0ee3862a20b767aba583">More...</a><br /></td></tr>
<tr class="separator:ga49730f975e7f0ee3862a20b767aba583"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97a5f8af1d63056b85a53ac28042fe77"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga97a5f8af1d63056b85a53ac28042fe77"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec&lt; 4, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga97a5f8af1d63056b85a53ac28042fe77">rotate</a> (tquat&lt; T, Q &gt; const &amp;q, vec&lt; 4, T, Q &gt; const &amp;v)</td></tr>
<tr class="memdesc:ga97a5f8af1d63056b85a53ac28042fe77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotates a 4 components vector by a quaternion. <a href="a00219.html#ga97a5f8af1d63056b85a53ac28042fe77">More...</a><br /></td></tr>
<tr class="separator:ga97a5f8af1d63056b85a53ac28042fe77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a729f33cbd904c9ca14cdf25d0a07e4"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga5a729f33cbd904c9ca14cdf25d0a07e4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga5a729f33cbd904c9ca14cdf25d0a07e4">rotation</a> (vec&lt; 3, T, Q &gt; const &amp;orig, vec&lt; 3, T, Q &gt; const &amp;dest)</td></tr>
<tr class="memdesc:ga5a729f33cbd904c9ca14cdf25d0a07e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the rotation between two vectors. <a href="a00219.html#ga5a729f33cbd904c9ca14cdf25d0a07e4">More...</a><br /></td></tr>
<tr class="separator:ga5a729f33cbd904c9ca14cdf25d0a07e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0ad63ac791b1f9a587e363837c2d538"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gaf0ad63ac791b1f9a587e363837c2d538"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#gaf0ad63ac791b1f9a587e363837c2d538">shortMix</a> (tquat&lt; T, Q &gt; const &amp;x, tquat&lt; T, Q &gt; const &amp;y, T const &amp;a)</td></tr>
<tr class="memdesc:gaf0ad63ac791b1f9a587e363837c2d538"><td class="mdescLeft">&#160;</td><td class="mdescRight">Quaternion interpolation using the rotation short path. <a href="a00219.html#gaf0ad63ac791b1f9a587e363837c2d538">More...</a><br /></td></tr>
<tr class="separator:gaf0ad63ac791b1f9a587e363837c2d538"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacfcb16619e166e672c4672aff50a565c"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gacfcb16619e166e672c4672aff50a565c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#gacfcb16619e166e672c4672aff50a565c">squad</a> (tquat&lt; T, Q &gt; const &amp;q1, tquat&lt; T, Q &gt; const &amp;q2, tquat&lt; T, Q &gt; const &amp;s1, tquat&lt; T, Q &gt; const &amp;s2, T const &amp;h)</td></tr>
<tr class="memdesc:gacfcb16619e166e672c4672aff50a565c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute a point on a path according squad equation. <a href="a00219.html#gacfcb16619e166e672c4672aff50a565c">More...</a><br /></td></tr>
<tr class="separator:gacfcb16619e166e672c4672aff50a565c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga433955cb703d982427fb53b540d02f3d"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga433955cb703d982427fb53b540d02f3d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 3, 3, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga433955cb703d982427fb53b540d02f3d">toMat3</a> (tquat&lt; T, Q &gt; const &amp;x)</td></tr>
<tr class="memdesc:ga433955cb703d982427fb53b540d02f3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a quaternion to a 3 * 3 matrix. <a href="a00219.html#ga433955cb703d982427fb53b540d02f3d">More...</a><br /></td></tr>
<tr class="separator:ga433955cb703d982427fb53b540d02f3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1fa0fb798c2715148e2e0358442bf895"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga1fa0fb798c2715148e2e0358442bf895"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat&lt; 4, 4, T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga1fa0fb798c2715148e2e0358442bf895">toMat4</a> (tquat&lt; T, Q &gt; const &amp;x)</td></tr>
<tr class="memdesc:ga1fa0fb798c2715148e2e0358442bf895"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a quaternion to a 4 * 4 matrix. <a href="a00219.html#ga1fa0fb798c2715148e2e0358442bf895">More...</a><br /></td></tr>
<tr class="separator:ga1fa0fb798c2715148e2e0358442bf895"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9be791077b7a612d9092a922bd13f86"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:gae9be791077b7a612d9092a922bd13f86"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#gae9be791077b7a612d9092a922bd13f86">toQuat</a> (mat&lt; 3, 3, T, Q &gt; const &amp;x)</td></tr>
<tr class="memdesc:gae9be791077b7a612d9092a922bd13f86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a 3 * 3 matrix to a quaternion. <a href="a00219.html#gae9be791077b7a612d9092a922bd13f86">More...</a><br /></td></tr>
<tr class="separator:gae9be791077b7a612d9092a922bd13f86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c0a178ac9c7d23e1a6848045d83aa54"><td class="memTemplParams" colspan="2">template&lt;typename T , qualifier Q&gt; </td></tr>
<tr class="memitem:ga6c0a178ac9c7d23e1a6848045d83aa54"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tquat&lt; T, Q &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00219.html#ga6c0a178ac9c7d23e1a6848045d83aa54">toQuat</a> (mat&lt; 4, 4, T, Q &gt; const &amp;x)</td></tr>
<tr class="memdesc:ga6c0a178ac9c7d23e1a6848045d83aa54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a 4 * 4 matrix to a quaternion. <a href="a00219.html#ga6c0a178ac9c7d23e1a6848045d83aa54">More...</a><br /></td></tr>
<tr class="separator:ga6c0a178ac9c7d23e1a6848045d83aa54"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Include &lt;<a class="el" href="a00096.html" title="GLM_GTX_std_based_type ">glm/gtx/std_based_type.hpp</a>&gt; to use the features of this extension. </p>
<p>Adds vector types based on STL value types. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gaeb877ac8f9a3703961736c1c5072cf68"></a>
<p>Include &lt;<a class="el" href="a00084.html" title="GLM_GTX_quaternion ">glm/gtx/quaternion.hpp</a>&gt; to use the features of this extension. </p>
<p>Extented quaternion types and functions </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga8639615408166d0dddda1b91a940b338"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef vec&lt;1, std::size_t, defaultp&gt; size1</td>
<td class="memname">GLM_FUNC_DECL vec&lt;3, T, Q&gt; glm::cross </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>q</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>v</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Vector type based of one std::size_t component. </p>
<dl class="section see"><dt>See also</dt><dd>GLM_GTX_std_based_type </dd></dl>
<p>Definition at line <a class="el" href="a00096_source.html#l00035">35</a> of file <a class="el" href="a00096_source.html">std_based_type.hpp</a>.</p>
<p>Compute a cross product between a quaternion and a vector. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaaf6accc57f5aa50447ba7310ce3f0d6f"></a>
<a class="anchor" id="gaa75ca5654e0dc3b61c05db091f7d46ce"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef vec&lt;1, std::size_t, defaultp&gt; size1_t</td>
<td class="memname">GLM_FUNC_DECL vec&lt;3, T, Q&gt; glm::cross </td>
<td>(</td>
<td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>q</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Vector type based of one std::size_t component. </p>
<dl class="section see"><dt>See also</dt><dd>GLM_GTX_std_based_type </dd></dl>
<p>Definition at line <a class="el" href="a00096_source.html#l00051">51</a> of file <a class="el" href="a00096_source.html">std_based_type.hpp</a>.</p>
<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="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga1bfe8c4975ff282bce41be2bacd524fe"></a>
<a class="anchor" id="ga72275e87ce62dc75a06d39a6c049835c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef vec&lt;2, std::size_t, defaultp&gt; size2</td>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::exp </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>q</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Vector type based of two std::size_t components. </p>
<dl class="section see"><dt>See also</dt><dd>GLM_GTX_std_based_type </dd></dl>
<p>Definition at line <a class="el" href="a00096_source.html#l00039">39</a> of file <a class="el" href="a00096_source.html">std_based_type.hpp</a>.</p>
<p>Returns a exp of a quaternion. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga5976c25657d4e2b5f73f39364c3845d6"></a>
<a class="anchor" id="ga312385d0a8caa24c1daaa1d00ce4c2d3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef vec&lt;2, std::size_t, defaultp&gt; size2_t</td>
<td class="memname">GLM_FUNC_DECL T glm::extractRealComponent </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>q</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Vector type based of two std::size_t components. </p>
<dl class="section see"><dt>See also</dt><dd>GLM_GTX_std_based_type </dd></dl>
<p>Definition at line <a class="el" href="a00096_source.html#l00055">55</a> of file <a class="el" href="a00096_source.html">std_based_type.hpp</a>.</p>
<p>Extract the real component of a quaternion. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gae1c72956d0359b0db332c6c8774d3b04"></a>
<a class="anchor" id="gac5c77bc74dfc750aaf271d68f271bf2b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef vec&lt;3, std::size_t, defaultp&gt; size3</td>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::fastMix </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Vector type based of three std::size_t components. </p>
<dl class="section see"><dt>See also</dt><dd>GLM_GTX_std_based_type </dd></dl>
<p>Definition at line <a class="el" href="a00096_source.html#l00043">43</a> of file <a class="el" href="a00096_source.html">std_based_type.hpp</a>.</p>
<p>Quaternion normalized linear interpolation. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaf2654983c60d641fd3808e65a8dfad8d"></a>
<a class="anchor" id="gac9be2084562a52ae8923813233563a28"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef vec&lt;3, std::size_t, defaultp&gt; size3_t</td>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::intermediate </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>prev</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>curr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>next</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Vector type based of three std::size_t components. </p>
<dl class="section see"><dt>See also</dt><dd>GLM_GTX_std_based_type </dd></dl>
<p>Definition at line <a class="el" href="a00096_source.html#l00059">59</a> of file <a class="el" href="a00096_source.html">std_based_type.hpp</a>.</p>
<p>Returns an intermediate control point for squad interpolation. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga3a19dde617beaf8ce3cfc2ac5064e9aa"></a>
<a class="anchor" id="ga229bacc3051770b030042fe266f7b0cb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef vec&lt;4, std::size_t, defaultp&gt; size4</td>
<td class="memname">GLM_FUNC_DECL T glm::length2 </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>q</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Vector type based of four std::size_t components. </p>
<dl class="section see"><dt>See also</dt><dd>GLM_GTX_std_based_type </dd></dl>
<p>Definition at line <a class="el" href="a00096_source.html#l00047">47</a> of file <a class="el" href="a00096_source.html">std_based_type.hpp</a>.</p>
<p>Returns the squared length of x. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaa423efcea63675a2df26990dbcb58656"></a>
<a class="anchor" id="gaad510f1a4ea26994b341c094ec4f4eed"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef vec&lt;4, std::size_t, defaultp&gt; size4_t</td>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::log </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>q</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Vector type based of four std::size_t components. </p>
<dl class="section see"><dt>See also</dt><dd>GLM_GTX_std_based_type </dd></dl>
<p>Returns a log of a quaternion. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
<p>Definition at line <a class="el" href="a00096_source.html#l00063">63</a> of file <a class="el" href="a00096_source.html">std_based_type.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="gad382fc37392d537aecf2245a4597d8a3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::pow </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns x raised to the y power. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga40788ce1d74fac29fa000af893a3ceb5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::quat_identity </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create an identity quaternion. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga668d9ec9964ced2b455d416677e1e8b9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::quatLookAt </td>
<td>(</td>
<td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>direction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>up</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Build a look at quaternion based on the default handedness. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">direction</td><td>Desired forward direction. Needs to be normalized. </td></tr>
<tr><td class="paramname">up</td><td>Up vector, how the camera is oriented. Typically (0, 1, 0). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6f1b3fba52fcab952d0ab523177ff443"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::quatLookAtLH </td>
<td>(</td>
<td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>direction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>up</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Build a left-handed look at quaternion. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">direction</td><td>Desired forward direction onto which the +z-axis gets mapped. Needs to be normalized. </td></tr>
<tr><td class="paramname">up</td><td>Up vector, how the camera is oriented. Typically (0, 1, 0). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad30cbeb78315773b6d18d9d1c1c75b77"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::quatLookAtRH </td>
<td>(</td>
<td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>direction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>up</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Build a right-handed look at quaternion. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">direction</td><td>Desired forward direction onto which the -z-axis gets mapped. Needs to be normalized. </td></tr>
<tr><td class="paramname">up</td><td>Up vector, how the camera is oriented. Typically (0, 1, 0). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga49730f975e7f0ee3862a20b767aba583"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL vec&lt;3, T, Q&gt; glm::rotate </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>q</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>v</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns quarternion square root. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> Rotates a 3 components vector by a quaternion.</dd>
<dd>
<a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga97a5f8af1d63056b85a53ac28042fe77"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL vec&lt;4, T, Q&gt; glm::rotate </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>q</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 4, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>v</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Rotates a 4 components vector by a quaternion. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga5a729f33cbd904c9ca14cdf25d0a07e4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::rotation </td>
<td>(</td>
<td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>orig</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vec&lt; 3, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>dest</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the rotation between two vectors. </p>
<p>param orig vector, needs to be normalized param dest vector, needs to be normalized</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaf0ad63ac791b1f9a587e363837c2d538"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::shortMix </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Quaternion interpolation using the rotation short path. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gacfcb16619e166e672c4672aff50a565c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::squad </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>q1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>q2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>s1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>s2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>h</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute a point on a path according squad equation. </p>
<p>q1 and q2 are control points; s1 and s2 are intermediate control points.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga433955cb703d982427fb53b540d02f3d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;3, 3, T, Q&gt; glm::toMat3 </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Converts a quaternion to a 3 * 3 matrix. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
<p>Definition at line <a class="el" href="a00084_source.html#l00134">134</a> of file <a class="el" href="a00084_source.html">gtx/quaternion.hpp</a>.</p>
<p>References <a class="el" href="a00166.html#ga6e88f15c94effe737c876d21ea0db101">glm::mat3_cast()</a>.</p>
</div>
</div>
<a class="anchor" id="ga1fa0fb798c2715148e2e0358442bf895"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL mat&lt;4, 4, T, Q&gt; glm::toMat4 </td>
<td>(</td>
<td class="paramtype">tquat&lt; T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Converts a quaternion to a 4 * 4 matrix. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
<p>Definition at line <a class="el" href="a00084_source.html#l00141">141</a> of file <a class="el" href="a00084_source.html">gtx/quaternion.hpp</a>.</p>
<p>References <a class="el" href="a00166.html#ga8e2085f17cd5aae423c04536524f11b3">glm::mat4_cast()</a>.</p>
</div>
</div>
<a class="anchor" id="gae9be791077b7a612d9092a922bd13f86"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::toQuat </td>
<td>(</td>
<td class="paramtype">mat&lt; 3, 3, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Converts a 3 * 3 matrix to a quaternion. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
<p>Definition at line <a class="el" href="a00084_source.html#l00148">148</a> of file <a class="el" href="a00084_source.html">gtx/quaternion.hpp</a>.</p>
<p>References <a class="el" href="a00166.html#ga03e023aec9acd561a28594bbc8a3abf6">glm::quat_cast()</a>.</p>
</div>
</div>
<a class="anchor" id="ga6c0a178ac9c7d23e1a6848045d83aa54"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">GLM_FUNC_DECL tquat&lt;T, Q&gt; glm::toQuat </td>
<td>(</td>
<td class="paramtype">mat&lt; 4, 4, T, Q &gt; const &amp;&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Converts a 4 * 4 matrix to a quaternion. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00219.html" title="Include <glm/gtx/quaternion.hpp> to use the features of this extension. ">GLM_GTX_quaternion</a> </dd></dl>
<p>Definition at line <a class="el" href="a00084_source.html#l00155">155</a> of file <a class="el" href="a00084_source.html">gtx/quaternion.hpp</a>.</p>
<p>References <a class="el" href="a00166.html#ga03e023aec9acd561a28594bbc8a3abf6">glm::quat_cast()</a>.</p>
</div>
</div>