p2s
Version:
A JavaScript 2D physics engine.
594 lines (411 loc) • 20.6 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>Utils - p2.js</title>
<link rel="stylesheet" href="http://yui.yahooapis.com/3.9.1/build/cssgrids/cssgrids-min.css">
<link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
<link rel="stylesheet" href="../assets/css/main.css" id="site_styles">
<link rel="icon" href="../assets/favicon.ico">
<script src="http://yui.yahooapis.com/combo?3.9.1/build/yui/yui-min.js"></script>
</head>
<body class="yui3-skin-sam">
<div id="doc">
<div id="hd" class="yui3-g header">
<div class="yui3-u-3-4">
<h1><img src="../assets/css/logo.png" title="p2.js" width="117" height="52"></h1>
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 0.7.1</em>
</div>
</div>
<div id="bd" class="yui3-g">
<div class="yui3-u-1-4">
<div id="docs-sidebar" class="sidebar apidocs">
<div id="api-list">
<h2 class="off-left">APIs</h2>
<div id="api-tabview" class="tabview">
<ul class="tabs">
<li><a href="#api-classes">Classes</a></li>
<li><a href="#api-modules">Modules</a></li>
</ul>
<div id="api-tabview-filter">
<input type="search" id="api-filter" placeholder="Type to filter APIs">
</div>
<div id="api-tabview-panel">
<ul id="api-classes" class="apis classes">
<li><a href="../classes/AABB.html">AABB</a></li>
<li><a href="../classes/AngleLockEquation.html">AngleLockEquation</a></li>
<li><a href="../classes/Body.html">Body</a></li>
<li><a href="../classes/Box.html">Box</a></li>
<li><a href="../classes/Broadphase.html">Broadphase</a></li>
<li><a href="../classes/Capsule.html">Capsule</a></li>
<li><a href="../classes/Circle.html">Circle</a></li>
<li><a href="../classes/Constraint.html">Constraint</a></li>
<li><a href="../classes/ContactEquation.html">ContactEquation</a></li>
<li><a href="../classes/ContactMaterial.html">ContactMaterial</a></li>
<li><a href="../classes/Convex.html">Convex</a></li>
<li><a href="../classes/DistanceConstraint.html">DistanceConstraint</a></li>
<li><a href="../classes/Equation.html">Equation</a></li>
<li><a href="../classes/EventEmitter.html">EventEmitter</a></li>
<li><a href="../classes/FrictionEquation.html">FrictionEquation</a></li>
<li><a href="../classes/GearConstraint.html">GearConstraint</a></li>
<li><a href="../classes/GSSolver.html">GSSolver</a></li>
<li><a href="../classes/Heightfield.html">Heightfield</a></li>
<li><a href="../classes/Island.html">Island</a></li>
<li><a href="../classes/IslandManager.html">IslandManager</a></li>
<li><a href="../classes/IslandNode.html">IslandNode</a></li>
<li><a href="../classes/Line.html">Line</a></li>
<li><a href="../classes/LinearSpring.html">LinearSpring</a></li>
<li><a href="../classes/LockConstraint.html">LockConstraint</a></li>
<li><a href="../classes/Material.html">Material</a></li>
<li><a href="../classes/NaiveBroadphase.html">NaiveBroadphase</a></li>
<li><a href="../classes/Narrowphase.html">Narrowphase</a></li>
<li><a href="../classes/Object pooling utility..html">Object pooling utility.</a></li>
<li><a href="../classes/OverlapKeeper.html">OverlapKeeper</a></li>
<li><a href="../classes/OverlapKeeperRecord.html">OverlapKeeperRecord</a></li>
<li><a href="../classes/Particle.html">Particle</a></li>
<li><a href="../classes/Plane.html">Plane</a></li>
<li><a href="../classes/PrismaticConstraint.html">PrismaticConstraint</a></li>
<li><a href="../classes/Ray.html">Ray</a></li>
<li><a href="../classes/RaycastResult.html">RaycastResult</a></li>
<li><a href="../classes/RevoluteConstraint.html">RevoluteConstraint</a></li>
<li><a href="../classes/RotationalLockEquation.html">RotationalLockEquation</a></li>
<li><a href="../classes/.html"></a></li>
<li><a href="../classes/RotationalSpring.html">RotationalSpring</a></li>
<li><a href="../classes/RotationalVelocityEquation.html">RotationalVelocityEquation</a></li>
<li><a href="../classes/SAPBroadphase.html">SAPBroadphase</a></li>
<li><a href="../classes/Shape.html">Shape</a></li>
<li><a href="../classes/Solver.html">Solver</a></li>
<li><a href="../classes/Spring.html">Spring</a></li>
<li><a href="../classes/TopDownVehicle.html">TopDownVehicle</a></li>
<li><a href="../classes/TupleDictionary.html">TupleDictionary</a></li>
<li><a href="../classes/Utils.html">Utils</a></li>
<li><a href="../classes/vec2.html">vec2</a></li>
<li><a href="../classes/WheelConstraint.html">WheelConstraint</a></li>
<li><a href="../classes/World.html">World</a></li>
</ul>
<ul id="api-modules" class="apis modules">
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="yui3-u-3-4">
<div id="api-options">
Show:
<label for="api-show-inherited">
<input type="checkbox" id="api-show-inherited" checked>
Inherited
</label>
<label for="api-show-protected">
<input type="checkbox" id="api-show-protected">
Protected
</label>
<label for="api-show-private">
<input type="checkbox" id="api-show-private">
Private
</label>
<label for="api-show-deprecated">
<input type="checkbox" id="api-show-deprecated">
Deprecated
</label>
</div>
<div class="apidocs">
<div id="docs-main">
<div class="content">
<h1>Utils Class</h1>
<div class="box meta">
<div class="foundat">
Defined in: <a href="../files/src_utils_Utils.js.html#l5"><code>src/utils/Utils.js:5</code></a>
</div>
</div>
<div class="box intro">
<p>Misc utility functions</p>
</div>
<div class="constructor">
<h2>Constructor</h2>
<div id="method_Utils" class="method item">
<h3 class="name"><code>Utils</code></h3>
<span class="paren">()</span>
<div class="meta">
<p>
Defined in
<a href="../files/src_utils_Utils.js.html#l5"><code>src/utils/Utils.js:5</code></a>
</p>
</div>
<div class="description">
</div>
</div>
</div>
<div id="classdocs" class="tabview">
<ul class="api-class-tabs">
<li class="api-class-tab index"><a href="#index">Index</a></li>
<li class="api-class-tab methods"><a href="#methods">Methods</a></li>
<li class="api-class-tab properties"><a href="#properties">Properties</a></li>
</ul>
<div>
<div id="index" class="api-class-tabpanel index">
<h2 class="off-left">Item Index</h2>
<div class="index-section methods">
<h3>Methods</h3>
<ul class="index-list methods">
<li class="index-item method">
<a href="#method_appendArray">appendArray</a>
<span class="flag static">static</span>
</li>
<li class="index-item method">
<a href="#method_defaults">defaults</a>
<span class="flag static">static</span>
</li>
<li class="index-item method">
<a href="#method_extend">extend</a>
<span class="flag static">static</span>
</li>
<li class="index-item method">
<a href="#method_splice">splice</a>
<span class="flag static">static</span>
</li>
</ul>
</div>
<div class="index-section properties">
<h3>Properties</h3>
<ul class="index-list properties">
<li class="index-item property">
<a href="#property_ARRAY_TYPE">ARRAY_TYPE</a>
<span class="flag static">static</span>
</li>
</ul>
</div>
</div>
<div id="methods" class="api-class-tabpanel">
<h2 class="off-left">Methods</h2>
<div id="method_appendArray" class="method item">
<h3 class="name"><code>appendArray</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>a</code>
</li>
<li class="arg">
<code>b</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag static">static</span>
<div class="meta">
<p>
Defined in
<a href="../files/src_utils_Utils.js.html#l12"><code>src/utils/Utils.js:12</code></a>
</p>
</div>
<div class="description">
<p>Append the values in array b to the array a. See <a href="http://stackoverflow.com/questions/1374126/how-to-append-an-array-to-an-existing-javascript-array/1374131#1374131">this</a> for an explanation.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">a</code>
<span class="type">Array</span>
<div class="param-description">
</div>
</li>
<li class="param">
<code class="param-name">b</code>
<span class="type">Array</span>
<div class="param-description">
</div>
</li>
</ul>
</div>
</div>
<div id="method_defaults" class="method item">
<h3 class="name"><code>defaults</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>options</code>
</li>
<li class="arg">
<code>defaults</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">Object</span>
</span>
<span class="flag static">static</span>
<div class="meta">
<p>
Defined in
<a href="../files/src_utils_Utils.js.html#l77"><code>src/utils/Utils.js:77</code></a>
</p>
</div>
<div class="description">
<p>Extend an options object with default values.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">options</code>
<span class="type">Object</span>
<div class="param-description">
<p>The options object. May be falsy: in this case, a new object is created and returned.</p>
</div>
</li>
<li class="param">
<code class="param-name">defaults</code>
<span class="type">Object</span>
<div class="param-description">
<p>An object containing default values.</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Object</span>:
<p>The modified options object.</p>
</div>
</div>
</div>
<div id="method_extend" class="method item">
<h3 class="name"><code>extend</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>a</code>
</li>
<li class="arg">
<code>b</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag static">static</span>
<div class="meta">
<p>
Defined in
<a href="../files/src_utils_Utils.js.html#l64"><code>src/utils/Utils.js:64</code></a>
</p>
</div>
<div class="description">
<p>Extend an object with the properties of another</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">a</code>
<span class="type">Object</span>
<div class="param-description">
</div>
</li>
<li class="param">
<code class="param-name">b</code>
<span class="type">Object</span>
<div class="param-description">
</div>
</li>
</ul>
</div>
</div>
<div id="method_splice" class="method item">
<h3 class="name"><code>splice</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>array</code>
</li>
<li class="arg">
<code>index</code>
</li>
<li class="arg">
<code>howmany</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag static">static</span>
<div class="meta">
<p>
Defined in
<a href="../files/src_utils_Utils.js.html#l29"><code>src/utils/Utils.js:29</code></a>
</p>
</div>
<div class="description">
<p>Garbage free Array.splice(). Does not allocate a new array.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">array</code>
<span class="type">Array</span>
<div class="param-description">
</div>
</li>
<li class="param">
<code class="param-name">index</code>
<span class="type">Number</span>
<div class="param-description">
</div>
</li>
<li class="param">
<code class="param-name">howmany</code>
<span class="type">Number</span>
<div class="param-description">
</div>
</li>
</ul>
</div>
</div>
</div>
<div id="properties" class="api-class-tabpanel">
<h2 class="off-left">Properties</h2>
<div id="property_ARRAY_TYPE" class="property item">
<h3 class="name"><code>ARRAY_TYPE</code></h3>
<span class="type">Function</span>
<span class="flag static">static</span>
<div class="meta">
<p>
Defined in
<a href="../files/src_utils_Utils.js.html#l45"><code>src/utils/Utils.js:45</code></a>
</p>
</div>
<div class="description">
<p>The array type to use for internal numeric computations throughout the library. Float32Array is used if it is available, but falls back on Array. If you want to set array type manually, inject it via the global variable P2_ARRAY_TYPE. See example below.</p>
</div>
<div class="example">
<h4>Example:</h4>
<div class="example-content">
<pre class="code prettyprint"><code><script>
<!-- Inject your preferred array type before loading p2.js -->
P2_ARRAY_TYPE = Array;
</script>
<script src="p2.js"></script>
</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../assets/vendor/prettify/prettify-min.js"></script>
<script>prettyPrint();</script>
<script src="../assets/js/yui-prettify.js"></script>
<script src="../assets/../api.js"></script>
<script src="../assets/js/api-filter.js"></script>
<script src="../assets/js/api-list.js"></script>
<script src="../assets/js/api-search.js"></script>
<script src="../assets/js/apidocs.js"></script>
</body>
</html>