UNPKG

p2s

Version:

A JavaScript 2D physics engine.

1,278 lines (888 loc) 135 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Body - 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>Body Class</h1> <div class="box meta"> <div class="extends"> Extends <a href="../classes/EventEmitter.html" class="crosslink">EventEmitter</a> </div> <div class="foundat"> Defined in: <a href="../files/src_objects_Body.js.html#l11"><code>src&#x2F;objects&#x2F;Body.js:11</code></a> </div> </div> <div class="box intro"> <p>A rigid body. Has got a center of mass, position, velocity and a number of shapes that are used for collisions.</p> </div> <div class="constructor"> <h2>Constructor</h2> <div id="method_Body" class="method item"> <h3 class="name"><code>Body</code></h3> <div class="args"> <span class="paren">(</span><ul class="args-list inline commas"> <li class="arg"> <code class="optional">[options]</code> </li> </ul><span class="paren">)</span> </div> <div class="meta"> <p> Defined in <a href="../files/src_objects_Body.js.html#l11"><code>src&#x2F;objects&#x2F;Body.js:11</code></a> </p> </div> <div class="description"> </div> <div class="params"> <h4>Parameters:</h4> <ul class="params-list"> <li class="param"> <code class="param-name optional">[options]</code> <span class="type">Object</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> <ul class="params-list"> <li class="param"> <code class="param-name optional">[force]</code> <span class="type">Array</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[position]</code> <span class="type">Array</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[velocity]</code> <span class="type">Array</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[allowSleep]</code> <span class="type">Boolean</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[collisionResponse]</code> <span class="type">Boolean</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[angle=0]</code> <span class="type">Number</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[angularForce=0]</code> <span class="type">Number</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[angularVelocity=0]</code> <span class="type">Number</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[ccdIterations=10]</code> <span class="type">Number</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[ccdSpeedThreshold=-1]</code> <span class="type">Number</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[fixedRotation=false]</code> <span class="type">Number</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[gravityScale]</code> <span class="type">Number</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[id]</code> <span class="type">Number</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[mass=0]</code> <span class="type">Number</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> <p>A number &gt;= 0. If zero, the .type will be set to Body.STATIC.</p> </div> </li> <li class="param"> <code class="param-name optional">[sleepSpeedLimit]</code> <span class="type">Number</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[sleepTimeLimit]</code> <span class="type">Number</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> </div> </li> </ul> </li> </ul> </div> <div class="example"> <h4>Example:</h4> <div class="example-content"> <pre class="code prettyprint"><code>// Create a typical dynamic body var body = new Body({ mass: 1, position: [0, 0], angle: 0, velocity: [0, 0], angularVelocity: 0 }); // Add a circular shape to the body body.addShape(new Circle({ radius: 1 })); // Add the body to the world world.addBody(body); </code></pre> </div> </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> <li class="api-class-tab events"><a href="#events">Events</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 extends"> <li class="index-item method"> <a href="#method_addShape">addShape</a> </li> <li class="index-item method"> <a href="#method_adjustCenterOfMass">adjustCenterOfMass</a> </li> <li class="index-item method"> <a href="#method_applyDamping">applyDamping</a> </li> <li class="index-item method"> <a href="#method_applyForce">applyForce</a> </li> <li class="index-item method"> <a href="#method_applyForceLocal">applyForceLocal</a> </li> <li class="index-item method"> <a href="#method_applyImpulse">applyImpulse</a> </li> <li class="index-item method"> <a href="#method_applyImpulseLocal">applyImpulseLocal</a> </li> <li class="index-item method inherited"> <a href="#method_emit">emit</a> </li> <li class="index-item method"> <a href="#method_fromPolygon">fromPolygon</a> </li> <li class="index-item method"> <a href="#method_getAABB">getAABB</a> </li> <li class="index-item method"> <a href="#method_getArea">getArea</a> </li> <li class="index-item method"> <a href="#method_getVelocityAtPoint">getVelocityAtPoint</a> </li> <li class="index-item method inherited"> <a href="#method_has">has</a> </li> <li class="index-item method"> <a href="#method_integrate">integrate</a> </li> <li class="index-item method inherited"> <a href="#method_off">off</a> </li> <li class="index-item method inherited"> <a href="#method_on">on</a> </li> <li class="index-item method"> <a href="#method_overlaps">overlaps</a> </li> <li class="index-item method"> <a href="#method_removeShape">removeShape</a> </li> <li class="index-item method"> <a href="#method_setDensity">setDensity</a> </li> <li class="index-item method"> <a href="#method_setZeroForce">setZeroForce</a> </li> <li class="index-item method"> <a href="#method_sleep">sleep</a> </li> <li class="index-item method"> <a href="#method_sleepTick">sleepTick</a> </li> <li class="index-item method"> <a href="#method_toLocalFrame">toLocalFrame</a> </li> <li class="index-item method"> <a href="#method_toWorldFrame">toWorldFrame</a> </li> <li class="index-item method"> <a href="#method_updateAABB">updateAABB</a> </li> <li class="index-item method"> <a href="#method_updateBoundingRadius">updateBoundingRadius</a> </li> <li class="index-item method"> <a href="#method_updateMassProperties">updateMassProperties</a> </li> <li class="index-item method private"> <a href="#method_updateSolveMassProperties">updateSolveMassProperties</a> </li> <li class="index-item method"> <a href="#method_vectorToLocalFrame">vectorToLocalFrame</a> </li> <li class="index-item method"> <a href="#method_vectorToWorldFrame">vectorToWorldFrame</a> </li> <li class="index-item method"> <a href="#method_wakeUp">wakeUp</a> </li> </ul> </div> <div class="index-section properties"> <h3>Properties</h3> <ul class="index-list properties extends"> <li class="index-item property"> <a href="#property_aabb">aabb</a> </li> <li class="index-item property"> <a href="#property_aabbNeedsUpdate">aabbNeedsUpdate</a> </li> <li class="index-item property"> <a href="#property_allowSleep">allowSleep</a> </li> <li class="index-item property"> <a href="#property_angle">angle</a> </li> <li class="index-item property"> <a href="#property_angularDamping">angularDamping</a> </li> <li class="index-item property"> <a href="#property_angularForce">angularForce</a> </li> <li class="index-item property"> <a href="#property_angularVelocity">angularVelocity</a> </li> <li class="index-item property"> <a href="#property_AWAKE">AWAKE</a> <span class="flag static">static</span> </li> <li class="index-item property"> <a href="#property_boundingRadius">boundingRadius</a> </li> <li class="index-item property"> <a href="#property_ccdIterations">ccdIterations</a> </li> <li class="index-item property"> <a href="#property_ccdSpeedThreshold">ccdSpeedThreshold</a> </li> <li class="index-item property"> <a href="#property_collisionResponse">collisionResponse</a> </li> <li class="index-item property"> <a href="#property_damping">damping</a> </li> <li class="index-item property"> <a href="#property_DYNAMIC">DYNAMIC</a> <span class="flag static">static</span> </li> <li class="index-item property"> <a href="#property_fixedRotation">fixedRotation</a> </li> <li class="index-item property"> <a href="#property_fixedX">fixedX</a> </li> <li class="index-item property"> <a href="#property_fixedY">fixedY</a> </li> <li class="index-item property"> <a href="#property_force">force</a> </li> <li class="index-item property"> <a href="#property_gravityScale">gravityScale</a> </li> <li class="index-item property"> <a href="#property_id">id</a> </li> <li class="index-item property"> <a href="#property_idleTime">idleTime</a> </li> <li class="index-item property"> <a href="#property_inertia">inertia</a> </li> <li class="index-item property"> <a href="#property_interpolatedAngle">interpolatedAngle</a> </li> <li class="index-item property"> <a href="#property_interpolatedPosition">interpolatedPosition</a> </li> <li class="index-item property"> <a href="#property_invInertia">invInertia</a> </li> <li class="index-item property"> <a href="#property_invMass">invMass</a> </li> <li class="index-item property"> <a href="#property_KINEMATIC">KINEMATIC</a> <span class="flag static">static</span> </li> <li class="index-item property"> <a href="#property_mass">mass</a> </li> <li class="index-item property private"> <a href="#property_massMultiplier">massMultiplier</a> </li> <li class="index-item property"> <a href="#property_position">position</a> </li> <li class="index-item property"> <a href="#property_previousAngle">previousAngle</a> </li> <li class="index-item property"> <a href="#property_previousPosition">previousPosition</a> </li> <li class="index-item property"> <a href="#property_shapes">shapes</a> </li> <li class="index-item property"> <a href="#property_SLEEPING">SLEEPING</a> <span class="flag static">static</span> </li> <li class="index-item property"> <a href="#property_sleepSpeedLimit">sleepSpeedLimit</a> </li> <li class="index-item property"> <a href="#property_sleepState">sleepState</a> </li> <li class="index-item property"> <a href="#property_sleepTimeLimit">sleepTimeLimit</a> </li> <li class="index-item property"> <a href="#property_SLEEPY">SLEEPY</a> <span class="flag static">static</span> </li> <li class="index-item property"> <a href="#property_STATIC">STATIC</a> <span class="flag static">static</span> </li> <li class="index-item property private"> <a href="#property_timeLastSleepy">timeLastSleepy</a> </li> <li class="index-item property"> <a href="#property_type">type</a> </li> <li class="index-item property"> <a href="#property_velocity">velocity</a> </li> <li class="index-item property"> <a href="#property_vlambda">vlambda</a> </li> <li class="index-item property"> <a href="#property_wlambda">wlambda</a> </li> <li class="index-item property"> <a href="#property_world">world</a> </li> </ul> </div> <div class="index-section events"> <h3>Events</h3> <ul class="index-list events extends"> <li class="index-item event"> <a href="#event_sleep">sleep</a> </li> <li class="index-item event"> <a href="#event_sleepy">sleepy</a> </li> <li class="index-item event"> <a href="#event_wakeup">wakeup</a> </li> </ul> </div> </div> <div id="methods" class="api-class-tabpanel"> <h2 class="off-left">Methods</h2> <div id="method_addShape" class="method item"> <h3 class="name"><code>addShape</code></h3> <div class="args"> <span class="paren">(</span><ul class="args-list inline commas"> <li class="arg"> <code>shape</code> </li> <li class="arg"> <code class="optional">[offset]</code> </li> <li class="arg"> <code class="optional">[angle]</code> </li> </ul><span class="paren">)</span> </div> <div class="meta"> <p> Defined in <a href="../files/src_objects_Body.js.html#l529"><code>src&#x2F;objects&#x2F;Body.js:529</code></a> </p> </div> <div class="description"> <p>Add a shape to the body. You can pass a local transform when adding a shape, so that the shape gets an offset and angle relative to the body center of mass. Will automatically update the mass properties and bounding radius.</p> </div> <div class="params"> <h4>Parameters:</h4> <ul class="params-list"> <li class="param"> <code class="param-name">shape</code> <span class="type"><a href="../classes/Shape.html" class="crosslink">Shape</a></span> <div class="param-description"> </div> </li> <li class="param"> <code class="param-name optional">[offset]</code> <span class="type">Array</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> <p>Local body offset of the shape.</p> </div> </li> <li class="param"> <code class="param-name optional">[angle]</code> <span class="type">Number</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> <p>Local body angle.</p> </div> </li> </ul> </div> <div class="example"> <h4>Example:</h4> <div class="example-content"> <pre class="code prettyprint"><code>var body = new Body(), shape = new Circle({ radius: 1 }); // Add the shape to the body, positioned in the center body.addShape(shape); // Add another shape to the body, positioned 1 unit length from the body center of mass along the local x-axis. body.addShape(shape,[1,0]); // Add another shape to the body, positioned 1 unit length from the body center of mass along the local y-axis, and rotated 90 degrees CCW. body.addShape(shape,[0,1],Math.PI/2); </code></pre> </div> </div> </div> <div id="method_adjustCenterOfMass" class="method item"> <h3 class="name"><code>adjustCenterOfMass</code></h3> <span class="paren">()</span> <div class="meta"> <p> Defined in <a href="../files/src_objects_Body.js.html#l858"><code>src&#x2F;objects&#x2F;Body.js:858</code></a> </p> </div> <div class="description"> <p>Moves the shape offsets so their center of mass becomes the body center of mass.</p> </div> </div> <div id="method_applyDamping" class="method item"> <h3 class="name"><code>applyDamping</code></h3> <div class="args"> <span class="paren">(</span><ul class="args-list inline commas"> <li class="arg"> <code>dt</code> </li> </ul><span class="paren">)</span> </div> <div class="meta"> <p> Defined in <a href="../files/src_objects_Body.js.html#l919"><code>src&#x2F;objects&#x2F;Body.js:919</code></a> </p> </div> <div class="description"> <p>Apply damping, see <a href="http://code.google.com/p/bullet/issues/detail?id=74">this</a> for details.</p> </div> <div class="params"> <h4>Parameters:</h4> <ul class="params-list"> <li class="param"> <code class="param-name">dt</code> <span class="type">Number</span> <div class="param-description"> <p>Current time step</p> </div> </li> </ul> </div> </div> <div id="method_applyForce" class="method item"> <h3 class="name"><code>applyForce</code></h3> <div class="args"> <span class="paren">(</span><ul class="args-list inline commas"> <li class="arg"> <code>force</code> </li> <li class="arg"> <code class="optional">[relativePoint]</code> </li> </ul><span class="paren">)</span> </div> <div class="meta"> <p> Defined in <a href="../files/src_objects_Body.js.html#l646"><code>src&#x2F;objects&#x2F;Body.js:646</code></a> </p> </div> <div class="description"> <p>Apply force to a point relative to the center of mass of the body. This could for example be a point on the RigidBody surface. Applying force this way will add to Body.force and Body.angularForce. If relativePoint is zero, the force will be applied directly on the center of mass, and the torque produced will be zero.</p> </div> <div class="params"> <h4>Parameters:</h4> <ul class="params-list"> <li class="param"> <code class="param-name">force</code> <span class="type">Array</span> <div class="param-description"> <p>The force to add.</p> </div> </li> <li class="param"> <code class="param-name optional">[relativePoint]</code> <span class="type">Array</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> <p>A world point to apply the force on.</p> </div> </li> </ul> </div> </div> <div id="method_applyForceLocal" class="method item"> <h3 class="name"><code>applyForceLocal</code></h3> <div class="args"> <span class="paren">(</span><ul class="args-list inline commas"> <li class="arg"> <code>localForce</code> </li> <li class="arg"> <code class="optional">[localPoint]</code> </li> </ul><span class="paren">)</span> </div> <div class="meta"> <p> Defined in <a href="../files/src_objects_Body.js.html#l667"><code>src&#x2F;objects&#x2F;Body.js:667</code></a> </p> </div> <div class="description"> <p>Apply force to a body-local point.</p> </div> <div class="params"> <h4>Parameters:</h4> <ul class="params-list"> <li class="param"> <code class="param-name">localForce</code> <span class="type">Array</span> <div class="param-description"> <p>The force vector to add, oriented in local body space.</p> </div> </li> <li class="param"> <code class="param-name optional">[localPoint]</code> <span class="type">Array</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> <p>A point relative to the body in world space. If not given, it is set to zero and all of the impulse will be excerted on the center of mass.</p> </div> </li> </ul> </div> </div> <div id="method_applyImpulse" class="method item"> <h3 class="name"><code>applyImpulse</code></h3> <div class="args"> <span class="paren">(</span><ul class="args-list inline commas"> <li class="arg"> <code>impulse</code> </li> <li class="arg"> <code class="optional">[relativePoint]</code> </li> </ul><span class="paren">)</span> </div> <div class="meta"> <p> Defined in <a href="../files/src_objects_Body.js.html#l685"><code>src&#x2F;objects&#x2F;Body.js:685</code></a> </p> </div> <div class="description"> <p>Apply impulse to a point relative to the body. This could for example be a point on the Body surface. An impulse is a force added to a body during a short period of time (impulse = force * time). Impulses will be added to Body.velocity and Body.angularVelocity.</p> </div> <div class="params"> <h4>Parameters:</h4> <ul class="params-list"> <li class="param"> <code class="param-name">impulse</code> <span class="type">Array</span> <div class="param-description"> <p>The impulse vector to add, oriented in world space.</p> </div> </li> <li class="param"> <code class="param-name optional">[relativePoint]</code> <span class="type">Array</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> <p>A point relative to the body in world space. If not given, it is set to zero and all of the impulse will be excerted on the center of mass.</p> </div> </li> </ul> </div> </div> <div id="method_applyImpulseLocal" class="method item"> <h3 class="name"><code>applyImpulseLocal</code></h3> <div class="args"> <span class="paren">(</span><ul class="args-list inline commas"> <li class="arg"> <code>impulse</code> </li> <li class="arg"> <code class="optional">[relativePoint]</code> </li> </ul><span class="paren">)</span> </div> <div class="meta"> <p> Defined in <a href="../files/src_objects_Body.js.html#l715"><code>src&#x2F;objects&#x2F;Body.js:715</code></a> </p> </div> <div class="description"> <p>Apply impulse to a point relative to the body. This could for example be a point on the Body surface. An impulse is a force added to a body during a short period of time (impulse = force * time). Impulses will be added to Body.velocity and Body.angularVelocity.</p> </div> <div class="params"> <h4>Parameters:</h4> <ul class="params-list"> <li class="param"> <code class="param-name">impulse</code> <span class="type">Array</span> <div class="param-description"> <p>The impulse vector to add, oriented in world space.</p> </div> </li> <li class="param"> <code class="param-name optional">[relativePoint]</code> <span class="type">Array</span> <span class="flag optional" title="This parameter is optional.">optional</span> <div class="param-description"> <p>A point relative to the body in world space. If not given, it is set to zero and all of the impulse will be excerted on the center of mass.</p> </div> </li> </ul> </div> </div> <div id="method_emit" class="method item inherited"> <h3 class="name"><code>emit</code></h3> <div class="args"> <span class="paren">(</span><ul class="args-list inline commas"> <li class="arg"> <code>event</code> </li> </ul><span class="paren">)</span> </div> <span class="returns-inline"> <span class="type"><a href="../classes/EventEmitter.html" class="crosslink">EventEmitter</a></span> </span> <div class="meta"> <p>Inherited from <a href="../classes/EventEmitter.html#method_emit">EventEmitter</a>: <a href="../files/src_events_EventEmitter.js.html#l79"><code>src&#x2F;events&#x2F;EventEmitter.js:79</code></a> </p> </div> <div class="description"> <p>Emit an event.</p> </div> <div class="params"> <h4>Parameters:</h4> <ul class="params-list"> <li class="param"> <code class="param-name">event</code> <span class="type">Object</span> <div class="param-description"> </div> <ul class="params-list"> <li class="param"> <code class="param-name">type</code> <span class="type">String</span> <div class="param-description"> </div> </li> </ul> </li> </ul> </div> <div class="returns"