2021-11-15 11:35:45 +01:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" />
< meta http-equiv = "X-UA-Compatible" content = "IE=9" />
< meta name = "generator" content = "Doxygen 1.8.17" />
< meta name = "viewport" content = "width=device-width, initial-scale=1" />
< title > Leonetienne/Eule: Eule::Quaternion Class Reference</ 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 >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "search/searchdata.js" ></ script >
< script type = "text/javascript" src = "search/search.js" ></ script >
< script type = "text/x-mathjax-config" >
MathJax . Hub . Config ({
extensions : [ "tex2jax.js" ],
jax : [ "input/TeX" , "output/HTML-CSS" ],
});
</ script >
< script type = "text/javascript" async = "async" src = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" ></ script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" />
</ head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
< td id = "projectalign" style = "padding-left: 0.5em;" >
< div id = "projectname" > Leonetienne/Eule
</ div >
< div id = "projectbrief" > Homemade math library, mainly targetted towards computer graphics</ div >
</ td >
</ tr >
</ tbody >
</ table >
</ div >
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox ( "searchBox" , "search" , false , 'Search' );
/* @license-end */
</ script >
< script type = "text/javascript" src = "menudata.js" ></ script >
< script type = "text/javascript" src = "menu.js" ></ script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$ ( function () {
initMenu ( '' , true , false , 'search.php' , 'Search' );
$ ( document ). ready ( function () { init_search (); });
});
/* @license-end */ </ script >
< div id = "main-nav" ></ div >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover = "return searchBox.OnSearchSelectShow()"
onmouseout = "return searchBox.OnSearchSelectHide()"
onkeydown = "return searchBox.OnSearchSelectKey(event)" >
</ div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< iframe src = "javascript:void(0)" frameborder = "0"
name = "MSearchResults" id = "MSearchResults" >
</ iframe >
</ div >
< div id = "nav-path" class = "navpath" >
< ul >
< li class = "navelem" >< a class = "el" href = "namespaceEule.html" > Eule</ a ></ li >< li class = "navelem" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a ></ li > </ ul >
</ div >
</ div > <!-- top -->
< div class = "header" >
< div class = "summary" >
< a href = "#pub-methods" > Public Member Functions</ a > |
< a href = "#friends" > Friends</ a > |
< a href = "classEule_1_1Quaternion-members.html" > List of all members</ a > </ div >
< div class = "headertitle" >
< div class = "title" > Eule::Quaternion Class Reference</ div > </ div >
</ div > <!--header-->
< div class = "contents" >
< p > 3D rotation representation
< a href = "classEule_1_1Quaternion.html#details" > More...</ a ></ p >
< p >< code > #include < < a class = "el" href = "Quaternion_8h_source.html" > Quaternion.h</ a > > </ code ></ p >
< table class = "memberdecls" >
< tr class = "heading" >< td colspan = "2" >< h2 class = "groupheader" >< a name = "pub-methods" ></ a >
Public Member Functions</ h2 ></ td ></ tr >
< tr class = "memitem:abcc01358aada56ea5f0db4da18aaf77d" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#abcc01358aada56ea5f0db4da18aaf77d" > Quaternion</ a > ()</ td ></ tr >
< tr class = "separator:abcc01358aada56ea5f0db4da18aaf77d" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a2dc0ed0c7773600cf443151573287e4a" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a2dc0ed0c7773600cf443151573287e4a" > Quaternion</ a > (const < a class = "el" href = "namespaceEule.html#ab1f7f26891b56b960ca6cca5cc1cc44e" > Vector4d</ a > values)</ td ></ tr >
< tr class = "memdesc:a2dc0ed0c7773600cf443151573287e4a" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Constructs by these raw values. < a href = "classEule_1_1Quaternion.html#a2dc0ed0c7773600cf443151573287e4a" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:a2dc0ed0c7773600cf443151573287e4a" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ab3b8862f9fd86c7ebb426b4940d08b39" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#ab3b8862f9fd86c7ebb426b4940d08b39" > Quaternion</ a > (const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & q)</ td ></ tr >
< tr class = "memdesc:ab3b8862f9fd86c7ebb426b4940d08b39" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Copies this existing < a class = "el" href = "classEule_1_1Quaternion.html" title = "3D rotation representation" > Quaternion</ a > . < a href = "classEule_1_1Quaternion.html#ab3b8862f9fd86c7ebb426b4940d08b39" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:ab3b8862f9fd86c7ebb426b4940d08b39" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a1e4c6f8984bb7a9ae1ffed45adffe02f" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a1e4c6f8984bb7a9ae1ffed45adffe02f" > Quaternion</ a > (const < a class = "el" href = "namespaceEule.html#afc45246550a85134cf500caa2b81061a" > Vector3d</ a > eulerAngles)</ td ></ tr >
< tr class = "memdesc:a1e4c6f8984bb7a9ae1ffed45adffe02f" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Creates an quaternion from euler angles. < a href = "classEule_1_1Quaternion.html#a1e4c6f8984bb7a9ae1ffed45adffe02f" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:a1e4c6f8984bb7a9ae1ffed45adffe02f" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a5f834c2ca469cd71edc8a23fdc3f56e8" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a5f834c2ca469cd71edc8a23fdc3f56e8" > ~Quaternion</ a > ()</ td ></ tr >
< tr class = "separator:a5f834c2ca469cd71edc8a23fdc3f56e8" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a9cf7fd3318ffdd50e6567c84d24c20e9" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a9cf7fd3318ffdd50e6567c84d24c20e9" > operator=</ a > (const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & q)</ td ></ tr >
< tr class = "memdesc:a9cf7fd3318ffdd50e6567c84d24c20e9" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Copies. < a href = "classEule_1_1Quaternion.html#a9cf7fd3318ffdd50e6567c84d24c20e9" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:a9cf7fd3318ffdd50e6567c84d24c20e9" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ab178e12364d87fb676d85695e491361f" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#ab178e12364d87fb676d85695e491361f" > operator*</ a > (const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & q) const</ td ></ tr >
< tr class = "memdesc:ab178e12364d87fb676d85695e491361f" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Multiplies (applies) < a href = "classEule_1_1Quaternion.html#ab178e12364d87fb676d85695e491361f" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:ab178e12364d87fb676d85695e491361f" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a23488d14e31db8cec75a0e8c6f38c70a" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a23488d14e31db8cec75a0e8c6f38c70a" > operator/</ a > (< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & q) const</ td ></ tr >
< tr class = "memdesc:a23488d14e31db8cec75a0e8c6f38c70a" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Divides (applies) < a href = "classEule_1_1Quaternion.html#a23488d14e31db8cec75a0e8c6f38c70a" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:a23488d14e31db8cec75a0e8c6f38c70a" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a8941e3b43aabd15e2471e57ebd49c8a7" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a8941e3b43aabd15e2471e57ebd49c8a7" > operator*=</ a > (const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & q)</ td ></ tr >
< tr class = "memdesc:a8941e3b43aabd15e2471e57ebd49c8a7" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Also multiplies. < a href = "classEule_1_1Quaternion.html#a8941e3b43aabd15e2471e57ebd49c8a7" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:a8941e3b43aabd15e2471e57ebd49c8a7" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aa071c90a64d21cbb8109366bf2449838" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#aa071c90a64d21cbb8109366bf2449838" > operator/=</ a > (const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & q)</ td ></ tr >
< tr class = "memdesc:aa071c90a64d21cbb8109366bf2449838" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Also divides. < a href = "classEule_1_1Quaternion.html#aa071c90a64d21cbb8109366bf2449838" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:aa071c90a64d21cbb8109366bf2449838" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a29aeab8de1a33ae8c043e3438829835f" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "namespaceEule.html#afc45246550a85134cf500caa2b81061a" > Vector3d</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a29aeab8de1a33ae8c043e3438829835f" > operator*</ a > (const < a class = "el" href = "namespaceEule.html#afc45246550a85134cf500caa2b81061a" > Vector3d</ a > & p) const</ td ></ tr >
< tr class = "memdesc:a29aeab8de1a33ae8c043e3438829835f" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Will transform a 3d point around its origin. < a href = "classEule_1_1Quaternion.html#a29aeab8de1a33ae8c043e3438829835f" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:a29aeab8de1a33ae8c043e3438829835f" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a516d4dcc7c6f13d8846070b72f588210" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a516d4dcc7c6f13d8846070b72f588210" > operator==</ a > (const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & q) const</ td ></ tr >
< tr class = "separator:a516d4dcc7c6f13d8846070b72f588210" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a1a97201d7deb56f543d65be9741cd2bd" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a1a97201d7deb56f543d65be9741cd2bd" > operator!=</ a > (const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & q) const</ td ></ tr >
< tr class = "separator:a1a97201d7deb56f543d65be9741cd2bd" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a704d63f0f2cd2d50fd61562e3c2eb576" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a704d63f0f2cd2d50fd61562e3c2eb576" > Inverse</ a > () const</ td ></ tr >
< tr class = "separator:a704d63f0f2cd2d50fd61562e3c2eb576" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aa5333ab28dbe4d5ae15ab5dbc36b90ca" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#aa5333ab28dbe4d5ae15ab5dbc36b90ca" > Conjugate</ a > () const</ td ></ tr >
< tr class = "separator:aa5333ab28dbe4d5ae15ab5dbc36b90ca" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:affb1a8ac42e356ee5efb304ca8df38ca" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#affb1a8ac42e356ee5efb304ca8df38ca" > UnitQuaternion</ a > () const</ td ></ tr >
< tr class = "separator:affb1a8ac42e356ee5efb304ca8df38ca" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aaeb89218e886e605c6e2a87c9cb773a4" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "namespaceEule.html#afc45246550a85134cf500caa2b81061a" > Vector3d</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#aaeb89218e886e605c6e2a87c9cb773a4" > RotateVector</ a > (const < a class = "el" href = "namespaceEule.html#afc45246550a85134cf500caa2b81061a" > Vector3d</ a > & vec) const</ td ></ tr >
< tr class = "memdesc:aaeb89218e886e605c6e2a87c9cb773a4" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Will rotate a vector by this quaternion. < a href = "classEule_1_1Quaternion.html#aaeb89218e886e605c6e2a87c9cb773a4" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:aaeb89218e886e605c6e2a87c9cb773a4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a5a6349cb3e0a0c73df527e9ba907b0da" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "namespaceEule.html#afc45246550a85134cf500caa2b81061a" > Vector3d</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a5a6349cb3e0a0c73df527e9ba907b0da" > ToEulerAngles</ a > () const</ td ></ tr >
< tr class = "memdesc:a5a6349cb3e0a0c73df527e9ba907b0da" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Will return euler angles representing this < a class = "el" href = "classEule_1_1Quaternion.html" title = "3D rotation representation" > Quaternion</ a > 's rotation. < a href = "classEule_1_1Quaternion.html#a5a6349cb3e0a0c73df527e9ba907b0da" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:a5a6349cb3e0a0c73df527e9ba907b0da" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aedb36036ee6a39fb97c5d2ba12b5d986" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classEule_1_1Matrix4x4.html" > Matrix4x4</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#aedb36036ee6a39fb97c5d2ba12b5d986" > ToRotationMatrix</ a > () const</ td ></ tr >
< tr class = "memdesc:aedb36036ee6a39fb97c5d2ba12b5d986" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Will return a rotation matrix representing this Quaternions rotation. < a href = "classEule_1_1Quaternion.html#aedb36036ee6a39fb97c5d2ba12b5d986" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:aedb36036ee6a39fb97c5d2ba12b5d986" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aaa193aa23729338a64bbd16eacab56ec" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "namespaceEule.html#ab1f7f26891b56b960ca6cca5cc1cc44e" > Vector4d</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#aaa193aa23729338a64bbd16eacab56ec" > GetRawValues</ a > () const</ td ></ tr >
< tr class = "memdesc:aaa193aa23729338a64bbd16eacab56ec" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Will return the raw four-dimensional values. < a href = "classEule_1_1Quaternion.html#aaa193aa23729338a64bbd16eacab56ec" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:aaa193aa23729338a64bbd16eacab56ec" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a2c7d0c3521f0e6127ca4b5d5bdbf8329" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a2c7d0c3521f0e6127ca4b5d5bdbf8329" > AngleBetween</ a > (const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & other) const</ td ></ tr >
< tr class = "memdesc:a2c7d0c3521f0e6127ca4b5d5bdbf8329" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Will return the value between two < a class = "el" href = "classEule_1_1Quaternion.html" title = "3D rotation representation" > Quaternion</ a > 's as another < a class = "el" href = "classEule_1_1Quaternion.html" title = "3D rotation representation" > Quaternion</ a > . < a href = "classEule_1_1Quaternion.html#a2c7d0c3521f0e6127ca4b5d5bdbf8329" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:a2c7d0c3521f0e6127ca4b5d5bdbf8329" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a7046064a89615e16760f17f41b60a31d" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a7046064a89615e16760f17f41b60a31d" > SetRawValues</ a > (const < a class = "el" href = "namespaceEule.html#ab1f7f26891b56b960ca6cca5cc1cc44e" > Vector4d</ a > values)</ td ></ tr >
< tr class = "memdesc:a7046064a89615e16760f17f41b60a31d" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Will set the raw four-dimensional values. < a href = "classEule_1_1Quaternion.html#a7046064a89615e16760f17f41b60a31d" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:a7046064a89615e16760f17f41b60a31d" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a2c386181050f7745341a00f79e496e08" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a2c386181050f7745341a00f79e496e08" > Lerp</ a > (const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & other, double t) const</ td ></ tr >
< tr class = "memdesc:a2c386181050f7745341a00f79e496e08" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Will return the lerp result between two quaternions. < a href = "classEule_1_1Quaternion.html#a2c386181050f7745341a00f79e496e08" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:a2c386181050f7745341a00f79e496e08" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
</ table >< table class = "memberdecls" >
< tr class = "heading" >< td colspan = "2" >< h2 class = "groupheader" >< a name = "friends" ></ a >
Friends</ h2 ></ td ></ tr >
< tr class = "memitem:a9dc71eaedf4486dc005fa9a67c6da866" >< td class = "memItemLeft" align = "right" valign = "top" > std::ostream &  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a9dc71eaedf4486dc005fa9a67c6da866" > operator<< </ a > (std::ostream & os, const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & q)</ td ></ tr >
< tr class = "separator:a9dc71eaedf4486dc005fa9a67c6da866" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a7cf5f94ea6e861b3c01f674d7ef987c7" >< td class = "memItemLeft" align = "right" valign = "top" > std::wostream &  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classEule_1_1Quaternion.html#a7cf5f94ea6e861b3c01f674d7ef987c7" > operator<< </ a > (std::wostream & os, const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & q)</ td ></ tr >
< tr class = "separator:a7cf5f94ea6e861b3c01f674d7ef987c7" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
</ table >
< a name = "details" id = "details" ></ a >< h2 class = "groupheader" > Detailed Description</ h2 >
< div class = "textblock" >< p > 3D rotation representation </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8h_source.html#l00010" > 10</ a > of file < a class = "el" href = "Quaternion_8h_source.html" > Quaternion.h</ a > .</ p >
</ div >< h2 class = "groupheader" > Constructor & Destructor Documentation</ h2 >
< a id = "abcc01358aada56ea5f0db4da18aaf77d" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#abcc01358aada56ea5f0db4da18aaf77d" > ◆ </ a ></ span > Quaternion() < span class = "overload" > [1/4]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > Quaternion::Quaternion </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00011" > 11</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00012" ></ a >< span class = "lineno" > 12</ span >   {</ div >
< div class = "line" >< a name = "l00013" ></ a >< span class = "lineno" > 13</ span >   v = < a class = "code" href = "namespaceEule.html#ab1f7f26891b56b960ca6cca5cc1cc44e" > Vector4d</ a > (0, 0, 0, 1);</ div >
< div class = "line" >< a name = "l00014" ></ a >< span class = "lineno" > 14</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00015" ></ a >< span class = "lineno" > 15</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a2dc0ed0c7773600cf443151573287e4a" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a2dc0ed0c7773600cf443151573287e4a" > ◆ </ a ></ span > Quaternion() < span class = "overload" > [2/4]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > Quaternion::Quaternion </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "namespaceEule.html#ab1f7f26891b56b960ca6cca5cc1cc44e" > Vector4d</ a >   </ td >
< td class = "paramname" >< em > values</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > explicit</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Constructs by these raw values. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00017" > 17</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00018" ></ a >< span class = "lineno" > 18</ span >   {</ div >
< div class = "line" >< a name = "l00019" ></ a >< span class = "lineno" > 19</ span >   v = values;</ div >
< div class = "line" >< a name = "l00020" ></ a >< span class = "lineno" > 20</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00021" ></ a >< span class = "lineno" > 21</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "ab3b8862f9fd86c7ebb426b4940d08b39" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ab3b8862f9fd86c7ebb426b4940d08b39" > ◆ </ a ></ span > Quaternion() < span class = "overload" > [3/4]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > Quaternion::Quaternion </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >
< td class = "paramname" >< em > q</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Copies this existing < a class = "el" href = "classEule_1_1Quaternion.html" title = "3D rotation representation" > Quaternion</ a > . </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00023" > 23</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00024" ></ a >< span class = "lineno" > 24</ span >   {</ div >
< div class = "line" >< a name = "l00025" ></ a >< span class = "lineno" > 25</ span >   v = q.v;</ div >
< div class = "line" >< a name = "l00026" ></ a >< span class = "lineno" > 26</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00027" ></ a >< span class = "lineno" > 27</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a1e4c6f8984bb7a9ae1ffed45adffe02f" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a1e4c6f8984bb7a9ae1ffed45adffe02f" > ◆ </ a ></ span > Quaternion() < span class = "overload" > [4/4]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > Quaternion::Quaternion </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "namespaceEule.html#afc45246550a85134cf500caa2b81061a" > Vector3d</ a >   </ td >
< td class = "paramname" >< em > eulerAngles</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Creates an quaternion from euler angles. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00029" > 29</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00030" ></ a >< span class = "lineno" > 30</ span >   {</ div >
2021-11-15 11:46:15 +01:00
< div class = "line" >< a name = "l00031" ></ a >< span class = "lineno" > 31</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3d</ a > eulerRad = eulerAngles * < a class = "code" href = "Constants_8h.html#a0688d82670a3ba9d40853859003c64df" > Deg2Rad</ a > ;</ div >
2021-11-15 11:35:45 +01:00
< div class = "line" >< a name = "l00032" ></ a >< span class = "lineno" > 32</ span >   </ div >
< div class = "line" >< a name = "l00033" ></ a >< span class = "lineno" > 33</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00034" ></ a >< span class = "lineno" > 34</ span >   </ div >
< div class = "line" >< a name = "l00035" ></ a >< span class = "lineno" > 35</ span >   < span class = "comment" > // Calculate sine and cos values</ span ></ div >
< div class = "line" >< a name = "l00036" ></ a >< span class = "lineno" > 36</ span >   __m256d __vec = _mm256_set_pd(0, eulerRad.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > , eulerRad.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > , eulerRad.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > );</ div >
< div class = "line" >< a name = "l00037" ></ a >< span class = "lineno" > 37</ span >   __vec = _mm256_mul_pd(__vec, _mm256_set1_pd(0.5));</ div >
< div class = "line" >< a name = "l00038" ></ a >< span class = "lineno" > 38</ span >   __m256d __cos;</ div >
< div class = "line" >< a name = "l00039" ></ a >< span class = "lineno" > 39</ span >   __m256d __sin = _mm256_sincos_pd(& __cos, __vec);</ div >
< div class = "line" >< a name = "l00040" ></ a >< span class = "lineno" > 40</ span >   </ div >
< div class = "line" >< a name = "l00041" ></ a >< span class = "lineno" > 41</ span >   < span class = "comment" > // Create multiplication vectors</ span ></ div >
< div class = "line" >< a name = "l00042" ></ a >< span class = "lineno" > 42</ span >   < span class = "keywordtype" > double</ span > sin[4];</ div >
< div class = "line" >< a name = "l00043" ></ a >< span class = "lineno" > 43</ span >   < span class = "keywordtype" > double</ span > cos[4];</ div >
< div class = "line" >< a name = "l00044" ></ a >< span class = "lineno" > 44</ span >   </ div >
< div class = "line" >< a name = "l00045" ></ a >< span class = "lineno" > 45</ span >   _mm256_storeu_pd(sin, __sin);</ div >
< div class = "line" >< a name = "l00046" ></ a >< span class = "lineno" > 46</ span >   _mm256_storeu_pd(cos, __cos);</ 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 >   __m256d __a = _mm256_set_pd(cos[0], cos[0], sin[0], cos[0]);</ div >
< div class = "line" >< a name = "l00049" ></ a >< span class = "lineno" > 49</ span >   __m256d __b = _mm256_set_pd(cos[1], sin[1], cos[1], cos[1]);</ div >
< div class = "line" >< a name = "l00050" ></ a >< span class = "lineno" > 50</ span >   __m256d __c = _mm256_set_pd(sin[2], cos[2], cos[2], cos[2]);</ 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 >   __m256d __d = _mm256_set_pd(sin[0], sin[0], cos[0], sin[0]);</ div >
< div class = "line" >< a name = "l00053" ></ a >< span class = "lineno" > 53</ span >   __m256d __e = _mm256_set_pd(sin[1], cos[1], sin[1], sin[1]);</ div >
< div class = "line" >< a name = "l00054" ></ a >< span class = "lineno" > 54</ span >   __m256d __f = _mm256_set_pd(cos[2], sin[2], sin[2], sin[2]);</ 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" > // Multiply them</ span ></ div >
< div class = "line" >< a name = "l00057" ></ a >< span class = "lineno" > 57</ span >   __m256d __abc;</ div >
< div class = "line" >< a name = "l00058" ></ a >< span class = "lineno" > 58</ span >   __abc = _mm256_mul_pd(__a, __b);</ div >
< div class = "line" >< a name = "l00059" ></ a >< span class = "lineno" > 59</ span >   __abc = _mm256_mul_pd(__abc, __c);</ 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 >   __m256d __def;</ div >
< div class = "line" >< a name = "l00062" ></ a >< span class = "lineno" > 62</ span >   __def = _mm256_mul_pd(__d, __e);</ div >
< div class = "line" >< a name = "l00063" ></ a >< span class = "lineno" > 63</ span >   __def = _mm256_mul_pd(__def, __f);</ 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 = "comment" > // Extract results</ span ></ div >
< div class = "line" >< a name = "l00066" ></ a >< span class = "lineno" > 66</ span >   < span class = "keywordtype" > double</ span > abc[4];</ div >
< div class = "line" >< a name = "l00067" ></ a >< span class = "lineno" > 67</ span >   < span class = "keywordtype" > double</ span > def[4];</ 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 >   _mm256_storeu_pd(abc, __abc);</ div >
< div class = "line" >< a name = "l00070" ></ a >< span class = "lineno" > 70</ span >   _mm256_storeu_pd(def, __def);</ 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 = "comment" > // Sum them up</ span ></ div >
< div class = "line" >< a name = "l00073" ></ a >< span class = "lineno" > 73</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > = abc[0] + def[0];</ div >
< div class = "line" >< a name = "l00074" ></ a >< span class = "lineno" > 74</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > = abc[1] - def[1];</ div >
< div class = "line" >< a name = "l00075" ></ a >< span class = "lineno" > 75</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > = abc[2] + def[2];</ div >
< div class = "line" >< a name = "l00076" ></ a >< span class = "lineno" > 76</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > = abc[3] - def[3];</ 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 >   < span class = "preprocessor" > #else</ span ></ 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 = "keyword" > const</ span > < span class = "keywordtype" > double</ span > cy = cos(eulerRad.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > * 0.5);</ div >
< div class = "line" >< a name = "l00081" ></ a >< span class = "lineno" > 81</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > sy = sin(eulerRad.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > * 0.5);</ div >
< div class = "line" >< a name = "l00082" ></ a >< span class = "lineno" > 82</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > cp = cos(eulerRad.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > * 0.5);</ div >
< div class = "line" >< a name = "l00083" ></ a >< span class = "lineno" > 83</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > sp = sin(eulerRad.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > * 0.5);</ div >
< div class = "line" >< a name = "l00084" ></ a >< span class = "lineno" > 84</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > cr = cos(eulerRad.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > * 0.5);</ div >
< div class = "line" >< a name = "l00085" ></ a >< span class = "lineno" > 85</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > sr = sin(eulerRad.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > * 0.5);</ 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 >   v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > = cr * cp * cy + sr * sp * sy;</ div >
< div class = "line" >< a name = "l00088" ></ a >< span class = "lineno" > 88</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > = sr * cp * cy - cr * sp * sy;</ div >
< div class = "line" >< a name = "l00089" ></ a >< span class = "lineno" > 89</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > = cr * sp * cy + sr * cp * sy;</ div >
< div class = "line" >< a name = "l00090" ></ a >< span class = "lineno" > 90</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > = cr * cp * sy - sr * sp * cy;</ 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 = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00093" ></ a >< span class = "lineno" > 93</ span >   </ div >
< div class = "line" >< a name = "l00094" ></ a >< span class = "lineno" > 94</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00095" ></ a >< span class = "lineno" > 95</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a5f834c2ca469cd71edc8a23fdc3f56e8" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a5f834c2ca469cd71edc8a23fdc3f56e8" > ◆ </ a ></ span > ~Quaternion()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > Quaternion::~Quaternion </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00097" > 97</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< 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 = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00100" ></ a >< span class = "lineno" > 100</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< h2 class = "groupheader" > Member Function Documentation</ h2 >
< a id = "a2c7d0c3521f0e6127ca4b5d5bdbf8329" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a2c7d0c3521f0e6127ca4b5d5bdbf8329" > ◆ </ a ></ span > AngleBetween()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > Quaternion::AngleBetween </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >
< td class = "paramname" >< em > other</ em ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Will return the value between two < a class = "el" href = "classEule_1_1Quaternion.html" title = "3D rotation representation" > Quaternion</ a > 's as another < a class = "el" href = "classEule_1_1Quaternion.html" title = "3D rotation representation" > Quaternion</ a > . </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00295" > 295</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00296" ></ a >< span class = "lineno" > 296</ span >   {</ div >
< div class = "line" >< a name = "l00297" ></ a >< span class = "lineno" > 297</ span >   < span class = "keywordflow" > return</ span > other * < a class = "code" href = "classEule_1_1Quaternion.html#aa5333ab28dbe4d5ae15ab5dbc36b90ca" > Conjugate</ a > ();</ div >
< div class = "line" >< a name = "l00298" ></ a >< span class = "lineno" > 298</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "aa5333ab28dbe4d5ae15ab5dbc36b90ca" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#aa5333ab28dbe4d5ae15ab5dbc36b90ca" > ◆ </ a ></ span > Conjugate()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > Quaternion::Conjugate </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00187" > 187</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00188" ></ a >< span class = "lineno" > 188</ span >   {</ div >
< div class = "line" >< a name = "l00189" ></ a >< span class = "lineno" > 189</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Quaternion.html#abcc01358aada56ea5f0db4da18aaf77d" > Quaternion</ a > (< a class = "code" href = "namespaceEule.html#ab1f7f26891b56b960ca6cca5cc1cc44e" > Vector4d</ a > (-v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > , -v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > , -v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > , v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ));</ div >
< div class = "line" >< a name = "l00190" ></ a >< span class = "lineno" > 190</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "aaa193aa23729338a64bbd16eacab56ec" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#aaa193aa23729338a64bbd16eacab56ec" > ◆ </ a ></ span > GetRawValues()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "namespaceEule.html#ab1f7f26891b56b960ca6cca5cc1cc44e" > Vector4d</ a > Quaternion::GetRawValues </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Will return the raw four-dimensional values. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00290" > 290</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00291" ></ a >< span class = "lineno" > 291</ span >   {</ div >
< div class = "line" >< a name = "l00292" ></ a >< span class = "lineno" > 292</ span >   < span class = "keywordflow" > return</ span > v;</ div >
< div class = "line" >< a name = "l00293" ></ a >< span class = "lineno" > 293</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a704d63f0f2cd2d50fd61562e3c2eb576" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a704d63f0f2cd2d50fd61562e3c2eb576" > ◆ </ a ></ span > Inverse()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > Quaternion::Inverse </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00175" > 175</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00176" ></ a >< span class = "lineno" > 176</ span >   {</ div >
< div class = "line" >< a name = "l00177" ></ a >< span class = "lineno" > 177</ span >   < span class = "keywordflow" > if</ span > (!isCacheUpToDate_inverse)</ div >
< div class = "line" >< a name = "l00178" ></ a >< span class = "lineno" > 178</ span >   {</ div >
< div class = "line" >< a name = "l00179" ></ a >< span class = "lineno" > 179</ span >   cache_inverse = (< a class = "code" href = "classEule_1_1Quaternion.html#aa5333ab28dbe4d5ae15ab5dbc36b90ca" > Conjugate</ a > () * (1.0 / v.< a class = "code" href = "classEule_1_1Vector4.html#a2cd0433c99303b8934993b2fd2aa1c6e" > SqrMagnitude</ a > ())).v;</ div >
< div class = "line" >< a name = "l00180" ></ a >< span class = "lineno" > 180</ span >   </ div >
< div class = "line" >< a name = "l00181" ></ a >< span class = "lineno" > 181</ span >   isCacheUpToDate_inverse = < span class = "keyword" > true</ span > ;</ div >
< div class = "line" >< a name = "l00182" ></ a >< span class = "lineno" > 182</ span >   }</ div >
< div class = "line" >< a name = "l00183" ></ a >< span class = "lineno" > 183</ span >   </ div >
< div class = "line" >< a name = "l00184" ></ a >< span class = "lineno" > 184</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Quaternion.html#abcc01358aada56ea5f0db4da18aaf77d" > Quaternion</ a > (cache_inverse);</ div >
< div class = "line" >< a name = "l00185" ></ a >< span class = "lineno" > 185</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a2c386181050f7745341a00f79e496e08" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a2c386181050f7745341a00f79e496e08" > ◆ </ a ></ span > Lerp()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > Quaternion::Lerp </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >
< td class = "paramname" >< em > other</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > double  </ td >
< td class = "paramname" >< em > t</ em >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Will return the lerp result between two quaternions. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00309" > 309</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00310" ></ a >< span class = "lineno" > 310</ span >   {</ div >
< div class = "line" >< a name = "l00311" ></ a >< span class = "lineno" > 311</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Quaternion.html#abcc01358aada56ea5f0db4da18aaf77d" > Quaternion</ a > (v.< a class = "code" href = "classEule_1_1Vector4.html#ae5b7ed7132d76ffbde20f24330fd4f69" > Lerp</ a > (other.v, t)).UnitQuaternion();</ div >
< div class = "line" >< a name = "l00312" ></ a >< span class = "lineno" > 312</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a1a97201d7deb56f543d65be9741cd2bd" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a1a97201d7deb56f543d65be9741cd2bd" > ◆ </ a ></ span > operator!=()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > bool Quaternion::operator!= </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >
< td class = "paramname" >< em > q</ em ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00170" > 170</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00171" ></ a >< span class = "lineno" > 171</ span >   {</ div >
< div class = "line" >< a name = "l00172" ></ a >< span class = "lineno" > 172</ span >   < span class = "keywordflow" > return</ span > (!v.< a class = "code" href = "classEule_1_1Vector4.html#af49ea98d369420a07158d705eab60479" > Similar</ a > (q.v)) && (!v.< a class = "code" href = "classEule_1_1Vector4.html#af49ea98d369420a07158d705eab60479" > Similar</ a > (q.v * -1));</ div >
< div class = "line" >< a name = "l00173" ></ a >< span class = "lineno" > 173</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "ab178e12364d87fb676d85695e491361f" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ab178e12364d87fb676d85695e491361f" > ◆ </ a ></ span > operator*() < span class = "overload" > [1/2]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > Quaternion::operator* </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >
< td class = "paramname" >< em > q</ em ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Multiplies (applies) </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00111" > 111</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< 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 = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Quaternion.html#abcc01358aada56ea5f0db4da18aaf77d" > Quaternion</ a > (< a class = "code" href = "namespaceEule.html#ab1f7f26891b56b960ca6cca5cc1cc44e" > Vector4d</ a > (</ div >
< div class = "line" >< a name = "l00114" ></ a >< span class = "lineno" > 114</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > + v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > + v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > - v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ,</ div >
< div class = "line" >< a name = "l00115" ></ a >< span class = "lineno" > 115</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > + v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > + v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > - v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ,</ div >
< div class = "line" >< a name = "l00116" ></ a >< span class = "lineno" > 116</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > + v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > + v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > - v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ,</ div >
< div class = "line" >< a name = "l00117" ></ a >< span class = "lineno" > 117</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > - v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > - v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > - v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a ></ div >
< div class = "line" >< a name = "l00118" ></ a >< span class = "lineno" > 118</ span >   ));</ div >
< div class = "line" >< a name = "l00119" ></ a >< span class = "lineno" > 119</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a29aeab8de1a33ae8c043e3438829835f" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a29aeab8de1a33ae8c043e3438829835f" > ◆ </ a ></ span > operator*() < span class = "overload" > [2/2]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "namespaceEule.html#afc45246550a85134cf500caa2b81061a" > Vector3d</ a > Quaternion::operator* </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "namespaceEule.html#afc45246550a85134cf500caa2b81061a" > Vector3d</ a > &  </ td >
< td class = "paramname" >< em > p</ em ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Will transform a 3d point around its origin. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00160" > 160</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00161" ></ a >< span class = "lineno" > 161</ span >   {</ div >
< div class = "line" >< a name = "l00162" ></ a >< span class = "lineno" > 162</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Quaternion.html#aaeb89218e886e605c6e2a87c9cb773a4" > RotateVector</ a > (p);</ div >
< div class = "line" >< a name = "l00163" ></ a >< span class = "lineno" > 163</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a8941e3b43aabd15e2471e57ebd49c8a7" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a8941e3b43aabd15e2471e57ebd49c8a7" > ◆ </ a ></ span > operator*=()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & Quaternion::operator*= </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >
< td class = "paramname" >< em > q</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Also multiplies. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00131" > 131</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< 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 >   InvalidateCache();</ 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 >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4d</ a > bufr = v;</ div >
< div class = "line" >< a name = "l00136" ></ a >< span class = "lineno" > 136</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > = bufr.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > + bufr.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > + bufr.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > - bufr.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ; < span class = "comment" > // x</ span ></ div >
< div class = "line" >< a name = "l00137" ></ a >< span class = "lineno" > 137</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > = bufr.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > + bufr.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > + bufr.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > - bufr.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ; < span class = "comment" > // y</ span ></ div >
< div class = "line" >< a name = "l00138" ></ a >< span class = "lineno" > 138</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > = bufr.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > + bufr.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > + bufr.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > - bufr.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ; < span class = "comment" > // z</ span ></ div >
< div class = "line" >< a name = "l00139" ></ a >< span class = "lineno" > 139</ span >   v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > = bufr.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > - bufr.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > - bufr.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > - bufr.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > * q.v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ; < span class = "comment" > // w</ span ></ 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 >   < span class = "keywordflow" > return</ span > (*< span class = "keyword" > this</ span > );</ div >
< div class = "line" >< a name = "l00142" ></ a >< span class = "lineno" > 142</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a23488d14e31db8cec75a0e8c6f38c70a" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a23488d14e31db8cec75a0e8c6f38c70a" > ◆ </ a ></ span > operator/()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > Quaternion::operator/ </ td >
< td > (</ td >
< td class = "paramtype" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >
< td class = "paramname" >< em > q</ em ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Divides (applies) </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00126" > 126</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< 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 = "keywordflow" > return</ span > ((*< span class = "keyword" > this</ span > ) * (q.< a class = "code" href = "classEule_1_1Quaternion.html#a704d63f0f2cd2d50fd61562e3c2eb576" > Inverse</ a > ()));</ div >
< div class = "line" >< a name = "l00129" ></ a >< span class = "lineno" > 129</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "aa071c90a64d21cbb8109366bf2449838" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#aa071c90a64d21cbb8109366bf2449838" > ◆ </ a ></ span > operator/=()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > & Quaternion::operator/= </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >
< td class = "paramname" >< em > q</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Also divides. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00152" > 152</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< 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 >   InvalidateCache();</ 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 >   (*this) = (*this) * q.< a class = "code" href = "classEule_1_1Quaternion.html#a704d63f0f2cd2d50fd61562e3c2eb576" > Inverse</ a > ();</ div >
< div class = "line" >< a name = "l00157" ></ a >< span class = "lineno" > 157</ span >   < span class = "keywordflow" > return</ span > (*< span class = "keyword" > this</ span > );</ div >
< div class = "line" >< a name = "l00158" ></ a >< span class = "lineno" > 158</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a9cf7fd3318ffdd50e6567c84d24c20e9" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a9cf7fd3318ffdd50e6567c84d24c20e9" > ◆ </ a ></ span > operator=()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > Quaternion::operator= </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >
< td class = "paramname" >< em > q</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Copies. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00102" > 102</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< 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 >   InvalidateCache();</ div >
< div class = "line" >< a name = "l00105" ></ a >< span class = "lineno" > 105</ span >   </ div >
< div class = "line" >< a name = "l00106" ></ a >< span class = "lineno" > 106</ span >   v = q.v;</ 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 = "keywordflow" > return</ span > (*< span class = "keyword" > this</ span > );</ div >
< div class = "line" >< a name = "l00109" ></ a >< span class = "lineno" > 109</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a516d4dcc7c6f13d8846070b72f588210" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a516d4dcc7c6f13d8846070b72f588210" > ◆ </ a ></ span > operator==()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > bool Quaternion::operator== </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >
< td class = "paramname" >< em > q</ em ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00165" > 165</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00166" ></ a >< span class = "lineno" > 166</ span >   {</ div >
< div class = "line" >< a name = "l00167" ></ a >< span class = "lineno" > 167</ span >   < span class = "keywordflow" > return</ span > (v.< a class = "code" href = "classEule_1_1Vector4.html#af49ea98d369420a07158d705eab60479" > Similar</ a > (q.v)) || (v.< a class = "code" href = "classEule_1_1Vector4.html#af49ea98d369420a07158d705eab60479" > Similar</ a > (q.v * -1));</ div >
< div class = "line" >< a name = "l00168" ></ a >< span class = "lineno" > 168</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "aaeb89218e886e605c6e2a87c9cb773a4" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#aaeb89218e886e605c6e2a87c9cb773a4" > ◆ </ a ></ span > RotateVector()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "namespaceEule.html#afc45246550a85134cf500caa2b81061a" > Vector3d</ a > Quaternion::RotateVector </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "namespaceEule.html#afc45246550a85134cf500caa2b81061a" > Vector3d</ a > &  </ td >
< td class = "paramname" >< em > vec</ em ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Will rotate a vector by this quaternion. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00197" > 197</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00198" ></ a >< span class = "lineno" > 198</ span >   {</ div >
< div class = "line" >< a name = "l00199" ></ a >< span class = "lineno" > 199</ span >   < a class = "code" href = "classEule_1_1Quaternion.html" > Quaternion</ a > pure(< a class = "code" href = "namespaceEule.html#ab1f7f26891b56b960ca6cca5cc1cc44e" > Vector4d</ a > (vec.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > , vec.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > , vec.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > , 0));</ div >
< div class = "line" >< a name = "l00200" ></ a >< span class = "lineno" > 200</ span >   </ div >
< div class = "line" >< a name = "l00201" ></ a >< span class = "lineno" > 201</ span >   < span class = "comment" > //Quaternion f = Conjugate() * pure * (*this);</ span ></ div >
< div class = "line" >< a name = "l00202" ></ a >< span class = "lineno" > 202</ span >   < span class = "comment" > //Quaternion f = Inverse().Conjugate() * pure * (this-> Inverse());</ 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 >   </ div >
< div class = "line" >< a name = "l00205" ></ a >< span class = "lineno" > 205</ span >   < a class = "code" href = "classEule_1_1Quaternion.html" > Quaternion</ a > f = < a class = "code" href = "classEule_1_1Quaternion.html#a704d63f0f2cd2d50fd61562e3c2eb576" > Inverse</ a > () * pure * (*this);</ div >
< div class = "line" >< a name = "l00206" ></ a >< span class = "lineno" > 206</ span >   </ div >
< div class = "line" >< a name = "l00207" ></ a >< span class = "lineno" > 207</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3d</ a > toRet;</ div >
< div class = "line" >< a name = "l00208" ></ a >< span class = "lineno" > 208</ span >   toRet.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > = f.v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ;</ div >
< div class = "line" >< a name = "l00209" ></ a >< span class = "lineno" > 209</ span >   toRet.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > = f.v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ;</ div >
< div class = "line" >< a name = "l00210" ></ a >< span class = "lineno" > 210</ span >   toRet.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > = f.v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ;</ div >
< div class = "line" >< a name = "l00211" ></ a >< span class = "lineno" > 211</ span >   </ div >
< div class = "line" >< a name = "l00212" ></ a >< span class = "lineno" > 212</ span >   < span class = "keywordflow" > return</ span > toRet;</ div >
< div class = "line" >< a name = "l00213" ></ a >< span class = "lineno" > 213</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a7046064a89615e16760f17f41b60a31d" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a7046064a89615e16760f17f41b60a31d" > ◆ </ a ></ span > SetRawValues()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void Quaternion::SetRawValues </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "namespaceEule.html#ab1f7f26891b56b960ca6cca5cc1cc44e" > Vector4d</ a >   </ td >
< td class = "paramname" >< em > values</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Will set the raw four-dimensional values. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00300" > 300</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00301" ></ a >< span class = "lineno" > 301</ span >   {</ div >
< div class = "line" >< a name = "l00302" ></ a >< span class = "lineno" > 302</ span >   InvalidateCache();</ div >
< div class = "line" >< a name = "l00303" ></ a >< span class = "lineno" > 303</ span >   </ div >
< div class = "line" >< a name = "l00304" ></ a >< span class = "lineno" > 304</ span >   v = values;</ div >
< div class = "line" >< a name = "l00305" ></ a >< span class = "lineno" > 305</ span >   </ div >
< div class = "line" >< a name = "l00306" ></ a >< span class = "lineno" > 306</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00307" ></ a >< span class = "lineno" > 307</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a5a6349cb3e0a0c73df527e9ba907b0da" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a5a6349cb3e0a0c73df527e9ba907b0da" > ◆ </ a ></ span > ToEulerAngles()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "namespaceEule.html#afc45246550a85134cf500caa2b81061a" > Vector3d</ a > Quaternion::ToEulerAngles </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Will return euler angles representing this < a class = "el" href = "classEule_1_1Quaternion.html" title = "3D rotation representation" > Quaternion</ a > 's rotation. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00215" > 215</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00216" ></ a >< span class = "lineno" > 216</ span >   {</ div >
< div class = "line" >< a name = "l00217" ></ a >< span class = "lineno" > 217</ span >   < span class = "keywordflow" > if</ span > (!isCacheUpToDate_euler)</ 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 >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3d</ a > euler;</ div >
< div class = "line" >< a name = "l00220" ></ a >< span class = "lineno" > 220</ span >   < span class = "comment" > // roll (x-axis rotation)</ span ></ div >
< div class = "line" >< a name = "l00221" ></ a >< span class = "lineno" > 221</ span >   < span class = "keywordtype" > double</ span > sinr_cosp = 2.0 * (v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > + v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > );</ div >
< div class = "line" >< a name = "l00222" ></ a >< span class = "lineno" > 222</ span >   < span class = "keywordtype" > double</ span > cosr_cosp = 1.0 - 2.0 * (v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > + v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > );</ div >
< div class = "line" >< a name = "l00223" ></ a >< span class = "lineno" > 223</ span >   euler.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > = std::atan2(sinr_cosp, cosr_cosp);</ div >
< div class = "line" >< a name = "l00224" ></ a >< span class = "lineno" > 224</ span >   </ div >
< div class = "line" >< a name = "l00225" ></ a >< span class = "lineno" > 225</ span >   < span class = "comment" > // pitch (y-axis rotation)</ span ></ div >
< div class = "line" >< a name = "l00226" ></ a >< span class = "lineno" > 226</ span >   < span class = "keywordtype" > double</ span > sinp = 2.0 * (v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > - v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > );</ div >
< div class = "line" >< a name = "l00227" ></ a >< span class = "lineno" > 227</ span >   < span class = "keywordflow" > if</ span > (std::abs(sinp) > = 1)</ div >
2021-11-15 11:46:15 +01:00
< div class = "line" >< a name = "l00228" ></ a >< span class = "lineno" > 228</ span >   euler.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > = std::copysign(< a class = "code" href = "Constants_8h.html#a299aabc5fc8285cbf99025330a3d0d0d" > PI</ a > / 2, sinp); < span class = "comment" > // use 90 degrees if out of range</ span ></ div >
2021-11-15 11:35:45 +01:00
< div class = "line" >< a name = "l00229" ></ a >< span class = "lineno" > 229</ span >   < span class = "keywordflow" > else</ span ></ div >
< div class = "line" >< a name = "l00230" ></ a >< span class = "lineno" > 230</ span >   euler.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > = std::asin(sinp);</ div >
< div class = "line" >< a name = "l00231" ></ a >< span class = "lineno" > 231</ span >   </ div >
< div class = "line" >< a name = "l00232" ></ a >< span class = "lineno" > 232</ span >   < span class = "comment" > // yaw (z-axis rotation)</ span ></ div >
< div class = "line" >< a name = "l00233" ></ a >< span class = "lineno" > 233</ span >   < span class = "keywordtype" > double</ span > siny_cosp = 2.0 * (v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > + v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > );</ div >
< div class = "line" >< a name = "l00234" ></ a >< span class = "lineno" > 234</ span >   < span class = "keywordtype" > double</ span > cosy_cosp = 1.0 - 2.0 * (v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > + v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > );</ div >
< div class = "line" >< a name = "l00235" ></ a >< span class = "lineno" > 235</ span >   euler.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > = std::atan2(siny_cosp, cosy_cosp);</ div >
< div class = "line" >< a name = "l00236" ></ a >< span class = "lineno" > 236</ span >   </ div >
2021-11-15 11:46:15 +01:00
< div class = "line" >< a name = "l00237" ></ a >< span class = "lineno" > 237</ span >   euler *= < a class = "code" href = "Constants_8h.html#afa51234d581318384aacb84a195c3a2b" > Rad2Deg</ a > ;</ div >
2021-11-15 11:35:45 +01:00
< div class = "line" >< a name = "l00238" ></ a >< span class = "lineno" > 238</ span >   </ div >
< div class = "line" >< a name = "l00239" ></ a >< span class = "lineno" > 239</ span >   cache_euler = euler;</ div >
< div class = "line" >< a name = "l00240" ></ a >< span class = "lineno" > 240</ span >   isCacheUpToDate_matrix = < span class = "keyword" > true</ span > ;</ div >
< div class = "line" >< a name = "l00241" ></ a >< span class = "lineno" > 241</ span >   }</ div >
< div class = "line" >< a name = "l00242" ></ a >< span class = "lineno" > 242</ span >   </ div >
< div class = "line" >< a name = "l00243" ></ a >< span class = "lineno" > 243</ span >   < span class = "keywordflow" > return</ span > cache_euler;</ div >
< div class = "line" >< a name = "l00244" ></ a >< span class = "lineno" > 244</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "aedb36036ee6a39fb97c5d2ba12b5d986" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#aedb36036ee6a39fb97c5d2ba12b5d986" > ◆ </ a ></ span > ToRotationMatrix()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classEule_1_1Matrix4x4.html" > Matrix4x4</ a > Quaternion::ToRotationMatrix </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Will return a rotation matrix representing this Quaternions rotation. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00246" > 246</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00247" ></ a >< span class = "lineno" > 247</ span >   {</ div >
< div class = "line" >< a name = "l00248" ></ a >< span class = "lineno" > 248</ span >   < span class = "keywordflow" > if</ span > (!isCacheUpToDate_matrix)</ div >
< div class = "line" >< a name = "l00249" ></ a >< span class = "lineno" > 249</ span >   {</ div >
< div class = "line" >< a name = "l00250" ></ a >< span class = "lineno" > 250</ span >   < a class = "code" href = "classEule_1_1Matrix4x4.html" > Matrix4x4</ a > m;</ div >
< div class = "line" >< a name = "l00251" ></ a >< span class = "lineno" > 251</ span >   </ div >
< div class = "line" >< a name = "l00252" ></ a >< span class = "lineno" > 252</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > sqx = v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ;</ div >
< div class = "line" >< a name = "l00253" ></ a >< span class = "lineno" > 253</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > sqy = v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ;</ div >
< div class = "line" >< a name = "l00254" ></ a >< span class = "lineno" > 254</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > sqz = v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ;</ div >
< div class = "line" >< a name = "l00255" ></ a >< span class = "lineno" > 255</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > sqw = v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > * v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ;</ div >
< div class = "line" >< a name = "l00256" ></ a >< span class = "lineno" > 256</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > x = v.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ;</ div >
< div class = "line" >< a name = "l00257" ></ a >< span class = "lineno" > 257</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > y = v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ;</ div >
< div class = "line" >< a name = "l00258" ></ a >< span class = "lineno" > 258</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > z = v.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ;</ div >
< div class = "line" >< a name = "l00259" ></ a >< span class = "lineno" > 259</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > w = v.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ;</ div >
< div class = "line" >< a name = "l00260" ></ a >< span class = "lineno" > 260</ span >   </ div >
< div class = "line" >< a name = "l00261" ></ a >< span class = "lineno" > 261</ span >   < span class = "comment" > // invs (inverse square length) is only required if quaternion is not already normalised</ span ></ div >
< div class = "line" >< a name = "l00262" ></ a >< span class = "lineno" > 262</ span >   < span class = "keywordtype" > double</ span > invs = 1.0 / (sqx + sqy + sqz + sqw);</ div >
< div class = "line" >< a name = "l00263" ></ a >< span class = "lineno" > 263</ span >   </ div >
< div class = "line" >< a name = "l00264" ></ a >< span class = "lineno" > 264</ span >   < span class = "comment" > // since sqw + sqx + sqy + sqz =1/invs*invs</ span ></ div >
< div class = "line" >< a name = "l00265" ></ a >< span class = "lineno" > 265</ span >   </ div >
< div class = "line" >< a name = "l00266" ></ a >< span class = "lineno" > 266</ span >   < span class = "comment" > // yaw (y)</ span ></ div >
< div class = "line" >< a name = "l00267" ></ a >< span class = "lineno" > 267</ span >   m.< a class = "code" href = "classEule_1_1Matrix4x4.html#a68920de2728741859aa7cb3d245aa2c3" > c</ a > = ((2 * x * z) - (2 * w * y)) * invs;</ div >
< div class = "line" >< a name = "l00268" ></ a >< span class = "lineno" > 268</ span >   m.< a class = "code" href = "classEule_1_1Matrix4x4.html#a47b0d5273289c602f1ab4d3b963fe267" > f</ a > = (1 - (2 * sqx) - (2 * sqz)) * invs;</ div >
< div class = "line" >< a name = "l00269" ></ a >< span class = "lineno" > 269</ span >   m.< a class = "code" href = "classEule_1_1Matrix4x4.html#afb1b52d2d395e1d4a099556fac3918dc" > i</ a > = ((2 * x * z) + (2 * w * y)) * invs;</ div >
< div class = "line" >< a name = "l00270" ></ a >< span class = "lineno" > 270</ span >   </ div >
< div class = "line" >< a name = "l00271" ></ a >< span class = "lineno" > 271</ span >   < span class = "comment" > // pitch (x)</ span ></ div >
< div class = "line" >< a name = "l00272" ></ a >< span class = "lineno" > 272</ span >   m.< a class = "code" href = "classEule_1_1Matrix4x4.html#ab3ff5bc09a2598faa76188d0cc31addb" > a</ a > = (1 - (2 * sqy) - (2 * sqz)) * invs;</ div >
< div class = "line" >< a name = "l00273" ></ a >< span class = "lineno" > 273</ span >   m.< a class = "code" href = "classEule_1_1Matrix4x4.html#a1519f79fbfd4f33a0718ffc030fb6706" > g</ a > = ((2 * y * z) + (2 * w * x)) * invs;</ div >
< div class = "line" >< a name = "l00274" ></ a >< span class = "lineno" > 274</ span >   m.< a class = "code" href = "classEule_1_1Matrix4x4.html#a6ad97bdfe3f070fd4d1d0ebc2ee1309a" > j</ a > = ((2 * y * z) - (2 * w * x)) * invs;</ div >
< div class = "line" >< a name = "l00275" ></ a >< span class = "lineno" > 275</ span >   </ div >
< div class = "line" >< a name = "l00276" ></ a >< span class = "lineno" > 276</ span >   < span class = "comment" > // roll (z)</ span ></ div >
< div class = "line" >< a name = "l00277" ></ a >< span class = "lineno" > 277</ span >   m.< a class = "code" href = "classEule_1_1Matrix4x4.html#a2258f9cce9558711c59ffcf140a39756" > b</ a > = ((2 * x * v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ) + (2 * w * z)) * invs;</ div >
< div class = "line" >< a name = "l00278" ></ a >< span class = "lineno" > 278</ span >   m.< a class = "code" href = "classEule_1_1Matrix4x4.html#a19fb1d47aea5672da2fe1fc20500615a" > e</ a > = ((2 * x * v.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ) - (2 * w * z)) * invs;</ div >
< div class = "line" >< a name = "l00279" ></ a >< span class = "lineno" > 279</ span >   m.< a class = "code" href = "classEule_1_1Matrix4x4.html#af93a84acffc7d5282653b7b591633874" > k</ a > = (1 - (2 * sqx) - (2 * sqy)) * invs;</ div >
< div class = "line" >< a name = "l00280" ></ a >< span class = "lineno" > 280</ span >   </ div >
< div class = "line" >< a name = "l00281" ></ a >< span class = "lineno" > 281</ span >   m.< a class = "code" href = "classEule_1_1Matrix4x4.html#a3fdccd317c5ea363b91f6d8096b28bd7" > p</ a > = 1;</ div >
< div class = "line" >< a name = "l00282" ></ a >< span class = "lineno" > 282</ span >   </ div >
< div class = "line" >< a name = "l00283" ></ a >< span class = "lineno" > 283</ span >   cache_matrix = m;</ div >
< div class = "line" >< a name = "l00284" ></ a >< span class = "lineno" > 284</ span >   isCacheUpToDate_matrix = < span class = "keyword" > true</ span > ;</ div >
< div class = "line" >< a name = "l00285" ></ a >< span class = "lineno" > 285</ span >   }</ div >
< div class = "line" >< a name = "l00286" ></ a >< span class = "lineno" > 286</ span >   </ div >
< div class = "line" >< a name = "l00287" ></ a >< span class = "lineno" > 287</ span >   < span class = "keywordflow" > return</ span > cache_matrix;</ div >
< div class = "line" >< a name = "l00288" ></ a >< span class = "lineno" > 288</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "affb1a8ac42e356ee5efb304ca8df38ca" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#affb1a8ac42e356ee5efb304ca8df38ca" > ◆ </ a ></ span > UnitQuaternion()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" >< a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > Quaternion::UnitQuaternion </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00192" > 192</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00193" ></ a >< span class = "lineno" > 193</ span >   {</ div >
< div class = "line" >< a name = "l00194" ></ a >< span class = "lineno" > 194</ span >   < span class = "keywordflow" > return</ span > (*< span class = "keyword" > this</ span > ) * (1.0 / v.< a class = "code" href = "classEule_1_1Vector4.html#a35c6fccb7a02095b595575903b590dd2" > Magnitude</ a > ());</ div >
< div class = "line" >< a name = "l00195" ></ a >< span class = "lineno" > 195</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< h2 class = "groupheader" > Friends And Related Function Documentation</ h2 >
< a id = "a9dc71eaedf4486dc005fa9a67c6da866" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a9dc71eaedf4486dc005fa9a67c6da866" > ◆ </ a ></ span > operator<< < span class = "overload" > [1/2]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > std::ostream& operator<< </ td >
< td > (</ td >
< td class = "paramtype" > std::ostream &  </ td >
< td class = "paramname" >< em > os</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >
< td class = "paramname" >< em > q</ em >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > friend</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00325" > 325</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00326" ></ a >< span class = "lineno" > 326</ span >   {</ div >
< div class = "line" >< a name = "l00327" ></ a >< span class = "lineno" > 327</ span >   os << < span class = "stringliteral" > " [" </ span > << q.v << < span class = "stringliteral" > " ]" </ span > ;</ div >
< div class = "line" >< a name = "l00328" ></ a >< span class = "lineno" > 328</ span >   < span class = "keywordflow" > return</ span > os;</ div >
< div class = "line" >< a name = "l00329" ></ a >< span class = "lineno" > 329</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< a id = "a7cf5f94ea6e861b3c01f674d7ef987c7" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a7cf5f94ea6e861b3c01f674d7ef987c7" > ◆ </ a ></ span > operator<< < span class = "overload" > [2/2]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > std::wostream& operator<< </ td >
< td > (</ td >
< td class = "paramtype" > std::wostream &  </ td >
< td class = "paramname" >< em > os</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const < a class = "el" href = "classEule_1_1Quaternion.html" > Quaternion</ a > &  </ td >
< td class = "paramname" >< em > q</ em >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > friend</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "Quaternion_8cpp_source.html#l00331" > 331</ a > of file < a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a > .</ p >
< div class = "fragment" >< div class = "line" >< a name = "l00332" ></ a >< span class = "lineno" > 332</ span >   {</ div >
< div class = "line" >< a name = "l00333" ></ a >< span class = "lineno" > 333</ span >   os << L< span class = "stringliteral" > " [" </ span > << q.v << L< span class = "stringliteral" > " ]" </ span > ;</ div >
< div class = "line" >< a name = "l00334" ></ a >< span class = "lineno" > 334</ span >   < span class = "keywordflow" > return</ span > os;</ div >
< div class = "line" >< a name = "l00335" ></ a >< span class = "lineno" > 335</ span >   }</ div >
</ div > <!-- fragment -->
</ div >
</ div >
< hr /> The documentation for this class was generated from the following files:< ul >
< li > Eule/< a class = "el" href = "Quaternion_8h_source.html" > Quaternion.h</ a ></ li >
< li > Eule/< a class = "el" href = "Quaternion_8cpp_source.html" > Quaternion.cpp</ a ></ li >
</ ul >
</ div > <!-- contents -->
< div class = "ttc" id = "aclassEule_1_1Matrix4x4_html_a6ad97bdfe3f070fd4d1d0ebc2ee1309a" >< div class = "ttname" >< a href = "classEule_1_1Matrix4x4.html#a6ad97bdfe3f070fd4d1d0ebc2ee1309a" > Eule::Matrix4x4::j</ a ></ div >< div class = "ttdeci" > double & j</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00137" > Matrix4x4.h:137</ a ></ div ></ div >
2021-11-15 11:46:15 +01:00
< div class = "ttc" id = "aConstants_8h_html_a299aabc5fc8285cbf99025330a3d0d0d" >< div class = "ttname" >< a href = "Constants_8h.html#a299aabc5fc8285cbf99025330a3d0d0d" > PI</ a ></ div >< div class = "ttdeci" > static constexpr double PI</ div >< div class = "ttdoc" > Pi up to 50 decimal places.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Constants_8h_source.html#l00006" > Constants.h:6</ a ></ div ></ div >
2021-11-15 11:35:45 +01:00
< div class = "ttc" id = "aclassEule_1_1Matrix4x4_html_afb1b52d2d395e1d4a099556fac3918dc" >< div class = "ttname" >< a href = "classEule_1_1Matrix4x4.html#afb1b52d2d395e1d4a099556fac3918dc" > Eule::Matrix4x4::i</ a ></ div >< div class = "ttdeci" > double & i</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00136" > Matrix4x4.h:136</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector3_html" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html" > Eule::Vector3< double > </ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html_a6abdc466a694e39b1bf5e71dd26e9fbf" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > Eule::Vector4::x</ a ></ div >< div class = "ttdeci" > T x</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8h_source.html#l00088" > Vector4.h:88</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Matrix4x4_html_a19fb1d47aea5672da2fe1fc20500615a" >< div class = "ttname" >< a href = "classEule_1_1Matrix4x4.html#a19fb1d47aea5672da2fe1fc20500615a" > Eule::Matrix4x4::e</ a ></ div >< div class = "ttdeci" > double & e</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00132" > Matrix4x4.h:132</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html_acf70d20ed586c3e168f2664f643902f0" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > Eule::Vector4::z</ a ></ div >< div class = "ttdeci" > T z</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8h_source.html#l00090" > Vector4.h:90</ a ></ div ></ div >
< div class = "ttc" id = "anamespaceEule_html_ab1f7f26891b56b960ca6cca5cc1cc44e" >< div class = "ttname" >< a href = "namespaceEule.html#ab1f7f26891b56b960ca6cca5cc1cc44e" > Eule::Vector4d</ a ></ div >< div class = "ttdeci" > Vector4< double > Vector4d</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8h_source.html#l00107" > Vector4.h:107</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Matrix4x4_html_a47b0d5273289c602f1ab4d3b963fe267" >< div class = "ttname" >< a href = "classEule_1_1Matrix4x4.html#a47b0d5273289c602f1ab4d3b963fe267" > Eule::Matrix4x4::f</ a ></ div >< div class = "ttdeci" > double & f</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00133" > Matrix4x4.h:133</ a ></ div ></ div >
2021-11-15 11:46:15 +01:00
< div class = "ttc" id = "aConstants_8h_html_a0688d82670a3ba9d40853859003c64df" >< div class = "ttname" >< a href = "Constants_8h.html#a0688d82670a3ba9d40853859003c64df" > Deg2Rad</ a ></ div >< div class = "ttdeci" > static constexpr double Deg2Rad</ div >< div class = "ttdoc" > Factor to convert degrees to radians.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Constants_8h_source.html#l00012" > Constants.h:12</ a ></ div ></ div >
2021-11-15 11:35:45 +01:00
< div class = "ttc" id = "aclassEule_1_1Matrix4x4_html_af93a84acffc7d5282653b7b591633874" >< div class = "ttname" >< a href = "classEule_1_1Matrix4x4.html#af93a84acffc7d5282653b7b591633874" > Eule::Matrix4x4::k</ a ></ div >< div class = "ttdeci" > double & k</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00138" > Matrix4x4.h:138</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html_ae5b7ed7132d76ffbde20f24330fd4f69" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#ae5b7ed7132d76ffbde20f24330fd4f69" > Eule::Vector4::Lerp</ a ></ div >< div class = "ttdeci" > Vector4< double > Lerp(const Vector4< T > & other, double t) const</ div >< div class = "ttdoc" > Will return a lerp result between this and another vector.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8cpp_source.html#l00287" > Vector4.cpp:287</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html_a4b2184f91a991264ddc3dae3beadf23e" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > Eule::Vector4::w</ a ></ div >< div class = "ttdeci" > T w</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8h_source.html#l00091" > Vector4.h:91</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector3_html_a754b1a46c44a0fde99e670e174dba674" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > Eule::Vector3::z</ a ></ div >< div class = "ttdeci" > T z</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector3_8h_source.html#l00096" > Vector3.h:96</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Matrix4x4_html" >< div class = "ttname" >< a href = "classEule_1_1Matrix4x4.html" > Eule::Matrix4x4</ a ></ div >< div class = "ttdoc" > A matrix 4x4 class representing a 3d transformation.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00036" > Matrix4x4.h:36</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html_af49ea98d369420a07158d705eab60479" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#af49ea98d369420a07158d705eab60479" > Eule::Vector4::Similar</ a ></ div >< div class = "ttdeci" > bool Similar(const Vector4< T > & other, double epsilon=0.00001) const</ div >< div class = "ttdoc" > Will compare if two vectors are similar to a certain epsilon value.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8cpp_source.html#l00162" > Vector4.cpp:162</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Matrix4x4_html_a2258f9cce9558711c59ffcf140a39756" >< div class = "ttname" >< a href = "classEule_1_1Matrix4x4.html#a2258f9cce9558711c59ffcf140a39756" > Eule::Matrix4x4::b</ a ></ div >< div class = "ttdeci" > double & b</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00129" > Matrix4x4.h:129</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html_a35c6fccb7a02095b595575903b590dd2" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#a35c6fccb7a02095b595575903b590dd2" > Eule::Vector4::Magnitude</ a ></ div >< div class = "ttdeci" > double Magnitude() const</ div >< div class = "ttdoc" > Will compute the magnitude.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8cpp_source.html#l00038" > Vector4.cpp:38</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Matrix4x4_html_a1519f79fbfd4f33a0718ffc030fb6706" >< div class = "ttname" >< a href = "classEule_1_1Matrix4x4.html#a1519f79fbfd4f33a0718ffc030fb6706" > Eule::Matrix4x4::g</ a ></ div >< div class = "ttdeci" > double & g</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00134" > Matrix4x4.h:134</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector3_html_a3d7770a583354b1dfc2f6af1092adc1b" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > Eule::Vector3::x</ a ></ div >< div class = "ttdeci" > T x</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector3_8h_source.html#l00094" > Vector3.h:94</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Matrix4x4_html_a3fdccd317c5ea363b91f6d8096b28bd7" >< div class = "ttname" >< a href = "classEule_1_1Matrix4x4.html#a3fdccd317c5ea363b91f6d8096b28bd7" > Eule::Matrix4x4::p</ a ></ div >< div class = "ttdeci" > double & p</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00143" > Matrix4x4.h:143</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Quaternion_html_aaeb89218e886e605c6e2a87c9cb773a4" >< div class = "ttname" >< a href = "classEule_1_1Quaternion.html#aaeb89218e886e605c6e2a87c9cb773a4" > Eule::Quaternion::RotateVector</ a ></ div >< div class = "ttdeci" > Vector3d RotateVector(const Vector3d & vec) const</ div >< div class = "ttdoc" > Will rotate a vector by this quaternion.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Quaternion_8cpp_source.html#l00197" > Quaternion.cpp:197</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html_a2cd0433c99303b8934993b2fd2aa1c6e" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#a2cd0433c99303b8934993b2fd2aa1c6e" > Eule::Vector4::SqrMagnitude</ a ></ div >< div class = "ttdeci" > double SqrMagnitude() const</ div >< div class = "ttdoc" > Will compute the square magnitude.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8cpp_source.html#l00031" > Vector4.cpp:31</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Quaternion_html_abcc01358aada56ea5f0db4da18aaf77d" >< div class = "ttname" >< a href = "classEule_1_1Quaternion.html#abcc01358aada56ea5f0db4da18aaf77d" > Eule::Quaternion::Quaternion</ a ></ div >< div class = "ttdeci" > Quaternion()</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Quaternion_8cpp_source.html#l00011" > Quaternion.cpp:11</ a ></ div ></ div >
2021-11-15 11:46:15 +01:00
< div class = "ttc" id = "aConstants_8h_html_afa51234d581318384aacb84a195c3a2b" >< div class = "ttname" >< a href = "Constants_8h.html#afa51234d581318384aacb84a195c3a2b" > Rad2Deg</ a ></ div >< div class = "ttdeci" > static constexpr double Rad2Deg</ div >< div class = "ttdoc" > Factor to convert radians to degrees.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Constants_8h_source.html#l00015" > Constants.h:15</ a ></ div ></ div >
2021-11-15 11:35:45 +01:00
< div class = "ttc" id = "aclassEule_1_1Quaternion_html_aa5333ab28dbe4d5ae15ab5dbc36b90ca" >< div class = "ttname" >< a href = "classEule_1_1Quaternion.html#aa5333ab28dbe4d5ae15ab5dbc36b90ca" > Eule::Quaternion::Conjugate</ a ></ div >< div class = "ttdeci" > Quaternion Conjugate() const</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Quaternion_8cpp_source.html#l00187" > Quaternion.cpp:187</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Quaternion_html_a704d63f0f2cd2d50fd61562e3c2eb576" >< div class = "ttname" >< a href = "classEule_1_1Quaternion.html#a704d63f0f2cd2d50fd61562e3c2eb576" > Eule::Quaternion::Inverse</ a ></ div >< div class = "ttdeci" > Quaternion Inverse() const</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Quaternion_8cpp_source.html#l00175" > Quaternion.cpp:175</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Matrix4x4_html_a68920de2728741859aa7cb3d245aa2c3" >< div class = "ttname" >< a href = "classEule_1_1Matrix4x4.html#a68920de2728741859aa7cb3d245aa2c3" > Eule::Matrix4x4::c</ a ></ div >< div class = "ttdeci" > double & c</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00130" > Matrix4x4.h:130</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Quaternion_html" >< div class = "ttname" >< a href = "classEule_1_1Quaternion.html" > Eule::Quaternion</ a ></ div >< div class = "ttdoc" > 3D rotation representation</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Quaternion_8h_source.html#l00010" > Quaternion.h:10</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Matrix4x4_html_ab3ff5bc09a2598faa76188d0cc31addb" >< div class = "ttname" >< a href = "classEule_1_1Matrix4x4.html#ab3ff5bc09a2598faa76188d0cc31addb" > Eule::Matrix4x4::a</ a ></ div >< div class = "ttdeci" > double & a</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00128" > Matrix4x4.h:128</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html_a994773dc2da079a335f4b57153cf82c9" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > Eule::Vector4::y</ a ></ div >< div class = "ttdeci" > T y</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8h_source.html#l00089" > Vector4.h:89</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector3_html_a716e038c7b599bc5c741dfc0a3c42146" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > Eule::Vector3::y</ a ></ div >< div class = "ttdeci" > T y</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector3_8h_source.html#l00095" > Vector3.h:95</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html" > Eule::Vector4</ a ></ div >< div class = "ttdoc" > Representation of a 4d vector.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector2_8h_source.html#l00008" > Vector2.h:8</ a ></ div ></ div >
<!-- start footer part -->
< hr class = "footer" />< address class = "footer" >< small >
2021-11-15 11:46:15 +01:00
Generated on Mon Nov 15 2021 11:45:52 for Leonetienne/Eule by   < a href = "http://www.doxygen.org/index.html" >
2021-11-15 11:35:45 +01:00
< img class = "footer" src = "doxygen.png" alt = "doxygen" />
</ a > 1.8.17
</ small ></ address >
</ body >
</ html >