home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Acao / germ_roundup.swf / scripts / __Packages / smashing / Point3D.as < prev    next >
Encoding:
Text File  |  2007-03-20  |  5.3 KB  |  222 lines

  1. class smashing.Point3D
  2. {
  3.    var x;
  4.    var y;
  5.    var z;
  6.    function Point3D(x, y, z)
  7.    {
  8.       var _loc1_ = this;
  9.       _loc1_.x = Number(x);
  10.       _loc1_.y = Number(y);
  11.       _loc1_.z = Number(z);
  12.    }
  13.    function get length()
  14.    {
  15.       var _loc1_ = this;
  16.       return Math.sqrt(_loc1_.x * _loc1_.x + _loc1_.y * _loc1_.y + _loc1_.z * _loc1_.z);
  17.    }
  18.    function set length(newLength)
  19.    {
  20.       var _loc1_ = this;
  21.       if(_loc1_.length != 0)
  22.       {
  23.          var _loc2_ = newLength / _loc1_.length;
  24.          _loc1_.x *= _loc2_;
  25.          _loc1_.y *= _loc2_;
  26.          _loc1_.z *= _loc2_;
  27.       }
  28.    }
  29.    function get lengthSqu()
  30.    {
  31.       var _loc1_ = this;
  32.       return _loc1_.x * _loc1_.x + _loc1_.y * _loc1_.y + _loc1_.z * _loc1_.z;
  33.    }
  34.    function copy()
  35.    {
  36.       var _loc1_ = this;
  37.       return new smashing.Point3D(_loc1_.x,_loc1_.y,_loc1_.z);
  38.    }
  39.    function addPoint(p)
  40.    {
  41.       var _loc1_ = p;
  42.       var _loc2_ = this;
  43.       return new smashing.Point3D(_loc1_.x + _loc2_.x,_loc1_.y + _loc2_.y,_loc1_.z + _loc2_.z);
  44.    }
  45.    function subtractPoint(p)
  46.    {
  47.       var _loc1_ = p;
  48.       var _loc2_ = this;
  49.       return new smashing.Point3D(_loc2_.x - _loc1_.x,_loc2_.y - _loc1_.y,_loc2_.z - _loc1_.z);
  50.    }
  51.    function addScalar(n)
  52.    {
  53.       var _loc1_ = n;
  54.       var _loc2_ = this;
  55.       return new smashing.Point3D(_loc2_.x + _loc1_,_loc2_.y + _loc1_,_loc2_.z + _loc1_);
  56.    }
  57.    function subtractScalar(n)
  58.    {
  59.       var _loc1_ = n;
  60.       var _loc2_ = this;
  61.       return new smashing.Point3D(_loc2_.x - _loc1_,_loc2_.y - _loc1_,_loc2_.z - _loc1_);
  62.    }
  63.    function addPointMe(p)
  64.    {
  65.       var _loc1_ = p;
  66.       var _loc2_ = this;
  67.       _loc2_.x += _loc1_.x;
  68.       _loc2_.y += _loc1_.y;
  69.       _loc2_.z += _loc1_.z;
  70.    }
  71.    function subtractPointMe(p)
  72.    {
  73.       var _loc1_ = p;
  74.       var _loc2_ = this;
  75.       _loc2_.x -= _loc1_.x;
  76.       _loc2_.y -= _loc1_.y;
  77.       _loc2_.z -= _loc1_.z;
  78.    }
  79.    function addScalarMe(n)
  80.    {
  81.       var _loc1_ = n;
  82.       var _loc2_ = this;
  83.       _loc2_.x += _loc1_;
  84.       _loc2_.y += _loc1_;
  85.       _loc2_.z += _loc1_;
  86.    }
  87.    function subtractScalarMe(n)
  88.    {
  89.       var _loc1_ = n;
  90.       var _loc2_ = this;
  91.       _loc2_.x -= _loc1_;
  92.       _loc2_.y -= _loc1_;
  93.       _loc2_.z -= _loc1_;
  94.    }
  95.    function multiply(n)
  96.    {
  97.       var _loc2_ = n;
  98.       var _loc1_ = this.copy();
  99.       _loc1_.x *= _loc2_;
  100.       _loc1_.y *= _loc2_;
  101.       _loc1_.z *= _loc2_;
  102.       return _loc1_;
  103.    }
  104.    function divide(n)
  105.    {
  106.       var _loc2_ = n;
  107.       var _loc1_ = this.copy();
  108.       if(_loc2_ == 0)
  109.       {
  110.          _loc1_.x = 0;
  111.          _loc1_.y = 0;
  112.          _loc1_.z = 0;
  113.       }
  114.       _loc1_.x /= _loc2_;
  115.       _loc1_.y /= _loc2_;
  116.       _loc1_.z /= _loc2_;
  117.       return _loc1_;
  118.    }
  119.    function multiplyMe(n)
  120.    {
  121.       var _loc1_ = n;
  122.       var _loc2_ = this;
  123.       _loc2_.x *= _loc1_;
  124.       _loc2_.y *= _loc1_;
  125.       _loc2_.z *= _loc1_;
  126.    }
  127.    function divideMe(n)
  128.    {
  129.       var _loc1_ = n;
  130.       var _loc2_ = this;
  131.       _loc2_.x /= _loc1_;
  132.       _loc2_.y /= _loc1_;
  133.       _loc2_.z /= _loc1_;
  134.    }
  135.    function dot(p)
  136.    {
  137.       var _loc1_ = p;
  138.       var _loc2_ = this;
  139.       return _loc2_.x * _loc1_.x + _loc2_.y * _loc1_.y + _loc2_.z * _loc1_.z;
  140.    }
  141.    function cross(p)
  142.    {
  143.       var _loc1_ = p;
  144.       var _loc2_ = this;
  145.       return new smashing.Point3D(_loc2_.y * _loc1_.z - _loc2_.z * _loc1_.y,_loc2_.z * _loc1_.x - _loc2_.x * _loc1_.z,_loc2_.x * _loc1_.y - _loc2_.y * _loc1_.x);
  146.    }
  147.    function pseudoCross()
  148.    {
  149.       var _loc1_ = this;
  150.       return new smashing.Point3D(_loc1_.y,- _loc1_.x,_loc1_.z);
  151.    }
  152.    function normalize()
  153.    {
  154.       var _loc1_ = this;
  155.       if(!_loc1_.x && !_loc1_.y && !_loc1_.z)
  156.       {
  157.       }
  158.       var _loc2_ = _loc1_.length;
  159.       return new smashing.Point3D(_loc1_.x / _loc2_,_loc1_.y / _loc2_,_loc1_.z / _loc2_);
  160.    }
  161.    function normalizeMe()
  162.    {
  163.       var _loc1_ = this;
  164.       if(!(!_loc1_.x && !_loc1_.y))
  165.       {
  166.          var _loc2_ = _loc1_.length;
  167.          _loc1_.x /= _loc2_;
  168.          _loc1_.y /= _loc2_;
  169.          _loc1_.z /= _loc2_;
  170.       }
  171.    }
  172.    function reverse()
  173.    {
  174.       var _loc1_ = this;
  175.       var _loc2_ = new smashing.Point3D(_loc1_.x * -1,_loc1_.y * -1,_loc1_.z * -1);
  176.       return _loc2_;
  177.    }
  178.    function reverseMe()
  179.    {
  180.       var _loc1_ = this;
  181.       _loc1_.x *= -1;
  182.       _loc1_.y *= -1;
  183.       _loc1_.z *= -1;
  184.    }
  185.    function findCosine(vOther)
  186.    {
  187.       var _loc2_ = this.dot(vOther);
  188.       var _loc1_ = this.length * vOther.length;
  189.       var _loc3_ = _loc2_ / _loc1_;
  190.       return _loc3_;
  191.    }
  192.    function equals(p)
  193.    {
  194.       var _loc1_ = p;
  195.       var _loc2_ = this;
  196.       if(_loc2_.x == _loc1_.x && _loc2_.y == _loc1_.y && _loc2_.z == _loc1_.z)
  197.       {
  198.          return true;
  199.       }
  200.       return false;
  201.    }
  202.    function zero()
  203.    {
  204.       var _loc1_ = this;
  205.       _loc1_.x = 0;
  206.       _loc1_.y = 0;
  207.       _loc1_.z = 0;
  208.    }
  209.    function distSqu(p)
  210.    {
  211.       var _loc3_ = p.x - this.x;
  212.       var _loc2_ = p.y - this.y;
  213.       var _loc1_ = p.z - this.z;
  214.       return _loc3_ * _loc3_ + _loc2_ * _loc2_ + _loc1_ * _loc1_;
  215.    }
  216.    function toString()
  217.    {
  218.       var _loc1_ = this;
  219.       return "Point3D (" + _loc1_.x + "," + _loc1_.y + "," + _loc1_.z + ")";
  220.    }
  221. }
  222.