home *** CD-ROM | disk | FTP | other *** search
- package org.cove.ape
- {
- public class Composite extends AbstractCollection
- {
-
-
- private var delta:Vector;
-
- public function Composite()
- {
- super();
- delta = new Vector();
- }
-
- private function getRelativeAngle(param1:Vector, param2:Vector) : Number
- {
- delta.setTo(param2.x - param1.x,param2.y - param1.y);
- return Math.atan2(delta.y,delta.x);
- }
-
- public function rotateByRadian(param1:Number, param2:Vector) : void
- {
- var _loc3_:AbstractParticle = null;
- var _loc4_:Array = null;
- var _loc5_:int = 0;
- var _loc6_:int = 0;
- var _loc7_:Number = NaN;
- var _loc8_:Number = NaN;
- _loc5_ = int((_loc4_ = particles).length);
- _loc6_ = 0;
- while(_loc6_ < _loc5_)
- {
- _loc3_ = _loc4_[_loc6_];
- _loc7_ = _loc3_.center.distance(param2);
- _loc8_ = getRelativeAngle(param2,_loc3_.center) + param1;
- _loc3_.px = Math.cos(_loc8_) * _loc7_ + param2.x;
- _loc3_.py = Math.sin(_loc8_) * _loc7_ + param2.y;
- _loc6_++;
- }
- }
-
- public function rotateByAngle(param1:Number, param2:Vector) : void
- {
- var _loc3_:Number = NaN;
- _loc3_ = param1 * MathUtil.PI_OVER_ONE_EIGHTY;
- rotateByRadian(_loc3_,param2);
- }
-
- public function set fixed(param1:Boolean) : void
- {
- var _loc2_:int = 0;
- _loc2_ = 0;
- while(_loc2_ < particles.length)
- {
- particles[_loc2_].fixed = param1;
- _loc2_++;
- }
- }
-
- public function get fixed() : Boolean
- {
- var _loc1_:int = 0;
- _loc1_ = 0;
- while(_loc1_ < particles.length)
- {
- if(!particles[_loc1_].fixed)
- {
- return false;
- }
- _loc1_++;
- }
- return true;
- }
- }
- }
-