home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Diversos / pup_idol.swf / scripts / Box2D / Common / Math / b2Math.as < prev    next >
Encoding:
Text File  |  2008-08-07  |  4.8 KB  |  152 lines

  1. package Box2D.Common.Math
  2. {
  3.    public class b2Math
  4.    {
  5.        
  6.       
  7.       public function b2Math()
  8.       {
  9.          super();
  10.       }
  11.       
  12.       public static function b2CrossVF(param1:b2Vec2, param2:Number) : b2Vec2
  13.       {
  14.          return new b2Vec2(param2 * param1.y,-param2 * param1.x);
  15.       }
  16.       
  17.       public static function AddVV(param1:b2Vec2, param2:b2Vec2) : b2Vec2
  18.       {
  19.          return new b2Vec2(param1.x + param2.x,param1.y + param2.y);
  20.       }
  21.       
  22.       public static function b2IsValid(param1:Number) : Boolean
  23.       {
  24.          return isFinite(param1);
  25.       }
  26.       
  27.       public static function b2Swap(param1:Array, param2:Array) : void
  28.       {
  29.          var _loc3_:* = param1[0];
  30.          param1[0] = param2[0];
  31.          param2[0] = _loc3_;
  32.       }
  33.       
  34.       public static function b2Abs(param1:Number) : Number
  35.       {
  36.          return param1 > 0 ? param1 : -param1;
  37.       }
  38.       
  39.       public static function b2AbsM(param1:b2Mat22) : b2Mat22
  40.       {
  41.          return new b2Mat22(0,b2AbsV(param1.col1),b2AbsV(param1.col2));
  42.       }
  43.       
  44.       public static function SubtractVV(param1:b2Vec2, param2:b2Vec2) : b2Vec2
  45.       {
  46.          return new b2Vec2(param1.x - param2.x,param1.y - param2.y);
  47.       }
  48.       
  49.       public static function b2CrossVV(param1:b2Vec2, param2:b2Vec2) : Number
  50.       {
  51.          return param1.x * param2.y - param1.y * param2.x;
  52.       }
  53.       
  54.       public static function b2Clamp(param1:Number, param2:Number, param3:Number) : Number
  55.       {
  56.          return b2Max(param2,b2Min(param1,param3));
  57.       }
  58.       
  59.       public static function b2AbsV(param1:b2Vec2) : b2Vec2
  60.       {
  61.          return new b2Vec2(b2Abs(param1.x),b2Abs(param1.y));
  62.       }
  63.       
  64.       public static function b2MinV(param1:b2Vec2, param2:b2Vec2) : b2Vec2
  65.       {
  66.          return new b2Vec2(b2Min(param1.x,param2.x),b2Min(param1.y,param2.y));
  67.       }
  68.       
  69.       public static function b2Dot(param1:b2Vec2, param2:b2Vec2) : Number
  70.       {
  71.          return param1.x * param2.x + param1.y * param2.y;
  72.       }
  73.       
  74.       public static function b2CrossFV(param1:Number, param2:b2Vec2) : b2Vec2
  75.       {
  76.          return new b2Vec2(-param1 * param2.y,param1 * param2.x);
  77.       }
  78.       
  79.       public static function AddMM(param1:b2Mat22, param2:b2Mat22) : b2Mat22
  80.       {
  81.          return new b2Mat22(0,AddVV(param1.col1,param2.col1),AddVV(param1.col2,param2.col2));
  82.       }
  83.       
  84.       public static function b2MulTMM(param1:b2Mat22, param2:b2Mat22) : b2Mat22
  85.       {
  86.          var _loc3_:b2Vec2 = new b2Vec2(b2Dot(param1.col1,param2.col1),b2Dot(param1.col2,param2.col1));
  87.          var _loc4_:b2Vec2 = new b2Vec2(b2Dot(param1.col1,param2.col2),b2Dot(param1.col2,param2.col2));
  88.          return new b2Mat22(0,_loc3_,_loc4_);
  89.       }
  90.       
  91.       public static function b2MaxV(param1:b2Vec2, param2:b2Vec2) : b2Vec2
  92.       {
  93.          return new b2Vec2(b2Max(param1.x,param2.x),b2Max(param1.y,param2.y));
  94.       }
  95.       
  96.       public static function b2IsPowerOfTwo(param1:uint) : Boolean
  97.       {
  98.          return param1 > 0 && (param1 & param1 - 1) == 0;
  99.       }
  100.       
  101.       public static function b2ClampV(param1:b2Vec2, param2:b2Vec2, param3:b2Vec2) : b2Vec2
  102.       {
  103.          return b2MaxV(param2,b2MinV(param1,param3));
  104.       }
  105.       
  106.       public static function MulFV(param1:Number, param2:b2Vec2) : b2Vec2
  107.       {
  108.          return new b2Vec2(param1 * param2.x,param1 * param2.y);
  109.       }
  110.       
  111.       public static function b2MulTMV(param1:b2Mat22, param2:b2Vec2) : b2Vec2
  112.       {
  113.          return new b2Vec2(b2Dot(param2,param1.col1),b2Dot(param2,param1.col2));
  114.       }
  115.       
  116.       public static function b2Min(param1:Number, param2:Number) : Number
  117.       {
  118.          return param1 < param2 ? param1 : param2;
  119.       }
  120.       
  121.       public static function b2Random() : Number
  122.       {
  123.          return Math.random() * 2 - 1;
  124.       }
  125.       
  126.       public static function b2MulMM(param1:b2Mat22, param2:b2Mat22) : b2Mat22
  127.       {
  128.          return new b2Mat22(0,b2MulMV(param1,param2.col1),b2MulMV(param1,param2.col2));
  129.       }
  130.       
  131.       public static function b2NextPowerOfTwo(param1:uint) : uint
  132.       {
  133.          param1 |= param1 >> 1 & 2147483647;
  134.          param1 |= param1 >> 2 & 1073741823;
  135.          param1 |= param1 >> 4 & 268435455;
  136.          param1 |= param1 >> 8 & 16777215;
  137.          param1 |= param1 >> 16 & 65535;
  138.          return param1 + 1;
  139.       }
  140.       
  141.       public static function b2Max(param1:Number, param2:Number) : Number
  142.       {
  143.          return param1 > param2 ? param1 : param2;
  144.       }
  145.       
  146.       public static function b2MulMV(param1:b2Mat22, param2:b2Vec2) : b2Vec2
  147.       {
  148.          return new b2Vec2(param1.col1.x * param2.x + param1.col2.x * param2.y,param1.col1.y * param2.x + param1.col2.y * param2.y);
  149.       }
  150.    }
  151. }
  152.