チェンジセット 3704
- コミット日時:
- 2010/04/06 19:30:37 (3 年前)
- ファイル:
-
- as3/FLARToolKit/trunk/libs/NyARToolKitAS3/src/jp/nyatla/nyartoolkit/as3/core/labeling/NyARLabelInfoStack.as (更新) (4 diffs)
- as3/FLARToolKit/trunk/libs/NyARToolKitAS3/src/jp/nyatla/nyartoolkit/as3/core/labeling/NyARLabelOverlapChecker.as (更新) (3 diffs)
- as3/FLARToolKit/trunk/libs/NyARToolKitAS3/src/jp/nyatla/nyartoolkit/as3/core/labeling/rlelabeling/NyARRleLabelFragmentInfoStack.as (更新) (2 diffs)
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/FLARToolKit/trunk/libs/NyARToolKitAS3/src/jp/nyatla/nyartoolkit/as3/core/labeling/NyARLabelInfoStack.as
r3322 r3704 31 31 package jp.nyatla.nyartoolkit.as3.core.labeling 32 32 { 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; 34 36 35 public class NyARLabelInfoStack extends NyARObjectStack37 public class NyARLabelInfoStack // extends NyARObjectStack 36 38 { 39 protected var _items:Vector.<NyARLabelInfo>; 40 protected var _length:int; 41 37 42 public function NyARLabelInfoStack(i_length:int) 38 43 { 39 super(i_length); 44 //領域確保 45 this._items = createArray(i_length); 46 //使用中個数をリセット 47 this._length = 0; 48 return; 40 49 } 41 protected override function createArray(i_length:int):Vector.<*>50 protected function createArray(i_length:int):Vector.<NyARLabelInfo> 42 51 { 43 52 var ret:Vector.<NyARLabelInfo>= new Vector.<NyARLabelInfo>(i_length); … … 45 54 this._items[i] = new NyARLabelInfo(); 46 55 } 47 return Vector.< *>(ret);56 return Vector.<NyARLabelInfo>(ret); 48 57 } 49 58 … … 58 67 } 59 68 var h:int = len *13/10; 60 var item:Vector.< *>=this._items;69 var item:Vector.<NyARLabelInfo>=this._items; 61 70 for(;;){ 62 71 var swaps:int = 0; … … 78 87 } 79 88 } 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 } 80 172 } 81 173 } as3/FLARToolKit/trunk/libs/NyARToolKitAS3/src/jp/nyatla/nyartoolkit/as3/core/labeling/NyARLabelOverlapChecker.as
r3394 r3704 33 33 public class NyARLabelOverlapChecker 34 34 { 35 private var _labels:Vector.< *>;35 private var _labels:Vector.<NyARLabelInfo>; 36 36 private var _length:int; 37 37 /* … … 41 41 this._labels = createArray(i_max_label); 42 42 } 43 protected function createArray(i_length:int):Vector.< *>43 protected function createArray(i_length:int):Vector.<NyARLabelInfo> 44 44 { 45 45 return new Vector.<NyARLabelInfo>(i_length); … … 66 66 { 67 67 // 重なり処理かな? 68 var label_pt:Vector.< *> = this._labels;68 var label_pt:Vector.<NyARLabelInfo> = this._labels; 69 69 var px1:int = (int)(i_label.pos_x); 70 70 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 39 39 return; 40 40 } 41 protected override function createArray(i_length:int):Vector.< *>41 protected override function createArray(i_length:int):Vector.<NyARLabelInfo> 42 42 { 43 43 var ret:Vector.<NyARRleLabelFragmentInfo>= new Vector.<NyARRleLabelFragmentInfo>(i_length); … … 45 45 ret[i] = new NyARRleLabelFragmentInfo(); 46 46 } 47 return Vector.< *>(ret);47 return Vector.<NyARLabelInfo>(ret); 48 48 } 49 49 }

