UNPKG

bot18

Version:

A high-frequency cryptocurrency trading bot by Zenbot creator @carlos8f

4,802 lines (1,228 loc) 58 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Module: quat</title> <script src="scripts/prettify/prettify.js"> </script> <script src="scripts/prettify/lang-css.js"> </script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <div id="main"> <h1 class="page-title">Module: quat</h1> <section> <header> </header> <article> <div class="container-overview"> <div class="description">Quaternion</div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line6">line 6</a> </li></ul></dd> </dl> </div> <h3 class="subsection-title">Members</h3> <h4 class="name" id=".equals"><span class="type-signature">(static, constant) </span>equals<span class="type-signature"></span></h4> <div class="description"> Returns whether or not the quaternions have approximately the same elements in the same position. </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line510">line 510</a> </li></ul></dd> </dl> <h4 class="name" id=".exactEquals"><span class="type-signature">(static, constant) </span>exactEquals<span class="type-signature"></span></h4> <div class="description"> Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===) </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line501">line 501</a> </li></ul></dd> </dl> <h4 class="name" id=".length"><span class="type-signature">(static, constant) </span>length<span class="type-signature"></span></h4> <div class="description"> Calculates the length of a quat </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line461">line 461</a> </li></ul></dd> </dl> <h4 class="name" id=".rotationTo"><span class="type-signature">(static, constant) </span>rotationTo<span class="type-signature"></span></h4> <div class="description"> Sets a quaternion to represent the shortest rotation from one vector to another. Both vectors are assumed to be unit length. </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line523">line 523</a> </li></ul></dd> </dl> <h4 class="name" id=".setAxes"><span class="type-signature">(static, constant) </span>setAxes<span class="type-signature"></span></h4> <div class="description"> Sets the specified quaternion with values corresponding to the given axes. Each axis is a vec3 and is expected to be unit length and perpendicular to all other specified axes. </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line588">line 588</a> </li></ul></dd> </dl> <h4 class="name" id=".sqlerp"><span class="type-signature">(static, constant) </span>sqlerp<span class="type-signature"></span></h4> <div class="description"> Performs a spherical linear interpolation with two control points </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line565">line 565</a> </li></ul></dd> </dl> <h3 class="subsection-title">Methods</h3> <h4 class="name" id=".add"><span class="type-signature">(static) </span>add<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Adds two quat's </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the first operand</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the second operand</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line414">line 414</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".calculateW"><span class="type-signature">(static) </span>calculateW<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Calculates the W component of a quat from the X, Y, and Z components. Assumes that quaternion is 1 unit in length. Any existing W component will be ignored. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">quat to calculate W component of</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line178">line 178</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".clone"><span class="type-signature">(static) </span>clone<span class="signature">(a)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Creates a new quat initialized with values from an existing quaternion </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">quaternion to clone</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line368">line 368</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> a new quaternion </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".conjugate"><span class="type-signature">(static) </span>conjugate<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Calculates the conjugate of a quat If the quaternion is normalized, this function is faster than quat.inverse and produces the same result. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">quat to calculate conjugate of</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line266">line 266</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".copy"><span class="type-signature">(static) </span>copy<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Copy the values from one quat to another </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the source quaternion</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line390">line 390</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".create"><span class="type-signature">(static) </span>create<span class="signature">()</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Creates a new identity quat </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line16">line 16</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> a new quaternion </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".dot"><span class="type-signature">(static) </span>dot<span class="signature">(a, b)</span><span class="type-signature"> &rarr; {Number}</span></h4> <div class="description"> Calculates the dot product of two quat's </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the first operand</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the second operand</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line441">line 441</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> dot product of a and b </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Number</span> </dd> </dl> <h4 class="name" id=".fromEuler"><span class="type-signature">(static) </span>fromEuler<span class="signature">(out, Angle, Angle, Angle)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Creates a quaternion from the given euler angle x, y, z. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> <tr> <td class="name"><code>Angle</code></td> <td class="type"> <span class="param-type">x</span> </td> <td class="description last">to rotate around X axis in degrees.</td> </tr> <tr> <td class="name"><code>Angle</code></td> <td class="type"> <span class="param-type">y</span> </td> <td class="description last">to rotate around Y axis in degrees.</td> </tr> <tr> <td class="name"><code>Angle</code></td> <td class="type"> <span class="param-type">z</span> </td> <td class="description last">to rotate around Z axis in degrees.</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line330">line 330</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".fromMat3"><span class="type-signature">(static) </span>fromMat3<span class="signature">(out, m)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Creates a quaternion from the given 3x3 rotation matrix. NOTE: The resultant quaternion is not normalized, so you should be sure to renormalize the quaternion yourself where necessary. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> <tr> <td class="name"><code>m</code></td> <td class="type"> <span class="param-type">mat3</span> </td> <td class="description last">rotation matrix</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line285">line 285</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".fromValues"><span class="type-signature">(static) </span>fromValues<span class="signature">(x, y, z, w)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Creates a new quat initialized with the given values </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>x</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">X component</td> </tr> <tr> <td class="name"><code>y</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">Y component</td> </tr> <tr> <td class="name"><code>z</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">Z component</td> </tr> <tr> <td class="name"><code>w</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">W component</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line380">line 380</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> a new quaternion </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".getAxisAngle"><span class="type-signature">(static) </span>getAxisAngle<span class="signature">(out_axis, q)</span><span class="type-signature"> &rarr; {Number}</span></h4> <div class="description"> Gets the rotation axis and angle for a given quaternion. If a quaternion is created with setAxisAngle, this method will return the same values as providied in the original parameter list OR functionally equivalent values. Example: The quaternion formed by axis [0, 0, 1] and angle -90 is the same as the quaternion formed by [0, 0, 1] and 270. This method favors the latter. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out_axis</code></td> <td class="type"> <span class="param-type">vec3</span> </td> <td class="description last">Vector receiving the axis of rotation</td> </tr> <tr> <td class="name"><code>q</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">Quaternion to be decomposed</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line71">line 71</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> Angle, in radians, of the rotation </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Number</span> </dd> </dl> <h4 class="name" id=".identity"><span class="type-signature">(static) </span>identity<span class="signature">(out)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Set a quat to the identity quaternion </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line31">line 31</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".invert"><span class="type-signature">(static) </span>invert<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Calculates the inverse of a quat </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">quat to calculate inverse of</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line244">line 244</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".len"><span class="type-signature">(static) </span>len<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> Alias for quat.length </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line467">line 467</a> </li></ul></dd> </dl> <h4 class="name" id=".lerp"><span class="type-signature">(static) </span>lerp<span class="signature">(out, a, b, t)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Performs a linear interpolation between two quat's </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the first operand</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the second operand</td> </tr> <tr> <td class="name"><code>t</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">interpolation amount, in the range [0-1], between the two inputs</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line453">line 453</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".mul"><span class="type-signature">(static) </span>mul<span class="signature">()</span><span class="type-signature"></span></h4> <div class="description"> Alias for quat.multiply </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line420">line 420</a> </li></ul></dd> </dl> <h4 class="name" id=".multiply"><span class="type-signature">(static) </span>multiply<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Multiplies two quat's </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the first operand</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the second operand</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line95">line 95</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".normalize"><span class="type-signature">(static) </span>normalize<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Normalize a quat </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">quaternion to normalize</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line492">line 492</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".rotateX"><span class="type-signature">(static) </span>rotateX<span class="signature">(out, a, rad)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Rotates a quaternion by the given angle about the X axis </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">quat receiving operation result</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">quat to rotate</td> </tr> <tr> <td class="name"><code>rad</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last">angle (in radians) to rotate</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line114">line 114</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".rotateY"><span class="type-signature">(static) </span>rotateY<span class="signature">(out, a, rad)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Rotates a quaternion by the given angle about the Y axis </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">quat receiving operation result</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">quat to rotate</td> </tr> <tr> <td class="name"><code>rad</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last">angle (in radians) to rotate</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line135">line 135</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".rotateZ"><span class="type-signature">(static) </span>rotateZ<span class="signature">(out, a, rad)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Rotates a quaternion by the given angle about the Z axis </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">quat receiving operation result</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">quat to rotate</td> </tr> <tr> <td class="name"><code>rad</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last">angle (in radians) to rotate</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line156">line 156</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".scale"><span class="type-signature">(static) </span>scale<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Scales a quat by a scalar number </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving vector</td> </tr> <tr> <td class="name"><code>a</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the vector to scale</td> </tr> <tr> <td class="name"><code>b</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">amount to scale the vector by</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line431">line 431</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".set"><span class="type-signature">(static) </span>set<span class="signature">(out, x, y, z, w)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Set the components of a quat to the given values </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> <tr> <td class="name"><code>x</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">X component</td> </tr> <tr> <td class="name"><code>y</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">Y component</td> </tr> <tr> <td class="name"><code>z</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">Z component</td> </tr> <tr> <td class="name"><code>w</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="description last">W component</td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="quat.js.html">quat.js</a>, <a href="quat.js.html#line403">line 403</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> out </div> <dl> <dt> Type </dt> <dd> <span class="param-type">quat</span> </dd> </dl> <h4 class="name" id=".setAxisAngle"><span class="type-signature">(static) </span>setAxisAngle<span class="signature">(out, axis, rad)</span><span class="type-signature"> &rarr; {quat}</span></h4> <div class="description"> Sets a quat from the given angle and rotation axis, then returns it. </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>out</code></td> <td class="type"> <span class="param-type">quat</span> </td> <td class="description last">the receiving quaternion</td> </tr> <tr> <td class="name"><code>axis</code></td> <td class="type"> <span class="param-type">vec3</span> </td> <td class="description last">the axis around whi