Fork me on GitHub

API Documentation

  1 /*
  2 GLGE WebGL Graphics Engine
  3 Copyright (c) 2010, Paul Brunt
  4 All rights reserved.
  5 
  6 Redistribution and use in source and binary forms, with or without
  7 modification, are permitted provided that the following conditions are met:
  8     * Redistributions of source code must retain the above copyright
  9       notice, this list of conditions and the following disclaimer.
 10     * Redistributions in binary form must reproduce the above copyright
 11       notice, this list of conditions and the following disclaimer in the
 12       documentation and/or other materials provided with the distribution.
 13     * Neither the name of GLGE nor the
 14       names of its contributors may be used to endorse or promote products
 15       derived from this software without specific prior written permission.
 16 
 17 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 18 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 19 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 20 DISCLAIMED. IN NO EVENT SHALL PAUL BRUNT BE LIABLE FOR ANY
 21 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 22 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 23 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 24 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 25 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 26 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 27 */
 28 
 29 /**
 30  * @fileOverview
 31  * @name glge_physicssphere.js
 32  * @author me@paulbrunt.co.uk
 33  */
 34 
 35 (function(GLGE){
 36 
 37 /**
 38 * @class A wrapping class for jiglib spheres
 39 * @augments GLGE.PhysicsAbstract
 40 */
 41 GLGE.PhysicsSphere=function(uid){
 42 	this.jigLibObj=new jigLib.JSphere(this,this.radius);
 43 	this.jigLibObj.GLGE=this;
 44 	this.jigLibObj.addEventListener(jigLib.JCollisionEvent.COLLISION, function(event){this.GLGE.fireEvent("collision",{obj:event.collisionBody.GLGE,impulse:event.collisionImpulse})});
 45 	GLGE.PhysicsAbstract.call(this,uid);
 46 }
 47 GLGE.augment(GLGE.PhysicsAbstract,GLGE.PhysicsSphere);
 48 
 49 GLGE.PhysicsSphere.prototype.radius=1;
 50 
 51 GLGE.PhysicsSphere.prototype.className="PhysicsSphere";
 52 /**
 53 * Sets the radius of the sphere
 54 * @param {number} value The radius to set
 55 */
 56 GLGE.PhysicsSphere.prototype.setRadius=function(value){
 57 	this.physicsRadius=+value;
 58 	this.jigLibObj.set_radius(+value);
 59 	return this;
 60 }
 61 
 62 /**
 63 * Gets the radius of the sphere
 64 * @returns {number} The radius to set
 65 */
 66 GLGE.PhysicsSphere.prototype.getRadius=function(value){
 67 	return this.jigLibObj.get_radius();
 68 }
 69 
 70 })(GLGE);