예제 #1
0
        /**
         * この関数は、i_labelのラベルのクリップ領域が上辺に接している点の、x座標を返します。
         * NyARToolkitでは、ラベルの輪郭をトレースするときに、その始点を探索するために使います。
         * @param i_label
         * 探索するラベル
         * @return
         * ラベルの上辺クリップとの接点となる、x位置
         */
        public int getTopClipTangentX(NyARLabelingLabel i_label)
        {
            int pix;
            int i_label_id = i_label.id;

            int[] index_table = this._index_table;
            int[] limage      = this._buf;
            int   limage_ptr  = i_label.clip_t * this._size.w;
            int   clip1       = i_label.clip_r;

            // p1=ShortPointer.wrap(limage,j*xsize+clip.get());//p1 =&(limage[j*xsize+clip[0]]);
            for (int i = i_label.clip_l; i <= clip1; i++)
            {// for( i = clip[0]; i <=clip[1]; i++, p1++ ) {
                pix = limage[limage_ptr + i];
                if (pix > 0 && index_table[pix - 1] == i_label_id)
                {
                    return(i);
                }
            }
            //あれ?見つからないよ?
            throw new NyARException();
        }
예제 #2
0
 /**
  * この関数は、i_labelのラベルのクリップ領域が上辺に接している点の、x座標を返します。
  * NyARToolkitでは、ラベルの輪郭をトレースするときに、その始点を探索するために使います。
  * @param i_label
  * 探索するラベル
  * @return
  * ラベルの上辺クリップとの接点となる、x位置
  */
 public int getTopClipTangentX(NyARLabelingLabel i_label)
 {
     int pix;
     int i_label_id = i_label.id;
     int[] index_table = this._index_table;
     int[] limage = this._buf;
     int limage_ptr = i_label.clip_t * this._size.w;
     int clip1 = i_label.clip_r;
     // p1=ShortPointer.wrap(limage,j*xsize+clip.get());//p1 =&(limage[j*xsize+clip[0]]);
     for (int i = i_label.clip_l; i <= clip1; i++)
     {// for( i = clip[0]; i <=clip[1]; i++, p1++ ) {
         pix = limage[limage_ptr + i];
         if (pix > 0 && index_table[pix - 1] == i_label_id)
         {
             return i;
         }
     }
     //あれ?見つからないよ?
     throw new NyARException();
 }