twgl.js/docs/v3.html
2015-09-26 15:58:59 +02:00

3012 lines
39 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>TWGL Module: twgl.v3</title>
<link type="text/css" rel="stylesheet" href="styles/site.cerulean.css">
</head>
<body>
<div class="container-fluid">
<div class="navbar navbar-fixed-top navbar-inverse">
<div class="navbar-inner">
<a class="brand" href="index.html">TWGL</a>
<ul class="nav">
<li class="dropdown">
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
class="caret"></b></a>
<ul class="dropdown-menu ">
<li>
<a href="module-twgl.html">twgl</a>
</li>
<li>
<a href="m4.html">twgl/m4</a>
</li>
<li>
<a href="primitives.html">twgl/primitives</a>
</li>
<li>
<a href="v3.html">twgl/v3</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="row-fluid">
<div class="span8">
<div id="main">
<h1 class="page-title">Module: twgl.v3</h1>
<section>
<header>
<h2>
twgl/v3
</h2>
</header>
<article>
<div class="container-overview">
<div class="description"><p>Vec3 math math functions.</p>
<p>Almost all functions take an optional <code>dst</code> argument. If it is not passed in the
functions will create a new Vec3. In other words you can do this</p>
<pre><code>var v = v3.cross(v1, v2); // Creates a new Vec3 with the cross product of v1 x v2.</code></pre>
<p>or</p>
<pre><code>var v3 = v3.create();
v3.cross(v1, v2, v); // Puts the cross product of v1 x v2 in v</code></pre>
<p>The first style is often easier but depending on where it's used it generates garbage where
as there is almost never allocation with the second style.</p>
<p>It is always save to pass any vector as the destination. So for example</p>
<pre><code>v3.cross(v1, v2, v1); // Puts the cross product of v1 x v2 in v1</code></pre></div>
<dl class="details">
</dl>
</div>
<h3 class="subsection-title">Methods</h3>
<dl>
<dt>
<h4 class="name" id="add"><span class="type-signature"> </span>add<span class="signature">(a, b, <span class="optional">dst</span>)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
<p>Adds two vectors; assumes a and b have the same dimension.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>a</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>b</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>dst</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"><p>vector to hold result. If not new one is created..</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
</dd>
<dt>
<h4 class="name" id="copy"><span class="type-signature"> </span>copy<span class="signature">(v, <span class="optional">dst</span>)</span><span class="type-signature"> &rarr; {<a href="v3.html#Vec3">Vec3</a>}</span></h4>
</dt>
<dd>
<div class="description">
<p>Copies a vector.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>v</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>The vector.</p></td>
</tr>
<tr>
<td class="name"><code>dst</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"><p>vector to hold result. If not new one is created..</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>A copy of v.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="create"><span class="type-signature"> </span>create<span class="signature">()</span><span class="type-signature"> &rarr; {Vec3}</span></h4>
</dt>
<dd>
<div class="description">
<p>Creates a vec3; may be called with x, y, z to set initial values.</p>
</div>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>the created vector</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Vec3</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="cross"><span class="type-signature"> </span>cross<span class="signature">(a, b, <span class="optional">dst</span>)</span><span class="type-signature"> &rarr; {<a href="v3.html#Vec3">Vec3</a>}</span></h4>
</dt>
<dd>
<div class="description">
<p>Computes the cross product of two vectors; assumes both vectors have
three entries.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>a</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>b</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>dst</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"><p>vector to hold result. If not new one is created..</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>The vector a cross b.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="divide"><span class="type-signature"> </span>divide<span class="signature">(a, b, <span class="optional">dst</span>)</span><span class="type-signature"> &rarr; {<a href="v3.html#Vec3">Vec3</a>}</span></h4>
</dt>
<dd>
<div class="description">
<p>Divides a vector by another vector (component-wise); assumes a and
b have the same length.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>a</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>b</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>dst</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"><p>vector to hold result. If not new one is created..</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>The vector of quotients of entries of a and
b.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="divScalar"><span class="type-signature"> </span>divScalar<span class="signature">(v, k, <span class="optional">dst</span>)</span><span class="type-signature"> &rarr; {<a href="v3.html#Vec3">Vec3</a>}</span></h4>
</dt>
<dd>
<div class="description">
<p>Divides a vector by a scalar.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>v</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>The vector.</p></td>
</tr>
<tr>
<td class="name"><code>k</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>The scalar.</p></td>
</tr>
<tr>
<td class="name"><code>dst</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"><p>vector to hold result. If not new one is created..</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>dst.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="dot"><span class="type-signature"> </span>dot<span class="signature">(a, b)</span><span class="type-signature"> &rarr; {number}</span></h4>
</dt>
<dd>
<div class="description">
<p>Computes the dot product of two vectors; assumes both vectors have
three entries.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<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"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>b</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>dot product</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">number</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="length"><span class="type-signature"> </span>length<span class="signature">(v)</span><span class="type-signature"> &rarr; {number}</span></h4>
</dt>
<dd>
<div class="description">
<p>Computes the length of vector</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>v</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="description last"><p>vector.</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>length of vector.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">number</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="lengthSq"><span class="type-signature"> </span>lengthSq<span class="signature">(v)</span><span class="type-signature"> &rarr; {number}</span></h4>
</dt>
<dd>
<div class="description">
<p>Computes the square of the length of vector</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>v</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="description last"><p>vector.</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>square of the length of vector.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">number</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="lerp"><span class="type-signature"> </span>lerp<span class="signature">(a, b, t, <span class="optional">dst</span>)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
<p>Performs linear interpolation on two vectors.
Given vectors a and b and interpolation coefficient t, returns
(1 - t) <em> a + t </em> b.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>a</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>b</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>t</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Interpolation coefficient.</p></td>
</tr>
<tr>
<td class="name"><code>dst</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"><p>vector to hold result. If not new one is created..</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
</dd>
<dt>
<h4 class="name" id="mulScalar"><span class="type-signature"> </span>mulScalar<span class="signature">(v, k, <span class="optional">dst</span>)</span><span class="type-signature"> &rarr; {<a href="v3.html#Vec3">Vec3</a>}</span></h4>
</dt>
<dd>
<div class="description">
<p>Mutiplies a vector by a scalar.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>v</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>The vector.</p></td>
</tr>
<tr>
<td class="name"><code>k</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>The scalar.</p></td>
</tr>
<tr>
<td class="name"><code>dst</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"><p>vector to hold result. If not new one is created..</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>dst.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="multiply"><span class="type-signature"> </span>multiply<span class="signature">(a, b, <span class="optional">dst</span>)</span><span class="type-signature"> &rarr; {<a href="v3.html#Vec3">Vec3</a>}</span></h4>
</dt>
<dd>
<div class="description">
<p>Multiplies a vector by another vector (component-wise); assumes a and
b have the same length.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>a</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>b</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>dst</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"><p>vector to hold result. If not new one is created..</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>The vector of products of entries of a and
b.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="negate"><span class="type-signature"> </span>negate<span class="signature">(v, <span class="optional">dst</span>)</span><span class="type-signature"> &rarr; {<a href="v3.html#Vec3">Vec3</a>}</span></h4>
</dt>
<dd>
<div class="description">
<p>Negates a vector.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>v</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>The vector.</p></td>
</tr>
<tr>
<td class="name"><code>dst</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"><p>vector to hold result. If not new one is created..</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>-v.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="normalize"><span class="type-signature"> </span>normalize<span class="signature">(a, <span class="optional">dst</span>)</span><span class="type-signature"> &rarr; {<a href="v3.html#Vec3">Vec3</a>}</span></h4>
</dt>
<dd>
<div class="description">
<p>Divides a vector by its Euclidean length and returns the quotient.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>a</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>The vector.</p></td>
</tr>
<tr>
<td class="name"><code>dst</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"><p>vector to hold result. If not new one is created..</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>The normalized vector.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="subtract"><span class="type-signature"> </span>subtract<span class="signature">(a, b, <span class="optional">dst</span>)</span><span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
<p>Subtracts two vectors.</p>
</div>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>a</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>b</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>Operand vector.</p></td>
</tr>
<tr>
<td class="name"><code>dst</code></td>
<td class="type">
<span class="param-type"><a href="v3.html#Vec3">Vec3</a></span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last"><p>vector to hold result. If not new one is created..</p></td>
</tr>
</tbody>
</table>
<dl class="details">
</dl>
</dd>
</dl>
<h3 class="subsection-title">Type Definitions</h3>
<dl>
<dt class="name" id="Vec3">
<h4>Vec3</h4>
</dt>
<dd>
<div class="description">
<p>A JavaScript array with 3 values or a Float32Array with 3 values.
When created by the library will create the default type which is <code>Float32Array</code>
but can be set by calling <code>setDefaultType</code>.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.&lt;number>|</span>
<span class="param-type">Float32Array</span>
</li>
</ul>
<dl class="details">
</dl>
</dd>
</dl>
</article>
</section>
</div>
<div class="clearfix"></div>
<footer>
</footer>
</div>
<div class="span3">
<div id="toc"></div>
</div>
<br clear="both">
</div>
</div>
<script src="scripts/prettify/prettify.js"></script>
<script src="scripts/docstrap.lib.js"></script>
<script src="scripts/bootstrap-dropdown.js"></script>
<script src="scripts/toc.js"></script>
<script>
$( function () {
$( "[id*='$']" ).each( function () {
var $this = $( this );
$this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) );
} );
$(".dropdown-menu a").each(function() {
var text = $(this).text();
$(this).text(text.replace(/\//g, '.'));
});
$( "#toc" ).toc( {
showAndHide : false,
scrollTo : "100px"
} );
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
$( '.dropdown-toggle' ).dropdown();
$( ".tutorial-section pre, .readme-section pre" ).each( function () {
var $this = $( this );
var example = $this.find( "code" );
exampleText = example.html();
var lang = /{@lang (.*?)}/.exec( exampleText );
if ( lang && lang[1] ) {
exampleText = exampleText.replace( lang[0], "" );
example.html( exampleText );
lang = lang[1];
} else {
lang = "javascript";
}
if ( lang ) {
$this
.addClass( "prettyprint" )
.html( example.html() );
}
} );
$('pre>code')
.unwrap()
.replaceWith(function() {
return $('<pre class="prettyprint showlinemods">' + this.innerHTML + '</pre>')
});
prettyPrint();
} );
</script>
<!--Navigation and Symbol Display-->
<!--Google Analytics-->
<script>
(function ( i, s, o, g, r, a, m ) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push( arguments )
}, i[r].l = 1 * new Date();
a = s.createElement( o ),
m = s.getElementsByTagName( o )[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore( a, m )
})( window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga' );
ga( 'create', 'UA-61260681-1', 'auto' );
ga( 'send', 'pageview' );
</script>
</body>
</html>