Brandon Jones 04ac04aaff 2.2.0 docs
2013-03-17 13:35:09 -07:00

2385 lines
52 KiB
HTML

<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="generator" content="JsDoc Toolkit" />
<title>glMatrix - vec4</title>
<style type="text/css">
/* default.css */
/*
body
{
font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
width: 800px;
}
.header
{
clear: both;
background-color: #ccc;
padding: 8px;
}
h1
{
font-size: 150%;
font-weight: bold;
padding: 0;
margin: 1em 0 0 .3em;
}
hr
{
border: none 0;
border-top: 1px solid #7F8FB1;
height: 1px;
}
pre.code
{
display: block;
padding: 8px;
border: 1px dashed #ccc;
}
#index
{
margin-top: 24px;
float: left;
width: 160px;
position: absolute;
left: 8px;
background-color: #F3F3F3;
padding: 8px;
}
#content
{
margin-left: 190px;
width: 600px;
}
.classList
{
list-style-type: none;
padding: 0;
margin: 0 0 0 8px;
font-family: arial, sans-serif;
font-size: 1em;
overflow: auto;
}
.classList li
{
padding: 0;
margin: 0 0 8px 0;
}
.summaryTable { width: 100%; }
h1.classTitle
{
font-size:170%;
line-height:130%;
}
h2 { font-size: 110%; }
caption, div.sectionTitle
{
background-color: #7F8FB1;
color: #fff;
font-size:130%;
text-align: left;
padding: 2px 6px 2px 6px;
border: 1px #7F8FB1 solid;
}
div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }
.summaryTable td
{
vertical-align: top;
padding: 4px;
border-bottom: 1px #7F8FB1 solid;
border-right: 1px #7F8FB1 solid;
border-left: 1px #7F8FB1 solid;
}
.summaryTable td.attributes
{
border-left: 1px #7F8FB1 solid;
width: 140px;
text-align: right;
}
td.attributes, .fixedFont
{
line-height: 15px;
color: #002EBE;
font-family: "Courier New",Courier,monospace;
font-size: 13px;
}
.summaryTable td.nameDescription
{
text-align: left;
font-size: 13px;
line-height: 15px;
}
.summaryTable td.nameDescription, .description
{
line-height: 15px;
padding: 4px;
padding-left: 4px;
}
.summaryTable { margin-bottom: 8px; }
ul.inheritsList
{
list-style: square;
margin-left: 20px;
padding-left: 0;
}
.detailList {
margin-left: 20px;
line-height: 15px;
}
.detailList dt { margin-left: 20px; }
.detailList .heading
{
font-weight: bold;
padding-bottom: 6px;
margin-left: 0;
}
.light, td.attributes, .light a:link, .light a:visited
{
color: #777;
font-style: italic;
}
.fineprint
{
text-align: right;
font-size: 10px;
}
*/
/* Copied from styles.css generated by Github Pages */
@import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700);
body {
padding:50px;
font:14px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
color:#777;
font-weight:300;
}
h1, h2, h3, h4, h5, h6 {
color:#222;
margin:0 0 20px;
}
p, ul, ol, table, pre, dl {
margin:0 0 20px;
}
h1, h2, h3 {
line-height:1.1;
}
h1 {
font-size:28px;
}
h2 {
color:#393939;
}
h3, h4, h5, h6 {
color:#494949;
}
a {
color:#39c;
font-weight:400;
text-decoration:none;
}
a small {
font-size:11px;
color:#777;
margin-top:-0.6em;
display:block;
}
.wrapper {
width:860px;
margin:0 auto;
}
blockquote {
border-left:1px solid #e5e5e5;
margin:0;
padding:0 0 0 20px;
font-style:italic;
}
code, pre {
font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal;
color:#333;
font-size:12px;
}
pre {
padding:8px 15px;
background: #f8f8f8;
border-radius:5px;
border:1px solid #e5e5e5;
overflow-x: auto;
}
table {
width:100%;
border-collapse:collapse;
}
th, td {
text-align:left;
padding:5px 10px;
border-bottom:1px solid #e5e5e5;
}
dt {
color:#444;
font-weight:700;
}
th {
color:#444;
}
img {
max-width:100%;
}
header {
width:270px;
float:left;
position:fixed;
}
header ul {
list-style:none;
padding:0;
/*background: #eee;
background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd));
background: -webkit-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
background: -o-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
background: -ms-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
background: linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
border-radius:5px;
border:1px solid #d2d2d2;
box-shadow:inset #fff 0 1px 0, inset rgba(0,0,0,0.03) 0 -1px 0;*/
width:270px;
}
header li {
width:89px;
/*float:left;
border-right:1px solid #d2d2d2;
height:40px;*/
}
header ul a {
line-height:1;
font-size:11px;
color:#999;
display:block;
text-align:center;
padding-top:6px;
/*height:40px;*/
}
strong {
color:#222;
font-weight:700;
}
/*header ul li + li {
width:88px;
border-left:1px solid #fff;
}
header ul li + li + li {
border-right:none;
width:89px;
}*/
header ul a strong {
font-size:14px;
display:block;
color:#222;
}
section {
width:500px;
float:right;
padding-bottom:50px;
}
small {
font-size:11px;
}
hr {
border:0;
background:#e5e5e5;
height:1px;
margin:0 0 20px;
}
footer {
width:270px;
float:left;
position:fixed;
bottom:50px;
}
@media print, screen and (max-width: 960px) {
div.wrapper {
width:auto;
margin:0;
}
header, section, footer {
float:none;
position:static;
width:auto;
}
header {
/*padding-right:320px;*/
padding: 0;
}
section {
border:1px solid #e5e5e5;
border-width:1px 0;
padding:20px 0;
margin:0 0 20px;
}
header a small {
display:inline;
}
header ul {
position:static;
height:40px;
width: auto;
}
header ul li {
float: left;
}
}
@media print, screen and (max-width: 720px) {
body {
word-wrap:break-word;
}
header {
padding:0;
}
header ul, header p.view {
position:static;
}
pre, code {
word-wrap:normal;
}
}
@media print, screen and (max-width: 480px) {
body {
padding:15px;
}
/*header ul {
display:none;
}*/
}
@media print {
body {
padding:0.4in;
font-size:12pt;
color:#444;
}
}
</style>
</head>
<body>
<!-- ============================== header ================================= -->
<!-- begin static/header.html -->
<div id="header">
</div>
<!-- end static/header.html -->
<div class="wrapper">
<!-- ============================== classes index ============================ -->
<header id="index">
<!-- begin publish.classesIndex -->
<div align="center"><a href="../index.html">Class Index</a>
| <a href="../files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
<li></li>
<li><a href="../symbols/glMatrix.html">glMatrix</a></li>
<li><a href="../symbols/mat2.html">mat2</a></li>
<li><a href="../symbols/mat2d.html">mat2d</a></li>
<li><a href="../symbols/mat3.html">mat3</a></li>
<li><a href="../symbols/mat4.html">mat4</a></li>
<li><a href="../symbols/quat.html">quat</a></li>
<li><a href="../symbols/vec2.html">vec2</a></li>
<li><a href="../symbols/vec3.html">vec3</a></li>
<li><a href="../symbols/vec4.html">vec4</a></li>
</ul>
<hr />
<!-- end publish.classesIndex -->
</header>
<section id="content">
<!-- ============================== class title ============================ -->
<h1 class="classTitle">
Class vec4
</h1>
<!-- ============================== class summary ========================== -->
<p class="description">
4 Dimensional Vector
<br /><i>Defined in: </i> <a href="../symbols/src/gl-matrix_src_gl-matrix_vec4.js.html">vec4.js</a>.
</p>
<!-- ============================== properties summary ===================== -->
<!-- ============================== methods summary ======================== -->
<h2>Methods</h2>
<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class vec4.">
<tbody>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.add">add</a></b>(out, a, b)
</code>
<div class="description">Adds two vec4's</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.clone">clone</a></b>(a)
</code>
<div class="description">Creates a new vec4 initialized with values from an existing vector</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.copy">copy</a></b>(out, a)
</code>
<div class="description">Copy the values from one vec4 to another</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.create">create</a></b>()
</code>
<div class="description">Creates a new, empty vec4</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.dist">dist</a></b>()
</code>
<div class="description">Alias for <a href="../symbols/vec4.html#.distance">vec4.distance</a></div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.distance">distance</a></b>(a, b)
</code>
<div class="description">Calculates the euclidian distance between two vec4's</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.div">div</a></b>()
</code>
<div class="description">Alias for <a href="../symbols/vec4.html#.divide">vec4.divide</a></div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.divide">divide</a></b>(out, a, b)
</code>
<div class="description">Divides two vec4's</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.dot">dot</a></b>(a, b)
</code>
<div class="description">Calculates the dot product of two vec4's</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.forEach">forEach</a></b>(a, stride, offset, count, fn, arg)
</code>
<div class="description">Perform some operation over an array of vec4s.</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.fromValues">fromValues</a></b>(x, y, z, w)
</code>
<div class="description">Creates a new vec4 initialized with the given values</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.len">len</a></b>()
</code>
<div class="description">Alias for <a href="../symbols/vec4.html#.length">vec4.length</a></div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.length">length</a></b>(a)
</code>
<div class="description">Calculates the length of a vec4</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.lerp">lerp</a></b>(out, a, b, t)
</code>
<div class="description">Performs a linear interpolation between two vec4's</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.max">max</a></b>(out, a, b)
</code>
<div class="description">Returns the maximum of two vec4's</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.min">min</a></b>(out, a, b)
</code>
<div class="description">Returns the minimum of two vec4's</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.mul">mul</a></b>()
</code>
<div class="description">Alias for <a href="../symbols/vec4.html#.multiply">vec4.multiply</a></div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.multiply">multiply</a></b>(out, a, b)
</code>
<div class="description">Multiplies two vec4's</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.negate">negate</a></b>(out, a)
</code>
<div class="description">Negates the components of a vec4</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.normalize">normalize</a></b>(out, a)
</code>
<div class="description">Normalize a vec4</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.random">random</a></b>(out, scale)
</code>
<div class="description">Generates a random vector with the given scale</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.scale">scale</a></b>(out, a, b)
</code>
<div class="description">Scales a vec4 by a scalar number</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.scaleAndAdd">scaleAndAdd</a></b>(out, a, b, scale)
</code>
<div class="description">Adds two vec4's after scaling the second operand by a scalar value</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.set">set</a></b>(out, x, y, z, w)
</code>
<div class="description">Set the components of a vec4 to the given values</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.sqrDist">sqrDist</a></b>()
</code>
<div class="description">Alias for <a href="../symbols/vec4.html#.squaredDistance">vec4.squaredDistance</a></div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.sqrLen">sqrLen</a></b>()
</code>
<div class="description">Alias for <a href="../symbols/vec4.html#.squaredLength">vec4.squaredLength</a></div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.squaredDistance">squaredDistance</a></b>(a, b)
</code>
<div class="description">Calculates the squared euclidian distance between two vec4's</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.squaredLength">squaredLength</a></b>(a)
</code>
<div class="description">Calculates the squared length of a vec4</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.str">str</a></b>(vec)
</code>
<div class="description">Returns a string representation of a vector</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.sub">sub</a></b>()
</code>
<div class="description">Alias for <a href="../symbols/vec4.html#.subtract">vec4.subtract</a></div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.subtract">subtract</a></b>(out, a, b)
</code>
<div class="description">Subtracts vector b from vector a</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.transformMat4">transformMat4</a></b>(out, a, m)
</code>
<div class="description">Transforms the vec4 with a mat4.</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">vec4.<b><a href="../symbols/vec4.html#.transformQuat">transformQuat</a></b>(out, a, q)
</code>
<div class="description">Transforms the vec4 with a quat</div>
</td>
</tr>
</tbody>
</table>
<!-- ============================== field details ========================== -->
<!-- ============================== method details ========================= -->
<h2>Method Detail</h2>
<a name=".add"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>add</b>(out, a, b)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Adds two vec4's
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the first operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>b</b>
</dt>
<dd>the second operand</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".clone"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>clone</b>(a)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Creates a new vec4 initialized with values from an existing vector
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>vector to clone</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> a new 4D vector</dd>
</dl>
<hr />
</div>
<a name=".copy"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>copy</b>(out, a)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Copy the values from one vec4 to another
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the source vector</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".create"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>create</b>()
</h3>
<div style="margin-left: 1em;">
<p class="description">
Creates a new, empty vec4
</p>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> a new 4D vector</dd>
</dl>
<hr />
</div>
<a name=".dist"> </a>
<h3 class="fixedFont">
<span class="light">vec4.</span><b>dist</b>()
</h3>
<div style="margin-left: 1em;">
<p class="description">
Alias for <a href="../symbols/vec4.html#.distance">vec4.distance</a>
</p>
<hr />
</div>
<a name=".distance"> </a>
<h3 class="fixedFont">
<span class="light">{Number}</span>
<span class="light">vec4.</span><b>distance</b>(a, b)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Calculates the euclidian distance between two vec4's
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the first operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>b</b>
</dt>
<dd>the second operand</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Number}</span> distance between a and b</dd>
</dl>
<hr />
</div>
<a name=".div"> </a>
<h3 class="fixedFont">
<span class="light">vec4.</span><b>div</b>()
</h3>
<div style="margin-left: 1em;">
<p class="description">
Alias for <a href="../symbols/vec4.html#.divide">vec4.divide</a>
</p>
<hr />
</div>
<a name=".divide"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>divide</b>(out, a, b)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Divides two vec4's
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the first operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>b</b>
</dt>
<dd>the second operand</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".dot"> </a>
<h3 class="fixedFont">
<span class="light">{Number}</span>
<span class="light">vec4.</span><b>dot</b>(a, b)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Calculates the dot product of two vec4's
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the first operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>b</b>
</dt>
<dd>the second operand</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Number}</span> dot product of a and b</dd>
</dl>
<hr />
</div>
<a name=".forEach"> </a>
<h3 class="fixedFont">
<span class="light">{Array}</span>
<span class="light">vec4.</span><b>forEach</b>(a, stride, offset, count, fn, arg)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Perform some operation over an array of vec4s.
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{Array}</span> <b>a</b>
</dt>
<dd>the array of vectors to iterate over</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>stride</b>
</dt>
<dd>Number of elements between the start of each vec4. If 0 assumes tightly packed</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>offset</b>
</dt>
<dd>Number of elements to skip at the beginning of the array</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>count</b>
</dt>
<dd>Number of vec2s to iterate over. If 0 iterates over entire array</dd>
<dt>
<span class="light fixedFont">{Function}</span> <b>fn</b>
</dt>
<dd>Function to call for each vector in the array</dd>
<dt>
<span class="light fixedFont">{Object}</span> <b>arg</b>
<i>Optional</i>
</dt>
<dd>additional argument to pass to fn</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Array}</span> a</dd>
</dl>
<hr />
</div>
<a name=".fromValues"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>fromValues</b>(x, y, z, w)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Creates a new vec4 initialized with the given values
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{Number}</span> <b>x</b>
</dt>
<dd>X component</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>y</b>
</dt>
<dd>Y component</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>z</b>
</dt>
<dd>Z component</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>w</b>
</dt>
<dd>W component</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> a new 4D vector</dd>
</dl>
<hr />
</div>
<a name=".len"> </a>
<h3 class="fixedFont">
<span class="light">vec4.</span><b>len</b>()
</h3>
<div style="margin-left: 1em;">
<p class="description">
Alias for <a href="../symbols/vec4.html#.length">vec4.length</a>
</p>
<hr />
</div>
<a name=".length"> </a>
<h3 class="fixedFont">
<span class="light">{Number}</span>
<span class="light">vec4.</span><b>length</b>(a)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Calculates the length of a vec4
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>vector to calculate length of</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Number}</span> length of a</dd>
</dl>
<hr />
</div>
<a name=".lerp"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>lerp</b>(out, a, b, t)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Performs a linear interpolation between two vec4's
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the first operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>b</b>
</dt>
<dd>the second operand</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>t</b>
</dt>
<dd>interpolation amount between the two inputs</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".max"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>max</b>(out, a, b)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Returns the maximum of two vec4's
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the first operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>b</b>
</dt>
<dd>the second operand</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".min"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>min</b>(out, a, b)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Returns the minimum of two vec4's
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the first operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>b</b>
</dt>
<dd>the second operand</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".mul"> </a>
<h3 class="fixedFont">
<span class="light">vec4.</span><b>mul</b>()
</h3>
<div style="margin-left: 1em;">
<p class="description">
Alias for <a href="../symbols/vec4.html#.multiply">vec4.multiply</a>
</p>
<hr />
</div>
<a name=".multiply"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>multiply</b>(out, a, b)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Multiplies two vec4's
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the first operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>b</b>
</dt>
<dd>the second operand</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".negate"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>negate</b>(out, a)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Negates the components of a vec4
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>vector to negate</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".normalize"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>normalize</b>(out, a)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Normalize a vec4
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>vector to normalize</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".random"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>random</b>(out, scale)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Generates a random vector with the given scale
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>scale</b>
<i>Optional</i>
</dt>
<dd>Length of the resulting vector. If ommitted, a unit vector will be returned</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".scale"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>scale</b>(out, a, b)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Scales a vec4 by a scalar number
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the vector to scale</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>b</b>
</dt>
<dd>amount to scale the vector by</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".scaleAndAdd"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>scaleAndAdd</b>(out, a, b, scale)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Adds two vec4's after scaling the second operand by a scalar value
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the first operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>b</b>
</dt>
<dd>the second operand</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>scale</b>
</dt>
<dd>the amount to scale b by before adding</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".set"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>set</b>(out, x, y, z, w)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Set the components of a vec4 to the given values
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>x</b>
</dt>
<dd>X component</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>y</b>
</dt>
<dd>Y component</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>z</b>
</dt>
<dd>Z component</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>w</b>
</dt>
<dd>W component</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".sqrDist"> </a>
<h3 class="fixedFont">
<span class="light">vec4.</span><b>sqrDist</b>()
</h3>
<div style="margin-left: 1em;">
<p class="description">
Alias for <a href="../symbols/vec4.html#.squaredDistance">vec4.squaredDistance</a>
</p>
<hr />
</div>
<a name=".sqrLen"> </a>
<h3 class="fixedFont">
<span class="light">vec4.</span><b>sqrLen</b>()
</h3>
<div style="margin-left: 1em;">
<p class="description">
Alias for <a href="../symbols/vec4.html#.squaredLength">vec4.squaredLength</a>
</p>
<hr />
</div>
<a name=".squaredDistance"> </a>
<h3 class="fixedFont">
<span class="light">{Number}</span>
<span class="light">vec4.</span><b>squaredDistance</b>(a, b)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Calculates the squared euclidian distance between two vec4's
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the first operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>b</b>
</dt>
<dd>the second operand</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Number}</span> squared distance between a and b</dd>
</dl>
<hr />
</div>
<a name=".squaredLength"> </a>
<h3 class="fixedFont">
<span class="light">{Number}</span>
<span class="light">vec4.</span><b>squaredLength</b>(a)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Calculates the squared length of a vec4
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>vector to calculate squared length of</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Number}</span> squared length of a</dd>
</dl>
<hr />
</div>
<a name=".str"> </a>
<h3 class="fixedFont">
<span class="light">{String}</span>
<span class="light">vec4.</span><b>str</b>(vec)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Returns a string representation of a vector
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>vec</b>
</dt>
<dd>vector to represent as a string</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{String}</span> string representation of the vector</dd>
</dl>
<hr />
</div>
<a name=".sub"> </a>
<h3 class="fixedFont">
<span class="light">vec4.</span><b>sub</b>()
</h3>
<div style="margin-left: 1em;">
<p class="description">
Alias for <a href="../symbols/vec4.html#.subtract">vec4.subtract</a>
</p>
<hr />
</div>
<a name=".subtract"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>subtract</b>(out, a, b)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Subtracts vector b from vector a
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the first operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>b</b>
</dt>
<dd>the second operand</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".transformMat4"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>transformMat4</b>(out, a, m)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Transforms the vec4 with a mat4.
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the vector to transform</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat4.html">mat4</a>}</span> <b>m</b>
</dt>
<dd>matrix to transform with</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".transformQuat"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/vec4.html">vec4</a>}</span>
<span class="light">vec4.</span><b>transformQuat</b>(out, a, q)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Transforms the vec4 with a quat
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>out</b>
</dt>
<dd>the receiving vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> <b>a</b>
</dt>
<dd>the vector to transform</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/quat.html">quat</a>}</span> <b>q</b>
</dt>
<dd>quaternion to transform with</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec4.html">vec4</a>}</span> out</dd>
</dl>
</div>
<hr />
</section>
<!-- ============================== footer ================================= -->
<footer>
<small>
Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Fri Mar 15 2013 22:21:14 GMT-0700 (PDT)
<br/><br/>
Theme based on Github Pages template by <a href="https://github.com/orderedlist">orderedlist</a>
</small>
</footer>
</div>
</body>
</html>