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

1217 lines
24 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 - mat2d</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 mat2d
</h1>
<!-- ============================== class summary ========================== -->
<p class="description">
2x3 Matrix
<div class="description">A mat2d contains six elements defined as:
<pre>
[a, b,
c, d,
tx,ty]
</pre>
This is a short form for the 3x3 matrix:
<pre>
[a, b, 0
c, d, 0
tx,ty,1]
</pre>
The last column is ignored so the array is shorter and operations are faster.</div>
<br /><i>Defined in: </i> <a href="../symbols/src/gl-matrix_src_gl-matrix_mat2d.js.html">mat2d.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 mat2d.">
<tbody>
<tr>
<td class="nameDescription">
<code class="fixedFont">mat2d.<b><a href="../symbols/mat2d.html#.clone">clone</a></b>(a)
</code>
<div class="description">Creates a new mat2d initialized with values from an existing matrix</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">mat2d.<b><a href="../symbols/mat2d.html#.copy">copy</a></b>(out, a)
</code>
<div class="description">Copy the values from one mat2d to another</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">mat2d.<b><a href="../symbols/mat2d.html#.create">create</a></b>()
</code>
<div class="description">Creates a new identity mat2d</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">mat2d.<b><a href="../symbols/mat2d.html#.determinant">determinant</a></b>(a)
</code>
<div class="description">Calculates the determinant of a mat2d</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">mat2d.<b><a href="../symbols/mat2d.html#.identity">identity</a></b>(out)
</code>
<div class="description">Set a mat2d to the identity matrix</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">mat2d.<b><a href="../symbols/mat2d.html#.invert">invert</a></b>(out, a)
</code>
<div class="description">Inverts a mat2d</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">mat2d.<b><a href="../symbols/mat2d.html#.mul">mul</a></b>()
</code>
<div class="description">Alias for <a href="../symbols/mat2d.html#.multiply">mat2d.multiply</a></div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">mat2d.<b><a href="../symbols/mat2d.html#.multiply">multiply</a></b>(out, a, b)
</code>
<div class="description">Multiplies two mat2d's</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">mat2d.<b><a href="../symbols/mat2d.html#.rotate">rotate</a></b>(out, a, rad)
</code>
<div class="description">Rotates a mat2d by the given angle</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">mat2d.<b><a href="../symbols/mat2d.html#.scale">scale</a></b>(out, a, v)
</code>
<div class="description">Scales the mat2d by the dimensions in the given vec2</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">mat2d.<b><a href="../symbols/mat2d.html#.str">str</a></b>(a)
</code>
<div class="description">Returns a string representation of a mat2d</div>
</td>
</tr>
<tr>
<td class="nameDescription">
<code class="fixedFont">mat2d.<b><a href="../symbols/mat2d.html#.translate">translate</a></b>(out, a, v)
</code>
<div class="description">Translates the mat2d by the dimensions in the given vec2</div>
</td>
</tr>
</tbody>
</table>
<!-- ============================== field details ========================== -->
<!-- ============================== method details ========================= -->
<h2>Method Detail</h2>
<a name=".clone"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/mat2d.html">mat2d</a>}</span>
<span class="light">mat2d.</span><b>clone</b>(a)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Creates a new mat2d initialized with values from an existing matrix
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>a</b>
</dt>
<dd>matrix to clone</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> a new 2x3 matrix</dd>
</dl>
<hr />
</div>
<a name=".copy"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/mat2d.html">mat2d</a>}</span>
<span class="light">mat2d.</span><b>copy</b>(out, a)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Copy the values from one mat2d to another
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>out</b>
</dt>
<dd>the receiving matrix</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>a</b>
</dt>
<dd>the source matrix</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".create"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/mat2d.html">mat2d</a>}</span>
<span class="light">mat2d.</span><b>create</b>()
</h3>
<div style="margin-left: 1em;">
<p class="description">
Creates a new identity mat2d
</p>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> a new 2x3 matrix</dd>
</dl>
<hr />
</div>
<a name=".determinant"> </a>
<h3 class="fixedFont">
<span class="light">{Number}</span>
<span class="light">mat2d.</span><b>determinant</b>(a)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Calculates the determinant of a mat2d
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>a</b>
</dt>
<dd>the source matrix</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Number}</span> determinant of a</dd>
</dl>
<hr />
</div>
<a name=".identity"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/mat2d.html">mat2d</a>}</span>
<span class="light">mat2d.</span><b>identity</b>(out)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Set a mat2d to the identity matrix
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>out</b>
</dt>
<dd>the receiving matrix</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".invert"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/mat2d.html">mat2d</a>}</span>
<span class="light">mat2d.</span><b>invert</b>(out, a)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Inverts a mat2d
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>out</b>
</dt>
<dd>the receiving matrix</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>a</b>
</dt>
<dd>the source matrix</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".mul"> </a>
<h3 class="fixedFont">
<span class="light">mat2d.</span><b>mul</b>()
</h3>
<div style="margin-left: 1em;">
<p class="description">
Alias for <a href="../symbols/mat2d.html#.multiply">mat2d.multiply</a>
</p>
<hr />
</div>
<a name=".multiply"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/mat2d.html">mat2d</a>}</span>
<span class="light">mat2d.</span><b>multiply</b>(out, a, b)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Multiplies two mat2d's
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>out</b>
</dt>
<dd>the receiving matrix</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>a</b>
</dt>
<dd>the first operand</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</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/mat2d.html">mat2d</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".rotate"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/mat2d.html">mat2d</a>}</span>
<span class="light">mat2d.</span><b>rotate</b>(out, a, rad)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Rotates a mat2d by the given angle
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>out</b>
</dt>
<dd>the receiving matrix</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>a</b>
</dt>
<dd>the matrix to rotate</dd>
<dt>
<span class="light fixedFont">{Number}</span> <b>rad</b>
</dt>
<dd>the angle to rotate the matrix by</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".scale"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/mat2d.html">mat2d</a>}</span>
<span class="light">mat2d.</span><b>scale</b>(out, a, v)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Scales the mat2d by the dimensions in the given vec2
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>out</b>
</dt>
<dd>the receiving matrix</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>a</b>
</dt>
<dd>the matrix to translate</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec2.html">vec2</a>}</span> <b>v</b>
</dt>
<dd>the vec2 to scale the matrix by</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> out</dd>
</dl>
<hr />
</div>
<a name=".str"> </a>
<h3 class="fixedFont">
<span class="light">{String}</span>
<span class="light">mat2d.</span><b>str</b>(a)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Returns a string representation of a mat2d
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>a</b>
</dt>
<dd>matrix 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 matrix</dd>
</dl>
<hr />
</div>
<a name=".translate"> </a>
<h3 class="fixedFont">
<span class="light">{<a href="../symbols/mat2d.html">mat2d</a>}</span>
<span class="light">mat2d.</span><b>translate</b>(out, a, v)
</h3>
<div style="margin-left: 1em;">
<p class="description">
Translates the mat2d by the dimensions in the given vec2
</p>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>out</b>
</dt>
<dd>the receiving matrix</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</a>}</span> <b>a</b>
</dt>
<dd>the matrix to translate</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/vec2.html">vec2</a>}</span> <b>v</b>
</dt>
<dd>the vec2 to translate the matrix by</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/mat2d.html">mat2d</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>