HumanRender/Thirdparty/irrKlang/doc/cpp/classirrklang_1_1vec3d.html
2024-12-20 01:46:41 +08:00

1143 lines
62 KiB
HTML

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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"/>
<title>irrKlang: irrklang::vec3d&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<img id="MSearchSelect" src="search/search.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</div>
</li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul>
</div>
<div class="navpath"><a class="el" href="namespaceirrklang.html">irrklang</a>::<a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>
</div>
</div>
<div class="contents">
<h1>irrklang::vec3d&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="irrklang::vec3d" -->
<p>a 3d vector template class for representing vectors and points in 3d
<a href="#_details">More...</a></p>
<p><code>#include &lt;<a class="el" href="ik__vec3d_8h_source.html">ik_vec3d.h</a>&gt;</code></p>
<p><a href="classirrklang_1_1vec3d-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a396e8a6e414d6311921252e31e2d91d9">vec3d</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#acf6454acf91480f6f3ff1f285b72665e">vec3d</a> (T nx, T ny, T nz)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a3cedbef9c16c38bc5bde34f39cd789eb">vec3d</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#ab0656599ad85698244c84fb8c4242e46">operator-</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">constructor creating an <a class="el" href="namespaceirrklang.html" title="Everything in the irrKlang Sound Engine can be found in this namespace.">irrklang</a> <a class="el" href="classirrklang_1_1vec3d.html" title="a 3d vector template class for representing vectors and points in 3d">vec3d</a> from an irrlicht vector. <a href="#ab0656599ad85698244c84fb8c4242e46"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a3a2d930f0331232714905a94e3ec1feb">operator=</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a2e47a1f820bc33f9f8cb6398341453fb">operator+</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a6e80559ccd3e0b860d48b5c72ca65eae">operator+=</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a30780a09359dddbf016e08084d5fcb42">operator-</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#ae7e87fb7134d57b6eab21ecbe026bb7d">operator-=</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a4e2b18f4a5a9e3e0a511c6552a436d2a">operator*</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a7407b8b660cb8a2b0c1fa6a164080b27">operator*=</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#ac468f5f0764d9f73947ad58378843c0d">operator*</a> (const T v) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a1f52f8472c07a98a9b5c951672f12691">operator*=</a> (const T v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a188b49432aa871140c8d59d042340598">operator/</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a8116904b4a31601f19914efe9acfd8b4">operator/=</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a8822a814763488fb5ae2ea2ec6fdba28">operator/</a> (const T v) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a5088439758f22a531149b9ea46d982e2">operator/=</a> (const T v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a6655691b3b97a4ac0acb4cd19d310fa7">operator&lt;=</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#afd2945518f2e45732d68488ec2f7df3b">operator&gt;=</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a68dca213efe08848b9325607eda4a629">operator==</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a8e17286f43752a923d96d473a9889290">operator!=</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a9f5c9411ad637d980a1cf320d0a1cf2e">equals</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns if this vector equalsfloat the other one, taking floating point rounding errors into account <a href="#a9f5c9411ad637d980a1cf320d0a1cf2e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a843126596fd738246d0816030a53ac0f">set</a> (const T nx, const T ny, const T nz)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#afc80ce5e50e9889e6199696802a31976">set</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceirrklang.html#a1c98510aa3989b1780723e2fb15f7c3d">ik_f64</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a0e37bc53c61352fb1b6390c97ea0c6aa">getLength</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns length of the vector. <a href="#a0e37bc53c61352fb1b6390c97ea0c6aa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceirrklang.html#a1c98510aa3989b1780723e2fb15f7c3d">ik_f64</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#ab88ccf139d3fb1580ff066a6306beb8e">getLengthSQ</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns squared length of the vector. <a href="#ab88ccf139d3fb1580ff066a6306beb8e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a284e1619481e16373ea18b19461344aa">dotProduct</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the dot product with another vector. <a href="#a284e1619481e16373ea18b19461344aa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceirrklang.html#a1c98510aa3989b1780723e2fb15f7c3d">ik_f64</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a1169871f8c3954bf67ac275f039b9794">getDistanceFrom</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns distance from an other point. <a href="#a1169871f8c3954bf67ac275f039b9794"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceirrklang.html#a6fa5a4dd85b476308461136072ef4e0f">ik_f32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a770f92315410f52481b1820da7310697">getDistanceFromSQ</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns squared distance from an other point. <a href="#a770f92315410f52481b1820da7310697"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a1c8ebb209e6272f571f288b2f23a8363">crossProduct</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;p) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates the cross product with another vector. <a href="#a1c8ebb209e6272f571f288b2f23a8363"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a04744e39c6afadbe300062f73e592934">isBetweenPoints</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;begin, const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;end) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns if this vector interpreted as a point is on a line between two other points. <a href="#a04744e39c6afadbe300062f73e592934"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a1adb3f2521103ab9dfbbdce8459a69ac">normalize</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Normalizes the vector. <a href="#a1adb3f2521103ab9dfbbdce8459a69ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#ae117ab59edab77fe6ecfe6dab3c546a9">setLength</a> (T newlength)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the lenght of the vector to a new value. <a href="#ae117ab59edab77fe6ecfe6dab3c546a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a6007451ded719744d8e1b45c9ae56cd4">invert</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inverts the vector. <a href="#a6007451ded719744d8e1b45c9ae56cd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a3c0df42f68cbbec6506091756d518c18">rotateXZBy</a> (<a class="el" href="namespaceirrklang.html#a1c98510aa3989b1780723e2fb15f7c3d">ik_f64</a> degrees, const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;center)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a73e958aac6482aea6d4947d2737b3681">rotateXYBy</a> (<a class="el" href="namespaceirrklang.html#a1c98510aa3989b1780723e2fb15f7c3d">ik_f64</a> degrees, const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;center)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#aa619d2ed5f8e992f5ec60d7b262a0108">rotateYZBy</a> (<a class="el" href="namespaceirrklang.html#a1c98510aa3989b1780723e2fb15f7c3d">ik_f64</a> degrees, const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;center)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a94e2d14115fa139cf94f70a2badbe133">getInterpolated</a> (const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;other, <a class="el" href="namespaceirrklang.html#a6fa5a4dd85b476308461136072ef4e0f">ik_f32</a> d) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns interpolated vector. <a href="#a94e2d14115fa139cf94f70a2badbe133"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a13294fd4e67bee8d8ffee2fcaa42e912">getHorizontalAngle</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the Y and Z rotations of a vector. <a href="#a13294fd4e67bee8d8ffee2fcaa42e912"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#aff4faac673e7e09c8d094b48b0a0e20f">getAs4Values</a> (T *array)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fills an array of 4 values with the vector data (usually floats). <a href="#aff4faac673e7e09c8d094b48b0a0e20f"></a><br/></td></tr>
<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#ac3c930788d6718a78cf93b6022124648">X</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#afa70e7ee18d11b83fe02829cebbc10ae">Y</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirrklang_1_1vec3d.html#a8d41296edcd4c6739847351b9e107fc3">Z</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class T&gt;<br/>
class irrklang::vec3d&lt; T &gt;</h3>
<p>a 3d vector template class for representing vectors and points in 3d </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a396e8a6e414d6311921252e31e2d91d9"></a><!-- doxytag: member="irrklang::vec3d::vec3d" ref="a396e8a6e414d6311921252e31e2d91d9" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::<a class="el" href="classirrklang_1_1vec3d.html">vec3d</a> </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="acf6454acf91480f6f3ff1f285b72665e"></a><!-- doxytag: member="irrklang::vec3d::vec3d" ref="acf6454acf91480f6f3ff1f285b72665e" args="(T nx, T ny, T nz)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::<a class="el" href="classirrklang_1_1vec3d.html">vec3d</a> </td>
<td>(</td>
<td class="paramtype">T&nbsp;</td>
<td class="paramname"> <em>nx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&nbsp;</td>
<td class="paramname"> <em>ny</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&nbsp;</td>
<td class="paramname"> <em>nz</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a3cedbef9c16c38bc5bde34f39cd789eb"></a><!-- doxytag: member="irrklang::vec3d::vec3d" ref="a3cedbef9c16c38bc5bde34f39cd789eb" args="(const vec3d&lt; T &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::<a class="el" href="classirrklang_1_1vec3d.html">vec3d</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a1c8ebb209e6272f571f288b2f23a8363"></a><!-- doxytag: member="irrklang::vec3d::crossProduct" ref="a1c8ebb209e6272f571f288b2f23a8363" args="(const vec3d&lt; T &gt; &amp;p) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::crossProduct </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>p</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Calculates the cross product with another vector. </p>
</div>
</div>
<a class="anchor" id="a284e1619481e16373ea18b19461344aa"></a><!-- doxytag: member="irrklang::vec3d::dotProduct" ref="a284e1619481e16373ea18b19461344aa" args="(const vec3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::dotProduct </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the dot product with another vector. </p>
</div>
</div>
<a class="anchor" id="a9f5c9411ad637d980a1cf320d0a1cf2e"></a><!-- doxytag: member="irrklang::vec3d::equals" ref="a9f5c9411ad637d980a1cf320d0a1cf2e" args="(const vec3d&lt; T &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::equals </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>returns if this vector equalsfloat the other one, taking floating point rounding errors into account </p>
</div>
</div>
<a class="anchor" id="aff4faac673e7e09c8d094b48b0a0e20f"></a><!-- doxytag: member="irrklang::vec3d::getAs4Values" ref="aff4faac673e7e09c8d094b48b0a0e20f" args="(T *array)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::getAs4Values </td>
<td>(</td>
<td class="paramtype">T *&nbsp;</td>
<td class="paramname"> <em>array</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Fills an array of 4 values with the vector data (usually floats). </p>
<p>Useful for setting in shader constants for example. The fourth value will always be 0. </p>
</div>
</div>
<a class="anchor" id="a1169871f8c3954bf67ac275f039b9794"></a><!-- doxytag: member="irrklang::vec3d::getDistanceFrom" ref="a1169871f8c3954bf67ac275f039b9794" args="(const vec3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceirrklang.html#a1c98510aa3989b1780723e2fb15f7c3d">ik_f64</a> <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::getDistanceFrom </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns distance from an other point. </p>
<p>Here, the vector is interpreted as point in 3 dimensional space. </p>
</div>
</div>
<a class="anchor" id="a770f92315410f52481b1820da7310697"></a><!-- doxytag: member="irrklang::vec3d::getDistanceFromSQ" ref="a770f92315410f52481b1820da7310697" args="(const vec3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceirrklang.html#a6fa5a4dd85b476308461136072ef4e0f">ik_f32</a> <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::getDistanceFromSQ </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns squared distance from an other point. </p>
<p>Here, the vector is interpreted as point in 3 dimensional space. </p>
</div>
</div>
<a class="anchor" id="a13294fd4e67bee8d8ffee2fcaa42e912"></a><!-- doxytag: member="irrklang::vec3d::getHorizontalAngle" ref="a13294fd4e67bee8d8ffee2fcaa42e912" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::getHorizontalAngle </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the Y and Z rotations of a vector. </p>
<p>Thanks to Arras on the Irrlicht forums to add this method. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A vector representing the rotation in degrees of this vector. The Z component of the vector will always be 0. </dd></dl>
</div>
</div>
<a class="anchor" id="a94e2d14115fa139cf94f70a2badbe133"></a><!-- doxytag: member="irrklang::vec3d::getInterpolated" ref="a94e2d14115fa139cf94f70a2badbe133" args="(const vec3d&lt; T &gt; &amp;other, ik_f32 d) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::getInterpolated </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceirrklang.html#a6fa5a4dd85b476308461136072ef4e0f">ik_f32</a>&nbsp;</td>
<td class="paramname"> <em>d</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns interpolated vector. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>other,:</em>&nbsp;</td><td>other vector to interpolate between </td></tr>
<tr><td valign="top"></td><td valign="top"><em>d,:</em>&nbsp;</td><td>value between 0.0f and 1.0f. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a0e37bc53c61352fb1b6390c97ea0c6aa"></a><!-- doxytag: member="irrklang::vec3d::getLength" ref="a0e37bc53c61352fb1b6390c97ea0c6aa" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceirrklang.html#a1c98510aa3989b1780723e2fb15f7c3d">ik_f64</a> <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::getLength </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns length of the vector. </p>
</div>
</div>
<a class="anchor" id="ab88ccf139d3fb1580ff066a6306beb8e"></a><!-- doxytag: member="irrklang::vec3d::getLengthSQ" ref="ab88ccf139d3fb1580ff066a6306beb8e" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceirrklang.html#a1c98510aa3989b1780723e2fb15f7c3d">ik_f64</a> <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::getLengthSQ </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns squared length of the vector. </p>
<p>This is useful because it is much faster then <a class="el" href="classirrklang_1_1vec3d.html#a0e37bc53c61352fb1b6390c97ea0c6aa" title="Returns length of the vector.">getLength()</a>. </p>
</div>
</div>
<a class="anchor" id="a6007451ded719744d8e1b45c9ae56cd4"></a><!-- doxytag: member="irrklang::vec3d::invert" ref="a6007451ded719744d8e1b45c9ae56cd4" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::invert </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Inverts the vector. </p>
</div>
</div>
<a class="anchor" id="a04744e39c6afadbe300062f73e592934"></a><!-- doxytag: member="irrklang::vec3d::isBetweenPoints" ref="a04744e39c6afadbe300062f73e592934" args="(const vec3d&lt; T &gt; &amp;begin, const vec3d&lt; T &gt; &amp;end) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::isBetweenPoints </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>end</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns if this vector interpreted as a point is on a line between two other points. </p>
<p>It is assumed that the point is on the line. </p>
</div>
</div>
<a class="anchor" id="a1adb3f2521103ab9dfbbdce8459a69ac"></a><!-- doxytag: member="irrklang::vec3d::normalize" ref="a1adb3f2521103ab9dfbbdce8459a69ac" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt;&amp; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::normalize </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Normalizes the vector. </p>
</div>
</div>
<a class="anchor" id="a8e17286f43752a923d96d473a9889290"></a><!-- doxytag: member="irrklang::vec3d::operator!=" ref="a8e17286f43752a923d96d473a9889290" args="(const vec3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ac468f5f0764d9f73947ad58378843c0d"></a><!-- doxytag: member="irrklang::vec3d::operator*" ref="ac468f5f0764d9f73947ad58378843c0d" args="(const T v) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator* </td>
<td>(</td>
<td class="paramtype">const T&nbsp;</td>
<td class="paramname"> <em>v</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a4e2b18f4a5a9e3e0a511c6552a436d2a"></a><!-- doxytag: member="irrklang::vec3d::operator*" ref="a4e2b18f4a5a9e3e0a511c6552a436d2a" args="(const vec3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator* </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a1f52f8472c07a98a9b5c951672f12691"></a><!-- doxytag: member="irrklang::vec3d::operator*=" ref="a1f52f8472c07a98a9b5c951672f12691" args="(const T v)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt;&amp; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator*= </td>
<td>(</td>
<td class="paramtype">const T&nbsp;</td>
<td class="paramname"> <em>v</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a7407b8b660cb8a2b0c1fa6a164080b27"></a><!-- doxytag: member="irrklang::vec3d::operator*=" ref="a7407b8b660cb8a2b0c1fa6a164080b27" args="(const vec3d&lt; T &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt;&amp; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator*= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a2e47a1f820bc33f9f8cb6398341453fb"></a><!-- doxytag: member="irrklang::vec3d::operator+" ref="a2e47a1f820bc33f9f8cb6398341453fb" args="(const vec3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator+ </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a6e80559ccd3e0b860d48b5c72ca65eae"></a><!-- doxytag: member="irrklang::vec3d::operator+=" ref="a6e80559ccd3e0b860d48b5c72ca65eae" args="(const vec3d&lt; T &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt;&amp; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator+= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a30780a09359dddbf016e08084d5fcb42"></a><!-- doxytag: member="irrklang::vec3d::operator&#45;" ref="a30780a09359dddbf016e08084d5fcb42" args="(const vec3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator- </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ab0656599ad85698244c84fb8c4242e46"></a><!-- doxytag: member="irrklang::vec3d::operator&#45;" ref="ab0656599ad85698244c84fb8c4242e46" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator- </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>constructor creating an <a class="el" href="namespaceirrklang.html" title="Everything in the irrKlang Sound Engine can be found in this namespace.">irrklang</a> <a class="el" href="classirrklang_1_1vec3d.html" title="a 3d vector template class for representing vectors and points in 3d">vec3d</a> from an irrlicht vector. </p>
</div>
</div>
<a class="anchor" id="ae7e87fb7134d57b6eab21ecbe026bb7d"></a><!-- doxytag: member="irrklang::vec3d::operator&#45;=" ref="ae7e87fb7134d57b6eab21ecbe026bb7d" args="(const vec3d&lt; T &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt;&amp; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator-= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a8822a814763488fb5ae2ea2ec6fdba28"></a><!-- doxytag: member="irrklang::vec3d::operator/" ref="a8822a814763488fb5ae2ea2ec6fdba28" args="(const T v) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator/ </td>
<td>(</td>
<td class="paramtype">const T&nbsp;</td>
<td class="paramname"> <em>v</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a188b49432aa871140c8d59d042340598"></a><!-- doxytag: member="irrklang::vec3d::operator/" ref="a188b49432aa871140c8d59d042340598" args="(const vec3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator/ </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a5088439758f22a531149b9ea46d982e2"></a><!-- doxytag: member="irrklang::vec3d::operator/=" ref="a5088439758f22a531149b9ea46d982e2" args="(const T v)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt;&amp; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator/= </td>
<td>(</td>
<td class="paramtype">const T&nbsp;</td>
<td class="paramname"> <em>v</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a8116904b4a31601f19914efe9acfd8b4"></a><!-- doxytag: member="irrklang::vec3d::operator/=" ref="a8116904b4a31601f19914efe9acfd8b4" args="(const vec3d&lt; T &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt;&amp; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator/= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a6655691b3b97a4ac0acb4cd19d310fa7"></a><!-- doxytag: member="irrklang::vec3d::operator&lt;=" ref="a6655691b3b97a4ac0acb4cd19d310fa7" args="(const vec3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator&lt;= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a3a2d930f0331232714905a94e3ec1feb"></a><!-- doxytag: member="irrklang::vec3d::operator=" ref="a3a2d930f0331232714905a94e3ec1feb" args="(const vec3d&lt; T &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt;T&gt;&amp; <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a68dca213efe08848b9325607eda4a629"></a><!-- doxytag: member="irrklang::vec3d::operator==" ref="a68dca213efe08848b9325607eda4a629" args="(const vec3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="afd2945518f2e45732d68488ec2f7df3b"></a><!-- doxytag: member="irrklang::vec3d::operator&gt;=" ref="afd2945518f2e45732d68488ec2f7df3b" args="(const vec3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::operator&gt;= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>other</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a73e958aac6482aea6d4947d2737b3681"></a><!-- doxytag: member="irrklang::vec3d::rotateXYBy" ref="a73e958aac6482aea6d4947d2737b3681" args="(ik_f64 degrees, const vec3d&lt; T &gt; &amp;center)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::rotateXYBy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceirrklang.html#a1c98510aa3989b1780723e2fb15f7c3d">ik_f64</a>&nbsp;</td>
<td class="paramname"> <em>degrees</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>center</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Rotates the vector by a specified number of degrees around the Z axis and the specified center. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>degrees,:</em>&nbsp;</td><td>Number of degrees to rotate around the Z axis. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>center,:</em>&nbsp;</td><td>The center of the rotation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a3c0df42f68cbbec6506091756d518c18"></a><!-- doxytag: member="irrklang::vec3d::rotateXZBy" ref="a3c0df42f68cbbec6506091756d518c18" args="(ik_f64 degrees, const vec3d&lt; T &gt; &amp;center)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::rotateXZBy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceirrklang.html#a1c98510aa3989b1780723e2fb15f7c3d">ik_f64</a>&nbsp;</td>
<td class="paramname"> <em>degrees</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>center</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Rotates the vector by a specified number of degrees around the Y axis and the specified center. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>degrees,:</em>&nbsp;</td><td>Number of degrees to rotate around the Y axis. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>center,:</em>&nbsp;</td><td>The center of the rotation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa619d2ed5f8e992f5ec60d7b262a0108"></a><!-- doxytag: member="irrklang::vec3d::rotateYZBy" ref="aa619d2ed5f8e992f5ec60d7b262a0108" args="(ik_f64 degrees, const vec3d&lt; T &gt; &amp;center)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::rotateYZBy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceirrklang.html#a1c98510aa3989b1780723e2fb15f7c3d">ik_f64</a>&nbsp;</td>
<td class="paramname"> <em>degrees</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>center</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Rotates the vector by a specified number of degrees around the X axis and the specified center. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>degrees,:</em>&nbsp;</td><td>Number of degrees to rotate around the X axis. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>center,:</em>&nbsp;</td><td>The center of the rotation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="afc80ce5e50e9889e6199696802a31976"></a><!-- doxytag: member="irrklang::vec3d::set" ref="afc80ce5e50e9889e6199696802a31976" args="(const vec3d&lt; T &gt; &amp;p)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::set </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classirrklang_1_1vec3d.html">vec3d</a>&lt; T &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>p</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a843126596fd738246d0816030a53ac0f"></a><!-- doxytag: member="irrklang::vec3d::set" ref="a843126596fd738246d0816030a53ac0f" args="(const T nx, const T ny, const T nz)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::set </td>
<td>(</td>
<td class="paramtype">const T&nbsp;</td>
<td class="paramname"> <em>nx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T&nbsp;</td>
<td class="paramname"> <em>ny</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T&nbsp;</td>
<td class="paramname"> <em>nz</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ae117ab59edab77fe6ecfe6dab3c546a9"></a><!-- doxytag: member="irrklang::vec3d::setLength" ref="ae117ab59edab77fe6ecfe6dab3c546a9" args="(T newlength)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::setLength </td>
<td>(</td>
<td class="paramtype">T&nbsp;</td>
<td class="paramname"> <em>newlength</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the lenght of the vector to a new value. </p>
</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ac3c930788d6718a78cf93b6022124648"></a><!-- doxytag: member="irrklang::vec3d::X" ref="ac3c930788d6718a78cf93b6022124648" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::<a class="el" href="classirrklang_1_1vec3d.html#ac3c930788d6718a78cf93b6022124648">X</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="afa70e7ee18d11b83fe02829cebbc10ae"></a><!-- doxytag: member="irrklang::vec3d::Y" ref="afa70e7ee18d11b83fe02829cebbc10ae" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::<a class="el" href="classirrklang_1_1vec3d.html#afa70e7ee18d11b83fe02829cebbc10ae">Y</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a8d41296edcd4c6739847351b9e107fc3"></a><!-- doxytag: member="irrklang::vec3d::Z" ref="a8d41296edcd4c6739847351b9e107fc3" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classirrklang_1_1vec3d.html">irrklang::vec3d</a>&lt; T &gt;::<a class="el" href="classirrklang_1_1vec3d.html#a8d41296edcd4c6739847351b9e107fc3">Z</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ik__vec3d_8h_source.html">ik_vec3d.h</a></li>
</ul>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<hr size="1">
<address style="align: right;">
<small> </small>
</address>
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td width="0"> <div align="left"><small><a href="http://www.ambiera.com/irrklang" target="_blank"><img src="irrklang.png" alt="irrKlang Audio Library" align="middle" border=0 width=88 height=30></a></small></div></td>
<td> <div align="left"><small><em><font size="2">The <a href="http://www.ambiera.com/irrklang" target="_blank">irrKlang
Engine</a> Documentation &copy; 2003-2018 by Nikolaus Gebhardt. Generated
by <a href="http://www.doxygen.org" target="_blank">Doxygen</a>
(1.6.1)</font></em></small></div></td>
</tr>
</table>
<address style="align: right;">
</address>
</body>
</html>