2013-03-17 13:35:08 -07:00

1317 lines
31 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>JsDoc Reference - vec3</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;
}
/*col#summaryAttributes {}*/
.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;
}
</style>
</head>
<body>
<!-- ============================== header ================================= -->
<!-- begin static/header.html -->
<div id="header">
</div>
<!-- end static/header.html -->
<!-- ============================== classes index ============================ -->
<div 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><i><a href="../symbols/_global_.html">_global_</a></i></li>
<li><a href="../symbols/mat3.html">mat3</a></li>
<li><a href="../symbols/mat4.html">mat4</a></li>
<li><a href="../symbols/quat4.html">quat4</a></li>
<li><a href="../symbols/vec3.html">vec3</a></li>
</ul>
<hr />
<!-- end publish.classesIndex -->
</div>
<div id="content">
<!-- ============================== class title ============================ -->
<h1 class="classTitle">
Class vec3
</h1>
<!-- ============================== class summary ========================== -->
<p class="description">
3 Dimensional Vector
<br /><i>Defined in: </i> <a href="../symbols/src/gl-matrix.js.html">gl-matrix.js</a>.
</p>
<!-- ============================== constructor summary ==================== -->
<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class vec3.">
<caption>Class Summary</caption>
<thead>
<tr>
<th scope="col">Constructor Attributes</th>
<th scope="col">Constructor Name and Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription" >
<div class="fixedFont">
<b><a href="../symbols/vec3.html#constructor">vec3</a></b>()
</div>
<div class="description"></div>
</td>
</tr>
</tbody>
</table>
<!-- ============================== properties summary ===================== -->
<!-- ============================== methods summary ======================== -->
<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class vec3.">
<caption>Method Summary</caption>
<thead>
<tr>
<th scope="col">Method Attributes</th>
<th scope="col">Method Name and Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.add">add</a></b>(vec, vec2, dest)
</div>
<div class="description">Performs a vector addition</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.create">create</a></b>(vec)
</div>
<div class="description">Creates a new instance of a vec3 using the default array type
Any javascript array-like objects containing at least 3 numeric elements can serve as a vec3</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.cross">cross</a></b>(vec, vec2, dest)
</div>
<div class="description">Generates the cross product of two vec3s</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.direction">direction</a></b>(vec, vec2, dest)
</div>
<div class="description">Generates a unit vector pointing from one vector to another</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.dist">dist</a></b>(vec, vec2)
</div>
<div class="description">Calculates the euclidian distance between two vec3
Params:</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.dot">dot</a></b>(vec, vec2)
</div>
<div class="description">Caclulates the dot product of two vec3s</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.length">length</a></b>(vec)
</div>
<div class="description">Caclulates the length of a vec3</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.lerp">lerp</a></b>(vec, vec2, lerp, dest)
</div>
<div class="description">Performs a linear interpolation between two vec3</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.multiply">multiply</a></b>(vec, vec2, dest)
</div>
<div class="description">Performs a vector multiplication</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.negate">negate</a></b>(vec, dest)
</div>
<div class="description">Negates the components of a vec3</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.normalize">normalize</a></b>(vec, dest)
</div>
<div class="description">Generates a unit vector of the same direction as the provided vec3
If vector length is 0, returns [0, 0, 0]</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.scale">scale</a></b>(vec, val, dest)
</div>
<div class="description">Multiplies the components of a vec3 by a scalar value</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.set">set</a></b>(vec, dest)
</div>
<div class="description">Copies the values of one vec3 to another</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.str">str</a></b>(vec)
</div>
<div class="description">Returns a string representation of a vector</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.subtract">subtract</a></b>(vec, vec2, dest)
</div>
<div class="description">Performs a vector subtraction</div>
</td>
</tr>
<tr>
<td class="attributes">&lt;static&gt; &nbsp;</td>
<td class="nameDescription">
<div class="fixedFont">vec3.<b><a href="../symbols/vec3.html#.unproject">unproject</a></b>(vec, view, proj, viewport, dest)
</div>
<div class="description">Projects the specified vec3 from screen space into object space
Based on the <a href="http://webcvs.freedesktop.org/mesa/Mesa/src/glu/mesa/project.c?revision=1.4&view=markup">Mesa gluUnProject implementation</a></div>
</td>
</tr>
</tbody>
</table>
<!-- ============================== events summary ======================== -->
<!-- ============================== constructor details ==================== -->
<div class="details"><a name="constructor"> </a>
<div class="sectionTitle">
Class Detail
</div>
<div class="fixedFont">
<b>vec3</b>()
</div>
<div class="description">
</div>
</div>
<!-- ============================== field details ========================== -->
<!-- ============================== method details ========================= -->
<div class="sectionTitle">
Method Detail
</div>
<a name=".add"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{<a href="../symbols/vec3.html">vec3</a>}</span>
<span class="light">vec3.</span><b>add</b>(vec, vec2, dest)
</div>
<div class="description">
Performs a vector addition
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>First operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec2</b>
</dt>
<dd>Second operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>dest</b>
<i>Optional</i>
</dt>
<dd>vec3 receiving operation result. If not specified result is written to vec</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> dest if specified, vec otherwise</dd>
</dl>
<hr />
<a name=".create"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{<a href="../symbols/vec3.html">vec3</a>}</span>
<span class="light">vec3.</span><b>create</b>(vec)
</div>
<div class="description">
Creates a new instance of a vec3 using the default array type
Any javascript array-like objects containing at least 3 numeric elements can serve as a vec3
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
<i>Optional</i>
</dt>
<dd>vec3 containing values to initialize with</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> New vec3</dd>
</dl>
<hr />
<a name=".cross"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{<a href="../symbols/vec3.html">vec3</a>}</span>
<span class="light">vec3.</span><b>cross</b>(vec, vec2, dest)
</div>
<div class="description">
Generates the cross product of two vec3s
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>First operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec2</b>
</dt>
<dd>Second operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>dest</b>
<i>Optional</i>
</dt>
<dd>vec3 receiving operation result. If not specified result is written to vec</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> dest if specified, vec otherwise</dd>
</dl>
<hr />
<a name=".direction"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{<a href="../symbols/vec3.html">vec3</a>}</span>
<span class="light">vec3.</span><b>direction</b>(vec, vec2, dest)
</div>
<div class="description">
Generates a unit vector pointing from one vector to another
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>Origin vec3</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec2</b>
</dt>
<dd>vec3 to point to</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>dest</b>
<i>Optional</i>
</dt>
<dd>vec3 receiving operation result. If not specified result is written to vec</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> dest if specified, vec otherwise</dd>
</dl>
<hr />
<a name=".dist"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{number}</span>
<span class="light">vec3.</span><b>dist</b>(vec, vec2)
</div>
<div class="description">
Calculates the euclidian distance between two vec3
Params:
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>First vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec2</b>
</dt>
<dd>Second vector</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{number}</span> Distance between vec and vec2</dd>
</dl>
<hr />
<a name=".dot"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{number}</span>
<span class="light">vec3.</span><b>dot</b>(vec, vec2)
</div>
<div class="description">
Caclulates the dot product of two vec3s
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>First operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec2</b>
</dt>
<dd>Second operand</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{number}</span> Dot product of vec and vec2</dd>
</dl>
<hr />
<a name=".length"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{number}</span>
<span class="light">vec3.</span><b>length</b>(vec)
</div>
<div class="description">
Caclulates the length of a vec3
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>vec3 to calculate length of</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{number}</span> Length of vec</dd>
</dl>
<hr />
<a name=".lerp"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{<a href="../symbols/vec3.html">vec3</a>}</span>
<span class="light">vec3.</span><b>lerp</b>(vec, vec2, lerp, dest)
</div>
<div class="description">
Performs a linear interpolation between two vec3
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>First vector</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec2</b>
</dt>
<dd>Second vector</dd>
<dt>
<span class="light fixedFont">{number}</span> <b>lerp</b>
</dt>
<dd>Interpolation amount between the two inputs</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>dest</b>
<i>Optional</i>
</dt>
<dd>vec3 receiving operation result. If not specified result is written to vec</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> dest if specified, vec otherwise</dd>
</dl>
<hr />
<a name=".multiply"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{<a href="../symbols/vec3.html">vec3</a>}</span>
<span class="light">vec3.</span><b>multiply</b>(vec, vec2, dest)
</div>
<div class="description">
Performs a vector multiplication
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>First operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec2</b>
</dt>
<dd>Second operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>dest</b>
<i>Optional</i>
</dt>
<dd>vec3 receiving operation result. If not specified result is written to vec</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> dest if specified, vec otherwise</dd>
</dl>
<hr />
<a name=".negate"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{<a href="../symbols/vec3.html">vec3</a>}</span>
<span class="light">vec3.</span><b>negate</b>(vec, dest)
</div>
<div class="description">
Negates the components of a vec3
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>vec3 to negate</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>dest</b>
<i>Optional</i>
</dt>
<dd>vec3 receiving operation result. If not specified result is written to vec</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> dest if specified, vec otherwise</dd>
</dl>
<hr />
<a name=".normalize"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{<a href="../symbols/vec3.html">vec3</a>}</span>
<span class="light">vec3.</span><b>normalize</b>(vec, dest)
</div>
<div class="description">
Generates a unit vector of the same direction as the provided vec3
If vector length is 0, returns [0, 0, 0]
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>vec3 to normalize</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>dest</b>
<i>Optional</i>
</dt>
<dd>vec3 receiving operation result. If not specified result is written to vec</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> dest if specified, vec otherwise</dd>
</dl>
<hr />
<a name=".scale"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{<a href="../symbols/vec3.html">vec3</a>}</span>
<span class="light">vec3.</span><b>scale</b>(vec, val, dest)
</div>
<div class="description">
Multiplies the components of a vec3 by a scalar value
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>vec3 to scale</dd>
<dt>
<span class="light fixedFont">{number}</span> <b>val</b>
</dt>
<dd>Value to scale by</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>dest</b>
<i>Optional</i>
</dt>
<dd>vec3 receiving operation result. If not specified result is written to vec</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> dest if specified, vec otherwise</dd>
</dl>
<hr />
<a name=".set"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{<a href="../symbols/vec3.html">vec3</a>}</span>
<span class="light">vec3.</span><b>set</b>(vec, dest)
</div>
<div class="description">
Copies the values of one vec3 to another
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>vec3 containing values to copy</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>dest</b>
</dt>
<dd>vec3 receiving copied values</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> dest</dd>
</dl>
<hr />
<a name=".str"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{string}</span>
<span class="light">vec3.</span><b>str</b>(vec)
</div>
<div class="description">
Returns a string representation of a vector
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</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 vec</dd>
</dl>
<hr />
<a name=".subtract"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{<a href="../symbols/vec3.html">vec3</a>}</span>
<span class="light">vec3.</span><b>subtract</b>(vec, vec2, dest)
</div>
<div class="description">
Performs a vector subtraction
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>First operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec2</b>
</dt>
<dd>Second operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>dest</b>
<i>Optional</i>
</dt>
<dd>vec3 receiving operation result. If not specified result is written to vec</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> dest if specified, vec otherwise</dd>
</dl>
<hr />
<a name=".unproject"> </a>
<div class="fixedFont">&lt;static&gt;
<span class="light">{<a href="../symbols/vec3.html">vec3</a>}</span>
<span class="light">vec3.</span><b>unproject</b>(vec, view, proj, viewport, dest)
</div>
<div class="description">
Projects the specified vec3 from screen space into object space
Based on the <a href="http://webcvs.freedesktop.org/mesa/Mesa/src/glu/mesa/project.c?revision=1.4&view=markup">Mesa gluUnProject implementation</a>
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>vec</b>
</dt>
<dd>Screen-space vector to project</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat4.html">mat4</a>}</span> <b>view</b>
</dt>
<dd>View matrix</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat4.html">mat4</a>}</span> <b>proj</b>
</dt>
<dd>Projection matrix</dd>
<dt>
<span class="light fixedFont">{vec4}</span> <b>viewport</b>
</dt>
<dd>Viewport as given to gl.viewport [x, y, width, height]</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> <b>dest</b>
<i>Optional</i>
</dt>
<dd>vec3 receiving unprojected result. If not specified result is written to vec</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/vec3.html">vec3</a>}</span> dest if specified, vec otherwise</dd>
</dl>
<!-- ============================== event details ========================= -->
<hr />
</div>
<!-- ============================== footer ================================= -->
<div class="fineprint" style="clear:both">
Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Thu Dec 29 2011 08:44:53 GMT-0800 (PST)
</div>
</body>
</html>