チェンジセット 3704

差分発生行の前後
無視リスト:
コミット日時:
2010/04/06 19:30:37 (3 年前)
コミッタ:
rokubou
ログメッセージ:

NyARObjectStackを継承しないように修正。この修正は暫定的なものであり、変更される可能性があります。

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/FLARToolKit/trunk/libs/NyARToolKitAS3/src/jp/nyatla/nyartoolkit/as3/core/labeling/NyARLabelInfoStack.as

    r3322 r3704  
    3131package jp.nyatla.nyartoolkit.as3.core.labeling  
    3232{ 
    33         import jp.nyatla.nyartoolkit.as3.core.types.stack.*; 
     33//      import jp.nyatla.nyartoolkit.as3.core.types.stack.*; 
     34        import jp.nyatla.as3utils.NyAS3Utils; 
     35        import jp.nyatla.nyartoolkit.as3.NyARException; 
    3436         
    35         public class NyARLabelInfoStack extends NyARObjectStack 
     37        public class NyARLabelInfoStack // extends NyARObjectStack 
    3638        { 
     39                protected var _items:Vector.<NyARLabelInfo>; 
     40                protected var _length:int; 
     41 
    3742                public function NyARLabelInfoStack(i_length:int) 
    3843                { 
    39                         super(i_length); 
     44                        //領域確保 
     45                        this._items = createArray(i_length); 
     46                        //使用中個数をリセット 
     47                        this._length = 0; 
     48                        return; 
    4049                } 
    41                 protected override function createArray(i_length:int):Vector.<*
     50                protected function createArray(i_length:int):Vector.<NyARLabelInfo
    4251                { 
    4352                        var ret:Vector.<NyARLabelInfo>= new Vector.<NyARLabelInfo>(i_length); 
     
    4554                                this._items[i] = new NyARLabelInfo(); 
    4655                        } 
    47                         return Vector.<*>(ret); 
     56                        return Vector.<NyARLabelInfo>(ret); 
    4857                }                
    4958 
     
    5867                        } 
    5968                        var h:int = len *13/10; 
    60                         var item:Vector.<*>=this._items; 
     69                        var item:Vector.<NyARLabelInfo>=this._items; 
    6170                        for(;;){ 
    6271                                var swaps:int = 0; 
     
    7887                        } 
    7988                } 
     89                 
     90                /** 
     91                 * 新しい領域を予約します。 
     92                 * @return 
     93                 * 失敗するとnull 
     94                 * @throws NyARException 
     95                 */ 
     96                public function prePush():* 
     97                { 
     98                        // 必要に応じてアロケート 
     99                        if (this._length >= this._items.length){ 
     100                                return null; 
     101                        } 
     102                        // 使用領域を+1して、予約した領域を返す。 
     103                        var ret:* = this._items[this._length]; 
     104                        this._length++; 
     105                        return ret; 
     106                } 
     107                /** 
     108                 * スタックを初期化します。 
     109                 * @param i_reserv_length 
     110                 * 使用済みにするサイズ 
     111                 * @return 
     112                 */ 
     113                public function init(i_reserv_length:int):void 
     114                { 
     115                        // 必要に応じてアロケート 
     116                        if (i_reserv_length >= this._items.length){ 
     117                                throw new NyARException(); 
     118                        } 
     119                        this._length=i_reserv_length; 
     120                }        
     121                 
     122                /**  
     123                 * 見かけ上の要素数を1減らして、そのオブジェクトを返します。 
     124                 * 返却したオブジェクトの内容は、次回のpushまで有効です。 
     125                 * @return 
     126                 */ 
     127                public function pop():* 
     128                { 
     129                        NyAS3Utils.assert(this._length>=1); 
     130                        this._length--; 
     131                        return this._items[this._length]; 
     132                } 
     133                /** 
     134                 * 見かけ上の要素数をi_count個減らします。 
     135                 * @param i_count 
     136                 * @return 
     137                 */ 
     138                public function pops(i_count:int):void 
     139                { 
     140                        NyAS3Utils.assert(this._length>=i_count); 
     141                        this._length-=i_count; 
     142                        return; 
     143                }        
     144                /** 
     145                 * 配列を返します。 
     146                 *  
     147                 * @return 
     148                 */ 
     149                public function getArray():Vector.<NyARLabelInfo> 
     150                { 
     151                        return this._items; 
     152                } 
     153                public function getItem(i_index:int):NyARLabelInfo 
     154                { 
     155                        return this._items[i_index]; 
     156                } 
     157                /** 
     158                 * 配列の見かけ上の要素数を返却します。 
     159                 * @return 
     160                 */ 
     161                public function getLength():int 
     162                { 
     163                        return this._length; 
     164                } 
     165                /** 
     166                 * 見かけ上の要素数をリセットします。 
     167                 */ 
     168                public function clear():void 
     169                { 
     170                        this._length = 0; 
     171                } 
    80172        } 
    81173} 
  • as3/FLARToolKit/trunk/libs/NyARToolKitAS3/src/jp/nyatla/nyartoolkit/as3/core/labeling/NyARLabelOverlapChecker.as

    r3394 r3704  
    3333        public class NyARLabelOverlapChecker 
    3434        { 
    35                 private var _labels:Vector.<*>; 
     35                private var _labels:Vector.<NyARLabelInfo>; 
    3636                private var _length:int; 
    3737                /* 
     
    4141                        this._labels = createArray(i_max_label); 
    4242                } 
    43                 protected function createArray(i_length:int):Vector.<*
     43                protected function createArray(i_length:int):Vector.<NyARLabelInfo
    4444                { 
    4545                        return new Vector.<NyARLabelInfo>(i_length); 
     
    6666                { 
    6767                        // 重なり処理かな? 
    68                         var label_pt:Vector.<*>  = this._labels; 
     68                        var label_pt:Vector.<NyARLabelInfo>  = this._labels; 
    6969                        var px1:int = (int)(i_label.pos_x); 
    7070                        var py1:int = (int)(i_label.pos_y); 
  • as3/FLARToolKit/trunk/libs/NyARToolKitAS3/src/jp/nyatla/nyartoolkit/as3/core/labeling/rlelabeling/NyARRleLabelFragmentInfoStack.as

    r3322 r3704  
    3939                        return; 
    4040                } 
    41                 protected override function createArray(i_length:int):Vector.<*
     41                protected override function createArray(i_length:int):Vector.<NyARLabelInfo
    4242                { 
    4343                        var ret:Vector.<NyARRleLabelFragmentInfo>= new Vector.<NyARRleLabelFragmentInfo>(i_length); 
     
    4545                                ret[i] = new NyARRleLabelFragmentInfo(); 
    4646                        } 
    47                         return Vector.<*>(ret); 
     47                        return Vector.<NyARLabelInfo>(ret); 
    4848                }        
    4949        }