OSDN Git Service

[backup]NyARToolkit
[nyartoolkit-and/nyartoolkit-and.git] / trunk / src / jp / nyatla / nyartoolkit / core / labeling / rlelabeling / NyARLabeling_Rle.java
index 1a8eb7f..00f00cf 100644 (file)
@@ -26,9 +26,9 @@ package jp.nyatla.nyartoolkit.core.labeling.rlelabeling;
 \r
 import jp.nyatla.nyartoolkit.NyARException;\r
 import jp.nyatla.nyartoolkit.core.raster.*;\r
-import jp.nyatla.nyartoolkit.core.types.stack.NyObjectStack;\r
+import jp.nyatla.nyartoolkit.core.types.stack.NyARObjectStack;\r
 \r
-class RleInfoStack extends NyObjectStack<RleInfoStack.RleInfo>\r
+class RleInfoStack extends NyARObjectStack<RleInfoStack.RleInfo>\r
 {\r
        public class RleInfo\r
        {\r
@@ -202,8 +202,9 @@ public class NyARLabeling_Rle
         * @return\r
         * @throws NyARException\r
         */\r
-       public int labeling(NyARBinRaster i_bin_raster, int i_top, int i_bottom,RleLabelFragmentInfoStack o_stack) throws NyARException\r
+       public int labeling(NyARBinRaster i_bin_raster, int i_top, int i_bottom,NyARRleLabelFragmentInfoStack o_stack) throws NyARException\r
        {\r
+               assert(i_bin_raster.isEqualBufferType(NyARBufferType.INT1D_BIN_8));\r
                return this.imple_labeling(i_bin_raster,0,i_top,i_bottom,o_stack);\r
        }\r
        /**\r
@@ -217,11 +218,12 @@ public class NyARLabeling_Rle
         * @return\r
         * @throws NyARException\r
         */\r
-       public int labeling(NyARGrayscaleRaster i_gs_raster,int i_th, int i_top, int i_bottom,RleLabelFragmentInfoStack o_stack) throws NyARException\r
+       public int labeling(NyARGrayscaleRaster i_gs_raster,int i_th, int i_top, int i_bottom,NyARRleLabelFragmentInfoStack o_stack) throws NyARException\r
        {\r
+               assert(i_gs_raster.isEqualBufferType(NyARBufferType.INT1D_GRAY_8));\r
                return this.imple_labeling(i_gs_raster,i_th,i_top,i_bottom,o_stack);\r
        }\r
-       private int imple_labeling(INyARRaster i_raster,int i_th,int i_top, int i_bottom,RleLabelFragmentInfoStack o_stack) throws NyARException\r
+       private int imple_labeling(INyARRaster i_raster,int i_th,int i_top, int i_bottom,NyARRleLabelFragmentInfoStack o_stack) throws NyARException\r
        {\r
                // リセット処理\r
                final RleInfoStack rlestack=this._rlestack;\r
@@ -233,7 +235,7 @@ public class NyARLabeling_Rle
                int len_prev = 0;\r
                int len_current = 0;\r
                final int width = i_raster.getWidth();\r
-               int[] in_buf = (int[]) i_raster.getBufferReader().getBuffer();\r
+               int[] in_buf = (int[]) i_raster.getBuffer();\r
 \r
                int id_max = 0;\r
                int label_count=0;\r
@@ -375,7 +377,7 @@ public class NyARLabeling_Rle
                }\r
                //対象のラベルだけ転写\r
                o_stack.init(label_count);\r
-               RleLabelFragmentInfoStack.RleLabelFragmentInfo[] o_dest_array=o_stack.getArray();\r
+               NyARRleLabelFragmentInfoStack.RleLabelFragmentInfo[] o_dest_array=o_stack.getArray();\r
                final int max=this._max_area;\r
                final int min=this._min_area;\r
                int active_labels=0;\r
@@ -386,7 +388,7 @@ public class NyARLabeling_Rle
                        }\r
                        //\r
                        final RleInfoStack.RleInfo src_info=f_array[i];\r
-                       final RleLabelFragmentInfoStack.RleLabelFragmentInfo dest_info=o_dest_array[active_labels];\r
+                       final NyARRleLabelFragmentInfoStack.RleLabelFragmentInfo dest_info=o_dest_array[active_labels];\r
                        dest_info.area=area;\r
                        dest_info.clip_b=src_info.clip_b;\r
                        dest_info.clip_r=src_info.clip_r;\r