home *** CD-ROM | disk | FTP | other *** search
- class org.cove.flade.primitives.RimParticle
- {
- var curr;
- var prev;
- var vs;
- var speed;
- var maxTorque;
- var wr;
- function RimParticle(r, mt)
- {
- this.curr = new org.cove.flade.util.Vector(r,0);
- this.prev = new org.cove.flade.util.Vector(0,0);
- this.vs = 0;
- this.speed = 0;
- this.maxTorque = mt;
- this.wr = r;
- }
- function verlet(sysObj)
- {
- this.speed = Math.max(- this.maxTorque,Math.min(this.maxTorque,this.speed + this.vs));
- var _loc3_ = - this.curr.y;
- var _loc2_ = this.curr.x;
- var _loc4_ = Math.sqrt(_loc3_ * _loc3_ + _loc2_ * _loc2_);
- _loc3_ /= _loc4_;
- _loc2_ /= _loc4_;
- this.curr.x += this.speed * _loc3_;
- this.curr.y += this.speed * _loc2_;
- var _loc10_ = this.prev.x;
- var _loc9_ = this.prev.y;
- var _loc0_ = null;
- var _loc8_ = this.prev.x = this.curr.x;
- var _loc0_ = null;
- var _loc7_ = this.prev.y = this.curr.y;
- this.curr.x += sysObj.coeffDamp * (_loc8_ - _loc10_);
- this.curr.y += sysObj.coeffDamp * (_loc7_ - _loc9_);
- var _loc6_ = Math.sqrt(this.curr.x * this.curr.x + this.curr.y * this.curr.y);
- var _loc5_ = (_loc6_ - this.wr) / _loc6_;
- this.curr.x -= this.curr.x * _loc5_;
- this.curr.y -= this.curr.y * _loc5_;
- }
- function GetRadius()
- {
- return this.wr;
- }
- function SetRadius(r)
- {
- this.wr = r;
- }
- }
-